使用WSDL从Java调用.net Web服务

时间:2010-08-10 07:27:19

标签: java .net webservice-client

我正在尝试使用Java中的wsdl来调用.net中的webservice。 我正在尝试使用eclipse Galileo SR2中的Apache Axis 2创建客户端存根。 与Netbean 6.9相同的例外。

我在webservice中重载了“AddOrgService”方法。 看起来它正在造成问题。

可能是什么解决方案?

但我得到以下异常:

IWAB0399E Error in generating Java from WSDL:  java.lang.IllegalArgumentException: Duplicate 

operation with name=AddOrgService, found in portType 

'{http://ensim.com/unifyws/Exchange2K7WS}ExchangeManagerSoap'.
    java.lang.IllegalArgumentException: Duplicate operation with name=AddOrgService, found 

in portType '{http://ensim.com/unifyws/Exchange2K7WS}ExchangeManagerSoap'.
    at com.ibm.wsdl.PortTypeImpl.getOperation(Unknown Source)
    at com.ibm.wsdl.xml.WSDLReaderImpl.parseBindingOperation(Unknown Source)
    at com.ibm.wsdl.xml.WSDLReaderImpl.parseBinding(Unknown Source)
    at com.ibm.wsdl.xml.WSDLReaderImpl.parseDefinitions(Unknown Source)
    at com.ibm.wsdl.xml.WSDLReaderImpl.readWSDL(Unknown Source)
    at com.ibm.wsdl.xml.WSDLReaderImpl.readWSDL(Unknown Source)
    at com.ibm.wsdl.xml.WSDLReaderImpl.readWSDL(Unknown Source)
    at org.apache.axis.wsdl.symbolTable.SymbolTable.populate(SymbolTable.java:516)
    at org.apache.axis.wsdl.symbolTable.SymbolTable.populate(SymbolTable.java:495)
    at org.apache.axis.wsdl.gen.Parser$WSDLRunnable.run(Parser.java:361)
    at java.lang.Thread.run(Unknown Source)

1 个答案:

答案 0 :(得分:1)

我不认为SOAP允许多个具有相同名称的操作(这可能是.NET webservice中重载方法的结果)。要么为方法赋予不同的名称,要么使用属性使.NET在SOAP端创建不同的操作名称而不更改方法名称本身。