1
我有一個WCF客戶端&服務,其中服務(託管在控制檯應用程序內)使用標準WSDualHttpBinding
和WSDualHttpSecurityMode.None
回撥給客戶端。在本地機器上託管時,這一切都很好,但只要將服務移動到本地計算機以外的其他計算機上(但位於同一網絡上),客戶端就無法再連接到該服務。WCF在同一網絡中的遠程計算機上的回調
MEX工作正常,我可以掌握WSDL和所有。捕捉與小提琴手出站流量後,這裏就是我的了:
POST /chinchillin HTTP/1.1
Content-Type: application/soap+xml; charset=utf-8
Host: 192.168.0.98:8080
Content-Length: 916
Expect: 100-continue
Connection: Keep-Alive
<s:Envelope xmlns:s="http://www.w3.org/2003/05/soap-envelope" xmlns:a="http://www.w3.org/2005/08/addressing">
<s:Header>
<a:Action s:mustUnderstand="1">http://schemas.xmlsoap.org/ws/2005/02/rm/CreateSequence</a:Action>
<a:MessageID>urn:uuid:aa317faa-f32e-4cbc-a6a3-5fdbc9f80fe6</a:MessageID>
<a:ReplyTo>
<a:Address>http://agogolev.ad.alponline.ru/Temporary_Listen_Addresses/f423a1ae-573a-4c14-9a64-c4ed26fc6366/3069625c-d37a-4de2-8f92-e078b51f01d5</a:Address>
</a:ReplyTo>
<a:To s:mustUnderstand="1">http://192.168.0.98:8080/chinchillin</a:To>
</s:Header>
<s:Body>
<CreateSequence xmlns="http://schemas.xmlsoap.org/ws/2005/02/rm">
<AcksTo>
<a:Address>http://agogolev.ad.alponline.ru/Temporary_Listen_Addresses/f423a1ae-573a-4c14-9a64-c4ed26fc6366/3069625c-d37a-4de2-8f92-e078b51f01d5</a:Address>
</AcksTo>
<Offer>
<Identifier>urn:uuid:7d198ab8-4fed-4f62-a76b-6e2ae2a13dda</Identifier>
</Offer>
</CreateSequence>
</s:Body>
</s:Envelope>
HTTP/1.1 202 Accepted
Content-Length: 0
Server: Microsoft-HTTPAPI/2.0
Date: Mon, 08 Feb 2010 08:41:48 GMT
我試圖在兩臺機器上關閉防火牆,註冊的URL ACL與netsh -c http add urlacl url=http://+:8080/chinchillin user=domain\user
。這些都沒有幫助。
如何在此場景中獲得回調?
您有可能在客戶端和服務之間有NAT嗎?您是否嘗試過使用NetTcpBinding進行雙工信息傳遞? – 2010-02-08 10:29:10
@Dmitry不,不需要NAT – 2010-02-08 10:42:37
您是否啓用了日誌記錄並查看了服務日誌? – kd7 2010-02-08 14:20:17