我正在开发消耗现有SOAP Web服务的第二个客户端应用程序。 我使用最新版的Apache CXF 2.3工具Apache CXF WSDLToJava错误:操作已存在。如何绕过?
的WSDL2Java -client -ant http://172.20.0.22/someletters/TradingServer.asmx?WSDL
,并得到
WSDLToJava错误现有的WSDL生成Java:java.lang.IllegalArgumentException异常:有名称的操作[{瓮: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脚手架? 在CXF WSDL to Java tool web page中没有提到任何东西,除了-autoNameResolution不起作用。
http://www.apacheserver.net/the-Apache-CXF/ – 2010-10-29 08:49:13