2009-06-04 25 views

答えて

105

svcutilを使用すると、WSDLからインターフェイスとクラス(データコントラクト)を作成できます。

svcutil your.wsdl (or svcutil your.wsdl /l:vb if you want Visual Basic) 

これは、すべての必要な項目が含まれているのC#(またはVB.NETで「your.vb」)に「your.cs」というファイルを作成します。

サービスインターフェイス(IServiceInterface)またはいくつかのサービスインターフェイスを実装するクラス "MyService"を作成する必要があります。これはサーバーインスタンスです。

ここでは、クラス自体は実際にはまだ役に立ちません。サービスをどこかにホストする必要があります。サービスをホストする独自のServiceHostインスタンスを作成するか、エンドポイントなどを構成するか、IIS内でサービスをホストする必要があります。

+0

私はsvcutilで同じことを試みましたが、実際にはフォールトでは成功しませんでした。私の問題にいくつかの提案がありますか:http://goo.gl/dlen – Juri

+11

"svcutil your.wsdl your.xsd"は私の仕事に必要なものです!ありがとう! –

+2

svcutilが好きな形式でwsdlとxsdをダウンロードする方法については、このSOの答えをご覧ください。 http://stackoverflow.com/questions/286657/what-is-the-best-way-to-download-all-of-the-wsdl-files-exposed-by-a-wcf-service –

7

svcutil.exeを使用してクライアントコードを生成できます。これには、サービス契約の定義と、必要なデータ契約および障害契約が含まれます。

次に、サービスコードを実装するクラスであるクライアントコードを削除します。その後、あなた自身のサービスでそれらを実装する必要があります。

39

検索対象を知っていれば、そこには優れたリソースがあります。 "Contract First"とWCFを試してみてください。または「WSDL First」およびWCF。ここで

は選択です:

+2

* WSDL-First *の基本的な概要に従う人には、次のようなコメントを書き留めておいてください。 ReplyAction = "*" 'あなたはそれを取り除く必要があるようです。そのコメントからその理由を説明するトレイルがありますが、私はそれを読んでいません。 –

28

使用svcutilとの契約、まず設計を可能にするのVisual Studioに。 exeで/scに切り替えるWCF契約を抹消する。これにより、プロジェクトに追加できるコードファイルが作成されます。これには、サービスを作成するために必要なすべてのインタフェースとデータ型が含まれます。 /oスイッチを使用して出力場所を変更するか、svcutil.exeを実行したフォルダ内のファイルを見つけることができます。デフォルトの言語はC#ですが、私は(これを試したことはありません)/l:vbを使ってこれを変更できるはずだと思います。

svcutil /sc "WSDL file path" 

WSDLにサポートされているXSDファイルがある場合、WSDLの後に引数として渡します。

svcutil /sc "WSDL file path" "XSD 1 file path" "XSD 2 file path" ... "XSD n file path" 

あなたのサービスである新しいクラスを作成し、今作成した契約インタフェースを実装します。

+0

他の人のWSDLの実装方法に関するMSDN(https://msdn.microsoft.com/en-us/library/ms735109(v=vs.110).aspx) – sq33G

1

Visual Studioで "サービス参照の追加" ツールを使用して、などのアドレスを挿入することができます。

ファイル:///path/to/wsdl/file.wsdl

そして、正しくロードされます。

関連する問題