Протокол управления мобильным устройством предприятия показывает нижнее мыло xml в HTTP POST Request. Как я могу определить свой веб-сервис для заголовков мыла, чтобы включить в запрос и ответ Action, MessageID, ReplyTo и To. Я попытался определить MessageHeader в MessageCOntract, но это приводит к созданию пользовательских префиксов пространства имен. Я не мог найти для этого лучшие ссылки для документации. Как установить эти заголовки на стороне клиента и веб-службы?Как добавить MessageID в заголовки мыла запроса и ответа WCF?
<?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», я могу протестировать и получить правильное soap xml в приложении Client Test Test, предоставляемом MSFT. Но у меня есть проблемы с доступом к веб-сервису, размещенному в IIS, из моего приложения. Я получаю ошибку 400, поскольку сервер не найден. –
это, вероятно, другая проблема. Я предлагаю вам открыть новый вопрос, чтобы он получил правильное внимание. Попробуйте получить доступ к WSDL-файлу в браузере, чтобы узнать, работает ли это по крайней мере. Если нет, может быть проблема iis, попробуйте загрузить dummy asp.net pp, чтобы узнать, работает ли она. –
Спасибо, я могу просмотреть файл WSDL из IIS. Я буду проверять это и задать вопрос, если мне нужна помощь. –