既存のSOAPWebサービスを使用する2番目のクライアントアプリケーションを開発しています。最新のApacheCXF2.3ツールを使用して既存のWSDLからJavaを生成します
wsdl2java -client -ant http://172.20.0.22/someletters/TradingServer.asmx?WSDL
取得します
WSDLToJavaエラー:java.lang.IllegalArgumentException:[{urn:someschema:TradingServer}GetTradeSummary]という名前の操作がこのサービスにすでに存在します
これにはロジックがあります。WSDLファイルを見ると、2つの同様の操作GetTradeSummaryが表示されますが、soapActionが異なります。
<wsdl:operation name="GetTradeSummary">
<soap:operation soapAction="urn:someschema/GetTradeSummary" style="document" />
<wsdl:input>
<soap:body use="literal" />
</wsdl:input>
<wsdl:output>
<soap:body use="literal" />
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="GetTradeSummary">
<soap:operation soapAction="urn:someschema/GetTradeSummary_Open" style="document" />
<wsdl:input name="GetTradeSummary_Open">
<soap:body use="literal" />
</wsdl:input>
<wsdl:output name="GetTradeSummary_Open">
<soap:body use="literal" />
</wsdl:output>
</wsdl:operation>
a)ある基準では、それは本当に誤りであると見なされていますか?どれ?
b)これをバイパスして、残りのJavaスキャフォールディングを生成する方法はありますか?役に立たない-autoNameResolutionを除いて、 CXF WSDLtoJavaツールのWebページにはそのような言及はありません。