2

私は .net で WCF サービスを開発しており、サービスを利用できる顧客に wsdl ファイルを提供したいと考えています。xsd import ステートメントを含む wsdl を正常に生成しました

<xsd:import schemaLocation="https://URL/Service-v1.svc?xsd=xsd1" namespace="Service-v1" /> 
<xsd:import schemaLocation="https://URL/PricingService-v1.svc?xsd=xsd3"  /> 

しかし、私が知りたいのは、wsdl を顧客に送信するだけで十分か、それとも XSD ファイルも送信する必要があるかということです..

class1.xsd、class2.xsd、class3.xsd などのクラスごとに個別の XSD ファイルを生成するにはどうすればよいですか

ここに私のプロジェクト構造があり ます DataModel Class1.cs Class2.cs Class3.cs Response.cs 次のコントラクトを持つコントラクト IService1 レスポンス GetQuote2(Class2 class2Request); レスポンス GetQuote2(Class2 class2Request);

サービス Service1 : Iservice1

  public Response GetQuote1(Class1 class1Request)
  {
          return response;
  }

  public Response GetQuote2(Class2 class2Request)
  {
          return response;
  }

  public Response GetQuote3(Class3 class3Request)
  {
          return response;
  }

インターネットで検索しましたが、WCF サービスを実装する相手を制御できないため、最適なオプションを決定できませんでした。

4

2 に答える 2

0

WCF で .NET を使用している場合、通常、サービスの説明ページには次のようなリンクが含まれます。

http://localhost:12345/Foo.svc?singleWsdl

ブラウザーからそのファイルを右クリックして保存すると、それは、コンシューマーがサービスに必要とするすべての情報を含む、包括的な、各呼び出しの WSDL + スキーマです。

于 2013-07-08T17:08:15.253 に答える
0

.net についてはわかりませんが、Web サービスを使用したり、サード パーティに提供したりした経験があります。

WSDL は基本的に、リモート サーバーで呼び出すことができる関数と接続方法のリストです。各関数には、リクエストとレスポンス用の XML 形式があります。これらのスキーマを WSDL 自体に埋め込むことができます。その場合は、この 1 つのファイルを送信するだけで済みます。自動生成された WSDL には、個別のファイルに要求パラメーターと応答パラメーターのスキーマがあるように思えます。この場合、WSDL と XSD の両方が必要になります。

WSDL を提供するだけであれば、SOAP リクエストをパッケージ化する方法はわかりますが、本文に含まれる XML の形式はわかりません。誰かの電話番号は知っているが、彼らが話す言語を知らないようなもので、あまり役に立ちません! もし私が顧客だったら、WSDL だけでなく XSD だけを持っていたいと思います。入力と出力が定義されたら、コーディングを開始できます。完全な WSDL と XSD にアクセスできるようになったら、スタブを生成して適切なサービスを呼び出し、既に記述したコードを接続できます。もちろん、XSD と WSDL の両方が準備できている場合は、ぜひロットを送ってください。

于 2012-10-16T10:53:42.850 に答える