2

エンタープライズ モバイル デバイス管理プロトコルは、HTTP POST 要求で以下の SOAP xml を示しています。要求と応答にAction 、 MessageID、 ReplyTo 、および Toを含めるように SOAP ヘッダーに Web サービスを定義するにはどうすればよいですか。MessageContract で MessageHeader を定義しようとしましたが、これによりカスタムの名前空間プレフィックスが作成されます。これに関するより良いドキュメント リンクが見つかりませんでした。クライアント側と Web サービス側でこれらのヘッダーを設定するにはどうすればよいですか?

 <?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>
4

2 に答える 2

2

これらのヘッダーがリクエストに含まれ、サーバーによって受け入れられるように、カスタム バインディングを使用します。

  <binding name="NewBinding0">
    <textMessageEncoding messageVersion="Soap12WSAddressing10" />
    <httpTransport />
  </binding>

一般に、これらのヘッダーを応答に含める理由はありません。これは ws-addressing では必須ではありません。必要に応じて、メッセージ インスペクターを使用してそれらをメッセージにプッシュします。

于 2013-06-23T15:46:41.327 に答える
0

これは、少なくともリクエストに対しては、まさにそれを行うことを目的としています:

OperationContext.Current.RequestContext.RequestMessage.Headers.MessageId

于 2015-01-21T10:24:39.160 に答える