0

Fiddlerを使用してSOAPリクエストをWebサービスに投稿しています。コンソールアプリクライアント(サービス参照プロキシを使用)を使用しているときに、サービスからのリクエストをキャプチャしました。サービス参照クライアントを介した要求は正常に機能します。ただし、フィドラーで同じリクエストデータを使用すると、400の不正なリクエストエラーが発生します。fiddlerで使用しているリクエストデータは以下のとおりです。どんなガイダンスも素晴らしいでしょう!

    <s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
  <s:Header>
    <To s:mustUnderstand="1" xmlns="http://schemas.microsoft.com/ws/2005/05/addressing/none">http://localhost:51909/Service1.svc</To>
    <Action s:mustUnderstand="1" xmlns="http://schemas.microsoft.com/ws/2005/05/addressing/none">http://tempuri.org/IService1/Test</Action>
  </s:Header>
  <s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    <Test xmlns="http://tempuri.org/">
      <request>
        <Data xmlns="http://www.hr-xml.org/3">
          <Position>
            <DocID>1234556677</DocID>
          </Position>
        </Data>
      </request>
    </Test>
  </s:Body>
</s:Envelope>

fiddlerで次のコンテンツヘッダーを使用する

コンテンツの長さ:786コンテンツタイプ:text / xml SoapAction:http ://tempuri.org/Service1/Test

編集:正確なエラーを見つけましたが、それが何を意味するのかわかりません。エラーは、アドレス指定バージョン'AddressingNone(http://schemas.microsoft.com/ws/2005/05/addressing/none)'がWS-Addressingヘッダーの追加をサポートしていないことです。何か案は?

4

1 に答える 1

1

サービスのMessageVersionがWS-Addressingを受け入れるように設定されていないようです。Soapヘッダーの「To」と「Action」を削除するか、WS-Addressingを許可するようにMessageVersionを設定する必要があります。

http://msdn.microsoft.com/en-us/library/system.servicemodel.channels.messageversion.aspx

これで問題が解決しない場合は、サービス構成を投稿してください。

于 2011-01-10T23:23:15.620 に答える