0

WSDL ファイルに他の wsdl および xsd スキーマへのインポートが含まれている Web サービスを使用しています。

<import namespace="http://my.api.com/" location="http://other.server.com:8888/context/services/MyService?wsdl=1"/>

次に、他のファイルをインポートできます

<xsd:import namespace="http://my.api.com/" schemaLocation="http://other.server.com:8888/context/services/MyService?xsd=1"/>

クライアントは、maven プラグインを使用して cxf によって生成されます。メインの WSDL ファイルがクラスパス リソースとして追加されます。ただし、実行時に、WSDL を完全に解決するには、クライアントが実際に other.server.com:8888 にアクセスする必要があるようです。問題は、WSDL 内のすべての URL をインポートして解決し、WSDL 内の他のインポートの絶対サーバー URL に依存せず、クライアント プロジェクトに含めるのに適したツールが存在するかどうかです。

私たちは WSDL を制御していないため、ソースで変更することはできません。

編集:Linuxで動作するツールを探しています

4

2 に答える 2

1

Windows SDK からServiceModel メタデータ ユーティリティ ツール (Svcutil.exe)を確認します。

svcutil /t:metadata http://service/metadataEndpoint

このツールは、Web サービス記述言語 (WSDL) を使用して特定の XML Web サービスを記述した 1 つ以上の関連ドキュメントを検索または検出します。

于 2013-03-21T01:12:57.307 に答える