2012-04-30 69 views
0

我試圖用使用Java客戶端來訪問.NET Web服務.NET Web服務:訪問使用Java客戶端

  1. 的NetBeans 7.01
  2. JAXWS
  3. JDK6
  4. GlassFish服務器。

我能夠使用.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服務,但不會出現任何錯誤。我該如何解決這個問題?

+0

看到這個鏈接:http://www.opcfoundation.org/forum/viewtopic.php?p=12524。如果它沒有幫助,我建議你生成你的Java客戶端使用例如ANT jax-ws ws-import實用程序。我的猜測是netbeans沒有正確生成某些東西。 –

回答

0

在嘗試了不同風格的webservice客戶端生成器之後,我終於使用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上。 Regards