2

オブジェクトのグループを記述する wsdl ファイルがありますが、それらのサブセットから定義を抽出したいのですが、これは可能ですか? もしそうなら、これを達成するための最良の方法は何ですか? 私の目標は、そのサブセットの XSD スキーマを生成することです。

.NET で WSDL 生成ツールを使用していない場合はどうなりますか? 他のツールを使用してこれを達成する良い方法はありますか? 私はJavaを使用しており、Webサービスとのインターフェースを試みています。xsd を必要とする xml ドキュメントを操作するためのライブラリがあります。単純な SOAP 対話用のライブラリーもあり、Axis の使用はやり過ぎです。WSDL から XSD を簡単に抽出できれば最高です。

4

2 に答える 2

1

スキーマから抽出したいオブジェクトが正確にわかっている場合は、wsdl ファイルを取得して XSL 変換を実行し、必要な部分を保持します (または不要なものを削除します)。

于 2009-05-05T17:31:21.487 に答える
0

ASP.NET での wsdl 生成について話していると仮定しています

ASP.NET では、リフレクションによって wsdl ファイルが自動的に生成されます。つまり、次を使用すると、アセンブリのすべての Web メソッドがマップされます。

http://mysite/myservices.asmx?wsdl

この制限を回避するための回避策は次のとおりです。

1. web.config でデフォルトのドキュメント生成を無効にする

<webServices>
  <protocols >
    <remove name="Documentation"/>
  </protocols>
</webServices>

2. .net wsdl.exe ツールを使用して独自の wsdl ファイルを作成し、必要なサブセット用に生成された wsdl を編集します。

wsdl.exe http://mysite/myservices.asmx?wsdl

3. 変更した wsdl を公開します。

http://mysite/myservices.wsdl

最後のアドバイスとして。可能であれば、Web サービスをより細かく制御できる WCF に移行してください。

PD 私のためにマリオに挨拶してください;-)

于 2009-03-12T19:45:35.723 に答える