|
Last-modified: 2003-12-30 (火) 19:45:30 (7429d)
SOAPAction SOAPリクエストのHTTPヘッダにSOAPActionというフィールドがあるかないかが問題になることがあります。
上記の組み合わせのうち問題が発生するのは、Axis1.1とMicrosoft SOAP Toolkitです。 SOAP1.2SOAP1.1仕様はかなり曖昧で、異なる実装の相互接続性に問題が生じたため、SOAP1.2の仕様は厳格になっています。SOAP1.2の主な変更点は以下の通り。
Apache Axis1.1の実装Axis1.1はSOAP1.2準拠ではないということです。 Javaのクラスを適当に作って %java org.apache.axis.wsdl.Java2WSDL -T 1.2 -A OPERATION -y DOCUMENT -l http://localhost:8080/axis/services/Test test.Test としてwsdlファイルを作り、 %java org.apache.axis.wsdl.WSDL2Java -s -T 1.2 -t Test.wsdl としてサーバ側およびテストクライアントを作成し、 %java org.apache.axis.client.AdminClient -l http://localhost:8080/axis/servlet/AxisServlet deploy.wsdd としてDeployしたWebサービスのプロトコルログを見ても、 POST /axis/services/Test HTTP/1.0 Content-Type: text/xml; charset=utf-8 Accept: application/soap+xml, application/dime, multipart/related, text/* User-Agent: Axis/1.1 Host: localhost:8080 Cache-Control: no-cache Pragma: no-cache SOAPAction: "helloWorld" Content-Length: 303 <?xml version="1.0" encoding="UTF-8"?> <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <soapenv:Body> <helloWorld xmlns="http://test"/> </soapenv:Body> </soapenv:Envelope> HTTP/1.1 200 OK Content-Type: text/xml;charset=utf-8 Date: Sun, 04 Jan 2004 16:11:01 GMT Server: Apache-Coyote/1.1 Connection: close <?xml version="1.0" encoding="UTF-8"?> <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <soapenv:Body> <helloWorldReturn xmlns="http://test">こんにちは、世界</helloWorldReturn> </soapenv:Body> </soapenv:Envelope> という具合になります。パッと見ただけでも
また、
ということです。それとも、他に何か設定が?(^^;; |