- - PR -
AxisでSOAP Attachmentの方法
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2003-07-13 21:23
はい、typeMappingは設定しています。
---WSDDファイル(deploy.wsdd)----------------------- <?xml version='1.0' encoding='utf-8'?> <deployment xmlns="http://xml.apache.org/axis/wsdd/" xmlns:java="http://xml.apache.org/axis/wsdd/providers/java" xmlns:ns1="urn:SimpleAttachmentsServices" > <service name="SimpleAttachmentsServices" provider="java:RPC" > <parameter name="className" value="SimpleAttachmentsServices"/> <parameter name="allowedMethods" value="hello"/> <typeMapping languageSpecificType="java:javax.activation.DataHandler" qname="ns1:DataHandler" deserializer="org.apache.axis.encoding.ser.JAFDataHandlerDeserializerFactory" serializer="org.apache.axis.encoding.ser.JAFDataHandlerSerializerFactory" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" /> </service> </deployment> |
|
投稿日時: 2003-07-13 22:28
WSDDにおける以下のurn:を削ってみて下さい。
xmlns:ns1="urn:SimpleAttachmentsServices" |
|
投稿日時: 2003-07-15 18:41
kanさん、できました!ありがとうございます。
しかし、まだ疑問があります。 クライアントプログラムを作るにあたって call.addParameter("msg", XMLType.XSD_STRING, ParameterMode.IN); call.addParameter("attachments", XMLType.SOAP_ARRAY,ParameterMode.IN); の"msg"や"attachments"というのはサーバー側の引数で指定されているものだと思うのですが、 サービスのソースプログラムを直接見れないユーザーがどのようにしてこの情報を得れるのですか? |
|
投稿日時: 2003-07-15 22:59
"msg"や"attachments"というのはWSDLに記述されることになっています。
例えば、samples\stock\GetQuote.javaに記述される以下の部分は call.addParameter( "symbol", XMLType.XSD_STRING, ParameterMode.IN ); samples\stock\GetQuote.wsdlの以下の部分に対応します。 <message name="GetQuoteRequest"> <part name="symbol" type="xsd:string"/> </message> |
|
投稿日時: 2003-07-18 11:27
次から次に質問して申しわけないのですが、
サービス側で受け取ってファイルを保存する場合のパスってどうしたらよいのでしょうか? transformer.transform(new StreamSource(attachments[0].getName()),new StreamResult(new java.io.FileOutputStream("result.html"))); DataHandler dhSource = new DataHandler(new FileDataSource("result.html")); return dhSource; こうするとresult.htmlはC:\WINDOWS\スタート メニュー\プログラム\Apache Tomcat 4.1に保存 されてしまいます。その上そのresult.htmlをnew FileDataSource("result.html")の 部分で見にいく時にエラーが出ます。 ほんとはFileOutputStreamで保存する際に保存場所をwebapps/axis/WEB-INF/classes/にしたいのですが、どう指定したらよいのですか? |
|
投稿日時: 2003-07-20 04:34
パスは単純にフルパスか相対パスで指定したらよいと思うのですが、うまくいきませんか?
|
|
投稿日時: 2003-07-22 00:31
今更かもしれませんが、
以下からAxisでSOAP with Attachmentsを実装する方法について書かれたPDFをダウンロードできます。 http://www.mail-archive.com/axis-user@xml.apache.org/msg08732.html |