2

私のWebアプリケーションから呼び出している間、私が得ているWCF応答は次のとおりです:

<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
  <s:Header />
  <s:Body>
   <getSOAPDataResponse xmlns="http://localhost/WebServices">
   <getSOAPDataResult> INFORMATION </getSOAPDataResult>
   </getSOAPDataResponse>
  </s:Body>
</s:Envelope>

Web アプリケーションは非常に古く、Response のプレフィックスとして "Soap" を検索するハード コードがいくつかあります。以前は Web サービスが使用されていましたが、現在は Web サービスが WCF サービスに移行されています。

WCF からの予期される応答は、次のようなものです。

<Soap:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
 <Soap:Header />
 <Soap:Body>
  <getSOAPDataResponse xmlns="http://localhost/WebServices">
  <getSOAPDataResult> INFORMATION </getSOAPDataResult>
  </getSOAPDataResponse>
 </Soap:Body>
</Soap:Envelope>

したがって、WCF 応答プレフィックス「S」を「Soap」に変更する必要があります。どのようにそれを行うことができます。どんな助けでも大歓迎です。

前もって感謝します。

4

1 に答える 1

0

このブログ投稿では、正確な問題に対処しています。基本的に、カスタム メッセージ エンコーダーを作成する必要があります。WsHttpBindingただし、メッセージ セキュリティを使用している場合、投稿のアプローチは機能しないことに注意してください。を使用している場合BasicHttpBindingは、投稿の最後のコメントを参照してください (基本バインディングは SOAP 1.1 を使用し、WS バインディングは SOAP 1.2 を使用するため、正しいテキストを置き換えていることを確認する必要があります)。

于 2012-06-13T13:11:54.707 に答える