企業移動設備管理協議在HTTP POST請求中顯示下面的soap xml。如何將我的Web服務定義爲肥皂標題以在請求和響應中包含Action,MessageID,ReplyTo和To。我已經嘗試在MessageCOntract中定義MessageHeader,但這會產生自定義名稱空間前綴。我無法找到更好的文檔鏈接。如何在客戶端和Web服務端設置這些頭文件?如何在WCF請求和響應的SOAP標題中添加MessageID?
<?xml version="1.0"?>
<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.microsoft.com/windows/management/2012/01/enrollment/IDiscoveryService/Discover
</a:Action>
<a:MessageID>
urn:uuid: 748132ec-a575-4329-b01b-6171a9cf8478
</a:MessageID>
<a:ReplyTo> <a:Address>http://www.w3.org/2005/08/addressing/anonymous</a:Address>
</a:ReplyTo>
<a:To s:mustUnderstand="1"> https://ENROLLTEST.CONTOSO.COM/EnrollmentServer/Discovery.svc </a:To>
</s:Header>
<s:Body>
<Discover
xmlns="http://schemas.microsoft.com/windows/management/2012/01/enrollment/">
<request xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
<RequestVersion>1.0</RequestVersion>
</request>
</Discover>
</s:Body>
</s:Envelope>
人Naveh,感謝您的答覆。將消息版本爲「Soap12WSAddressing10」的綁定更改爲自定義綁定後,我能夠在由MSFT提供的WCF Test Client應用程序中測試並獲取正確的soap xml。但是我從我的應用程序訪問IIS中託管的Web服務時遇到問題。找不到服務器時出現錯誤400。 –
這可能是一個不同的問題。我建議你開一個新的問題,以獲得正確的關注。嘗試在瀏覽器中訪問WSDL文件以查看是否至少有效。如果不是可能會有iis問題,請嘗試上傳一個虛擬asp.net pp以查看它是否有效。 –
謝謝,我可以從IIS瀏覽WSDL文件。我會重新檢查並提出問題,如果我需要任何幫助。 –