2009-10-30 16 views
11

Silverlight対応のWCFサービスがあるWebサイトがあります。サービスは正常に動作し、問題なくブラウザーでWSDLページを参照できます。プログラムでWCFクライアントを作成する

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

は私のコードです:

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'.."} 

私は適切にこれらのように、私のクライアントを作成するにはどうすればよいの適切に "一致"されていますか?
事前に感謝!!!

+1

SivlerlightはWSHttpBindingをサポートしていません。 http://msdn.microsoft.com/en-us/library/cc896571(VS.95).aspx –

答えて

11

Ah ---見つかりました。ウェブサイトweb.configServiceModelのセクションはcustomBindingに設定されました。クライアントが送信していたものと一致するように変更しました。今はきれいに動作します。

+0

また、適切な 'customBindings'が使用されるように** Contract **がサーバーエンドポイントで一致することを確認してください。 – SliverNinja

3

この同じ問題が発生しました。より明確に私の修正は私が使用していたバインディングのタイプを更新することでした。私はbasicHttpBindingsの代わりにwsHttpBindingsを使用していました。これは、wsHttpBindingsがSOAP 1.2を使用し、basicHttpBindingsがSOAP 1.1を使用し、必要なSOAP 1.1を使用しているサービスであるため、障害を引き起こしていました。

0

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

関連する問題