0

私は比較的小さな問題を抱えています。私は自分のアプリケーションとサードパーティのプログラムを開発し、インターフェースを取っています。両者間の通信は、SOAPWebサービスによって行われます。彼らは、データの送受信に使用するwsdlを提供してくれました。wsdl.exeツールを使用してサービスインターフェイスとクライアントを作成しましたが、生成中にエラーや警告は発生しません。

問題は、生成されたコード名前空間に起因します。インターフェイスで定義されたものを使用する代わりに、tempuri.orgのものを使用します。大したことではありません。名前空間をで定義できます。

[ServiceContract (Namespace = "theDesiredNamespace")]

問題は、から自分のWebサービスメソッドへのアクセスを提供したいということです。

http://theDesiredNamespace/myMethod

代わりに、私のサービスは次の場所でそれを提供します。

http://theDesiredNamespace/nameOfTheInterface/myMethod

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

これをどのように処理できるかについてのアドバイスはありますか?最も簡単な解決策は、実際に新しいwsdlバージョンをサードパーティに送信することです(実行する必要があります)が、実際には選択肢がありません。

この問題の回避策はありますか?

4

1 に答える 1

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