SOAPでは、RESTの場合と同様に、クライアントがWebサービスを呼び出すのは、最終的にいくつかのXMLをエンドポイントURLにポストすることを前提にしていますか?この場合、Axisやwsimportのようなツールを使用してWSDLからクライアントスタブクラスを生成する必要がありますか?SOAPの場合、WSDLからクライアントスタブを生成する必要がありますか?
この手順をスキップして生のXMLを自分で作成し、そのSOAPエンベロープ全体のHTTP Postを実行すると何か問題がありますか?
ここは私がgroovyでやりたいことです。
def myXml = "<soapenv:Envelope>" +
" <soapenv:Body>" +
" <myservice:invoke>" +
" <username xsi:type=\"xsd:string\">$username</username>" +
" <apiKey xsi:type=\"xsd:string\">$apiKey</apiKey>" +
" </myservice:invoke>" +
" </soapenv:Body></soapenv:Envelope>"
HttpMethod method = new PostMethod('https://myservice.javaguy.com/Service.asmx')
method.setRequestEntity(new StringRequestEntity(myXml))
method.setRequestHeader('Content-type','text/xml')
def responseCode = httpClient.executeMethod(method)
はい、手動アプローチを使用しても問題ありませんが、冗長性とエラーの可能性のためには推奨されません。 – ACV