質問

Silverlight対応のWCFサービスを備えたWebサイトがあります。サービスは正常に機能し、問題なくブラウザでWSDLページを参照できます。

今、DLLでクライアントを作成しようとしています。ただし、DLLで呼び出されているクライアント全体をプログラムで作成する必要があります。これは、何らかの理由で(設計上)独自の構成ファイルからServiceModelセクションを読み取らないためです。

ここに私のコードがあります:

Dim endp As EndpointAddress = New EndpointAddress("http://www.mydomain.com/licensing/lic.svc")
Dim bind As WSHttpBinding = New WSHttpBinding()
Dim svc = New lnt.licClient(bind, endp)
Dim rsp = svc.CheckIt(key)

しかし、svc.CheckItメソッドを呼び出すと、次のエラーが表示されます。

Content Type application/soap+xml; charset=utf-8 was not supported by service http://www.mydomain.com/licensing/lic.svc. 
The client and service bindings may be mismatched.
{"The remote server returned an error: (415) Cannot process the message because the content type 'application/soap+xml; charset=utf-8' was not the expected type 'application/soap+msbin1'.."}

クライアントが適切に「一致」するように適切に作成するにはどうすればよいですか?
よろしくお願いします!!!

役に立ちましたか?

解決

ああ---それを見つけた。 Webサイトの web.config ServiceModel セクションが customBinding に設定されました。クライアントが送信しているものと一致するように変更し、今では美しく動作します。

他のヒント

この同じ問題に遭遇しました。より具体的には、私の修正は、使用していたバインディングのタイプを更新することでした。 basicHttpBindings の代わりに wsHttpBindings を使用していました。 wsHttpBindings はSOAP 1.2を使用し、 basicHttpBindings はSOAP 1.1を使用し、必要なSOAP 1.1

を使用していたため、これによりエラーが発生していました。

同じエラーが発生しました。サービスはコンパイルされていましたが、クライアントも同様です。クライアントアプリケーションのサービス参照は、参照を正常に更新していました。もう一度参照を削除して追加しようとしましたが、役に立ちませんでした。問題は、Webサービスの削除されたインターフェースにありました。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top