2009-09-03 14 views
0

私は比較的小さな問題があります。 私は自分のアプリケーションと第三者のプログラムとの間のインターフェースを開発しています。両方の間の通信はSOAP Webサービスによって行われます。彼らは、私がデータを受信して​​送信するために使用するwsdlを私に提供しました。私は、wsdl.exeツールを使用してサービスインターフェイスとクライアントを作成しました。生成中にエラーや警告はありません。生成されたSOAPサービスインターフェイスが正しい名前空間にない

問題は生成されたコード名前空間から発生します。インターフェイスに定義されているものを使用する代わりに、tempuri.orgを使用します。 : [OK]を、大したことない、私はこの問題は、私が

http://theDesiredNamespace/myMethod 

から私のWebサービスメソッドへのアクセスを提供したいということで、代わりに私のサービスはでそれを提供

[ServiceContract (Namespace = "theDesiredNamespace")] 

で名前空間を定義することができます

http://theDesiredNamespace/nameOfTheInterface/myMethod 

ここで、nameOfTheInterfaceは、wsdlツールによって自動的に生成されるインターフェイスの名前です。

私はこれをどのように処理することができますか?私は最も簡単な解決策は、実際に私の新しいwsdlバージョンを第三者に送ることです(それはやるべきことです)が、私は本当に選択肢がありません。

この問題を回避する方法はありますか?

答えて

0
  1. WSDL.EXEは、レガシーASMX Webサービスのためではなく、(あなたが[ServiceContract]を使用するときに使用しているものである)WCFのためです。
  2. URLのように見えるかもしれませんが、XML名前空間はWeb上の場所とは関係ありません。 は、http://www.company.com/webservices/applicationName/serviceName/のような単一の名前空間を使用することをにしたいと考えています。あなたは好きなURLでサービスにアクセスできます。 XML名前空間とサービスのURLとの間には関係がありません。
+0

私はまだ何かが欠けていますが、あなたの答えをありがとう。 ASMX Webサービスの場合はwsdlに、Wcfの場合はwsdlに同意しますが、サーバーインターフェイスコードを生成するにはどうすればよいですか? 次に、xml名前空間と私がアクセスできるURLとの違いを理解していますが、私は、このURLを私が望むように設定している辛抱強い読み込みがあります。 [ServiceContract]のURLに使用されている名前空間を設定しましたが、それと私のメソッド名の間にインターフェース名が追加されました。 – srodriguez

+1

svcutil.exeコマンドを使用してください。 –

関連する問題