2011-12-14 76 views
1

我在使用SOAP在ASP.net中創建的Web服務中發佈了一個xml,它不返回Web服務返回的響應。它返回以下響應:無法在可可應用程序中使用ASP.Net Web服務

<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"> 
    <s:Body> 
     <s:Fault> 
      <faultcode xmlns:a="http://schemas.microsoft.com/ws/2005/05/addressing/none">a:ActionNotSupported</faultcode> 
      <faultstring xml:lang="en-US">The message with Action 'http://192.168.10.231/EBServiceHost/Service.svc' cannot be processed at the receiver, due to a ContractFilter mismatch at the EndpointDispatcher. This may be because of either a contract mismatch (mismatched Actions between sender and receiver) or a binding/security mismatch between the sender and the receiver. Check that sender and receiver have the same contract and the same binding (including security requirements, e.g. Message, Transport, None).</faultstring> 
     </s:Fault> 
    </s:Body> 
</s:Envelope> 

任何想法發生了什麼問題?

+0

您能提供有關該服務的更多信息嗎?它是你試圖打電話的WCF服務嗎? – Buzzer 2012-03-01 06:16:17

+0

@ Buzzer爲時已晚,無法回覆。我已經解決了這個問題。這是因爲我發送錯誤的方法。現在它工作正常。 – 2012-03-01 09:26:18

回答

0

發生這種情況是因爲我發送了錯誤的方法名稱。它通過發送正確的方法名稱和請求來解決。

0

我見過這個有幾個不同的原因。其中一個原因是因爲這是客戶端和服務器之間的一種有約束力的錯配。具體來說,我們有一個傳統的客戶端發送soap 1.1。消息發送到使用WSHttpBinding(默認爲soap 1.2)配置的wcf服務。一旦我們改變了服務器端的綁定,事情就能順利進行。此外,由於錯誤指示請確保您的安全模式和憑據配置正確。我想另外一次我們用svcutil生成了一個代理,默認情況下,它的名字是帶有完全限定名稱的soap操作。所以檢查wcf跟蹤,我發現我們期待的soapAction = Namespace.Class.MethodName。但是,客戶端(發送soap 1.1消息的java客戶端正在發送soapAction = MethodName。我們能夠通過簡單地替換生成的代理中的完全限定名來解決該問題。

如果您給我更多詳細信息,能夠找出你的問題和解決方案是什麼,所以我可以得到這個答案:)

希望幫助!

相關問題