使用Java客户端访问.NET Web服务

时间:2012-04-30 05:04:12

标签: java web-services wsdl

我正在尝试使用Java客户端访问.NET Web服务:

  1. netbeans 7.01
  2. JAXWS
  3. JDK6
  4. Glassfish服务器。
  5. 我可以使用.NET Web服务提供的WSDL文件创建存根。但我收到错误:

    Exception in thread "main" javax.xml.ws.soap.SOAPFaultException: MustUnderstand
    headers:[{http://www.w3.org/2005/08/addressing}Action] are not understood
    at com.sun.xml.internal.ws.protocol.soap.MUTube.createMUSOAPFaultException(MUTube.java:143)
    at com.sun.xml.internal.ws.protocol.soap.ClientMUTube.processResponse(ClientMUTube.java:85)
    at com.sun.xml.internal.ws.api.pipe.Fiber.__doRun(Fiber.java:597)
    at com.sun.xml.internal.ws.api.pipe.Fiber._doRun(Fiber.java:546)
    at com.sun.xml.internal.ws.api.pipe.Fiber.doRun(Fiber.java:531)
    at com.sun.xml.internal.ws.api.pipe.Fiber.runSync(Fiber.java:428)
    at com.sun.xml.internal.ws.client.Stub.process(Stub.java:211)
    at com.sun.xml.internal.ws.client.sei.SEIStub.doProcess(SEIStub.java:124)
    at com.sun.xml.internal.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:98)
    at com.sun.xml.internal.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:78)
    at com.sun.xml.internal.ws.client.sei.SEIStub.invoke(SEIStub.java:107)
    at $Proxy30.helloMperks(Unknown Source)
    at HTTPMain.main(HTTPMain.java:25)    
    

    当我通过Java客户端访问.NET Web服务时。

    但我可以使用.NET Web客户端访问.NET Web服务而不会出现任何错误。我该如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

在尝试了不同风格的Web服务客户端生成器后,我最终使用Apache Axis2作为Web服务类生成器,用于连接MS Dynamics 3和4版本(基于.Net框架)。生成器(基于命令行)生成一堆类,我将其复制到我的Netbeans 6.9项目的src文件夹中,从中编译,构建和部署它。从那以后我遇到的主要困难是:

  • 身份验证/授权部分,前者是ntlm,后者必须在MS Dynamics CRM中配置。
  • 将肥皂问题构建为MS Crm的链接实体方式。

有很多库可供使用(ear file = + 40Mb),但运行正常。我使用Jdk1.4在Weblogic 8上启动了该项目,现在它使用Jdk1.6在Weblogic 10上运行。 此致