3

私たちのプロジェクトの要件の 1 つは次のとおりです。

クライアントの WSDL ファイルと XSD ファイルのみから取得しました。私たちのタスクは、これらの WSDL および XSD ファイルに基づいて SOAP メッセージを生成し、SOAP 本体を抽出することです。

最初に行うべきステップは、所定の WSDL および XSD ファイルからクライアント プロキシ ファイルを生成することです。メインの WSDL ファイルには複数のインポートがあり、インポートされた XSD ファイルにもいくつかのインポートがあります。SvcUtil.exe ユーティリティを使用してクライアント プロキシ ファイルを生成しようとしましたが、エラーが発生しました。

この方法で SvcUtil.exe を実行しました。

E:\Projekti\WCF\XSD>svcutil /noconfig rosrazna.ru.xsd.SmevUnifoService.wsdl roskazna.ru.xsd.ResponseTemplate.xsd roskazna.ru.xsd.PGU_ImportRequest.xsd roskazna.ru.xsd.PGU_DataRequest.xsd roskazna. ru.xsd.PGU_ChargesResponse.xsd roskazna.ru.xsd.ExportPaymentsResponse.xsd roskazna.ru.xsd.ExportIncomesResponse.xsd roskazna.ru.xsd.ExportQuittanceResponse.xsd roskazna.ru.xsd.Ticket.xsd

しかし、このエラーが発生しました:

Microsoft (R) Service Model Metadata Tool [Microsoft (R) Windows (R) Communication Foundation、バージョン 3.0.4506.2152] Copyright (c) Microsoft Corporation. 全著作権所有。

ファイルを生成しています... 警告: コードは生成されませんでした。クライアントを生成しようとした場合、メタデータ ドキュメントに有効なコントラクトまたはサービスが含まれていないか、すべてのコントラクト/サービスが /reference アセンブリに存在することが判明したことが原因である可能性があります。すべてのメタデータ ドキュメントをツールに渡したことを確認します。

警告: スキーマからデータ コントラクトを生成する場合は、必ず /dataContractOnly オプションを使用してください。

SvcUtil.exe コマンドのメイン WSDL ファイルにインポートされた XSD ファイルからのインポートを配置しなかったことに言及する必要があります。それらを置く方法がわかりません。

それで、これを解決する方法は?

前もって感謝します。

ゴラン

4

1 に答える 1

6

@Goran、参照されているすべての xsd ファイルを wsdl と同じ場所にコピーします。次に、コマンド プロンプトから svcutil を使用する場合は、そこにあるすべての xsd を一覧表示するか、次のように *.xsd を配置します。

E:\Projekti\WCF\XSD>svcutil /noconfig goransWsdl.wsdl *.xsd

PS:あなたはすでにすべての xsds について言及しているようです。

于 2012-10-05T19:25:50.963 に答える