2011-07-11 21 views
2

私はwsHttpBindingをWCFサービスで使用しています。クライアントのwcfサービスとWeb参照のwsHttpBindingが機能しない

私はウェブリファレンスを追加しました。ウェブプロキシがあります(これはSoapHttpClientProtocolに基づいています)。

また、wsdl.exeとwcfサービス(http://zzzz/zz.svc?wsdl)によって生成された実際のwsdlを使用してプロキシを構築しようとしました。

クライアントがサービスを呼び出すと、私は次のエラーを取得する:

The SOAP action specified on the message, '', does not match the HTTP SOAP Action, 'http://tempuri.org/Service1/Operation1'.

はなぜクライアント(Webプロキシ)は、私のWCFサービスでは動作しませんか?

それらを機能させるにはどのような手順を取る必要がありますか?

私は.NET FW 3.5とASP.NET 2.0を実行しています。

+0

あなたのWSDL SOAPACTIONアドレス – sandyiit

+0

はここにチェック私のWSDLであることができます=アクション= "http://tempuri.org/IService1/Operation1" メッセージ:の ... Max

+0

定義は次のとおりです。 xmlns:wsa = "http:// schema smlsoap.org/ws/2004/08/addressing "xmlns:wsp =" http://schemas.xmlsoap.org/ws/2004/09/policy "xmlns:wsap =" http://schemas.xmlsoap。 org/ws/2004/08/addressing/policy " xmlns:xsd =" http://www.w3.org/2001/XMLSchema "xmlns:msc =" http://schemas.microsoft.com/ws/2005/12/wsdl/contract "xmlns:wsaw =" http://www.w3.org/2006/05/addressing/wsdl "xmlns:soap12 =" http://schemas.xmlsoap.org/wsdl/soap12/ " xmlns:wsa10 = "http://www.w3.org/2005/08/addressing" xmlns:wsx = "http://schemas.xmlsoap.org/ws/2004/09/mex" ポリシー: Max

答えて

6

wsHttpBindingに公開されているサービスは、古いASMXプロキシによるデフォルト設定では使用できません。 サービス参照/svcutilを使用するか、バインディングをbasicHttpBindingに変更する必要があります。 wsHttpBindingのデフォルト設定では、高度なセキュリティが使用されており、ASMXはそれをサポートしていません。

+0

迅速かつ一貫した答えをありがとう!同じエラーを犯した人を助けることを願っています... – Max

+0

basicHttpBindingへのバインディングを変更しましたが、今すぐ次のようになります: System.Net.WebException:リクエストがHTTPステータス415で失敗しました:コンテンツタイプ 'application/soap + xml; charset = utf-8; action = "http://tempuri.org/IService1/Operation1" 'は期待されたタイプではありませんでした' text/xml; charset = utf-8 'となります。 SOAPUI 4.0を使用してサービスをテストします。 WCFTestClientはサービスで正常に動作しますが、ASMXプロキシは機能しません。しかし、私はWeb(ASMX)のプロキシを使用する必要があります... – Max

+0

それはあなたがSOAP 1.2で要求を渡しているが、サービスはSOAP 1.1だけを受け入れると言います。 –

関連する問題