2009-07-30 15 views
1

私はWCFサービス(WCFService1と言う)を2台のリモートマシンに配備しています。同じサービスが2つの異なるマシンに配備されているため、共通のインターフェースと共通のメソッドが公開されています。URLを介してWCFサービスにアクセス

WCFService1は、Machine1とMachine2にデプロイされています。

は、クライアントマシンからWCFサービスを消費するために、私はクライアントアプリを作成しました:

私は(URL http://11.12.25.23/WCFService/Service1.svcの助けを借りて)WCFサービス(WCFService1)の設計時の参照を追加した
  1. これで、サービスで公開されているメソッドを呼び出すことができます。私は別のURL(のはhttp://12.12.24.24/WCFService/Service1.svcを言ってみましょう)と別のマシンでホストされている同じサービスで実行時にクライアントを更新する必要がある場合は今までの罰金...

今、私の質問は、私がどのように行うことができますですそれ?

現時点では私は、このやっている:

BasicHttpBinding binding = new BasicHttpBinding(); 
EndpointAddress address = new EndpointAddress("http://12.12.24.24/WCFService/Service1.svc"); 
MyServiceClient serviceClient = new MyServiceClient(binding, address); 

を私は、私はミスマッチエラーを結合しまったサービスで公開されたメソッドを呼び出すために使用するとき。

答えて

1

最初にクライアントを呼び出そうとしましたか?

例えば:あなたのサービスが設定されているどのように

MyWCFClient client = new MyWCFClient(); 
client.EndPoint.Address = new EndpointAddress("http://somewhere:888/here.svc"); 
0

Machine1のweb.configファイルを見ると、WSHttpBinding(またはBasicHttpBinding以外のもの)がバインドされていることがわかります。 BasicHttpBindingに変更した場合(実際に必要であると仮定して)、このエラーは取り除かれます。

+0

ありがとうございます!解決されました –

+0

答えとしてこれを受け入れることを自由に感じてください。 ;) – codekaizen

0

?あなたのサーバーサイドとクライアントサイドの設定を見せてください!

バインディングのミスマッチは、同じバインディングを使用していないか、バインディングのいくつかの重要なパラメータが異なることを意味します。設定が間違っている必要があります。

マーク

関連する問題