[英]How to create java client using AXis 1.4 for consuming WCF service using wsHttpBinding
[英]Consuming a WCF service in a Java Client using wsHttpBinding
我正在嘗試使Java客戶端與WCF wshttpbinding WebService進行通信。 但是到目前為止,我一直沒有成功。 呼叫掛起,或者得到以下消息:“ SOAPFaultException:無法處理該消息。 這很可能是因為操作“ http://tempuri.org/ISampleService/GetServiceName”不正確,或者是消息包含無效或過期的安全上下文令牌,或者是綁定之間不匹配。 如果服務由於不活動而中止通道,則安全上下文令牌將無效。 為了防止服務中止空閑會話,請過早增加服務端點綁定上的接收超時。”
我的Web服務只是默認的Visual Studio 2010生成的“ WCF服務庫模板”。
我的Java客戶端是在netBeans 7.0.1中生成的,而存根是使用新的其他-> Web服務-> Web服務客戶端生成的,並且我引用的是本地WSDL。
我嘗試添加WebServiceFeature wsAddressing = new AddressingFeature(true); 在生成的存根中,但它只會引發上面的異常。
我看到其他有類似問題的人; 但是,我看不到任何真正的解決方案。 任何建議將不勝感激。
聽起來您有肥皂格式化問題。 Java客戶端不會生成對WCF服務有意義的soap XML。 要了解服務期望使用什么肥皂XML,請使用WcfTestClient命令行應用程序調用服務。 該應用程序在WinForm應用程序中動態創建服務代理。 在應用程序中,調用服務操作,然后單擊XML選項卡(在右窗格底部的Formatted選項卡旁邊)。 您會在此標簽中看到請求和響應肥皂。
接下來,配置WCF服務以進行消息跟蹤 ,並從java客戶端調用它以查看正在發送的soap XML。 現在,您可以比較兩個肥皂消息,以查看有什么不同。 需要將Java客戶端配置為生成WCF期望的Soap格式。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.