私はEclipseにwsdlファイルを持っており、axis2プラグイン経由でクライアントを生成しています。wsdl-Axis2から生成されたファイルのカスタムネームスペースのマッピングを定義します。
ファイルは、ソースフォルダのcom.mycompany.stubというパッケージに生成されています。
私は、WSDLファイルでそれを行うことができます
をcom.mycompany.ws.workflowするために生成されたソースファイルのパッケージ名を変更したいですか?
私はEclipseにwsdlファイルを持っており、axis2プラグイン経由でクライアントを生成しています。wsdl-Axis2から生成されたファイルのカスタムネームスペースのマッピングを定義します。
ファイルは、ソースフォルダのcom.mycompany.stubというパッケージに生成されています。
私は、WSDLファイルでそれを行うことができます
をcom.mycompany.ws.workflowするために生成されたソースファイルのパッケージ名を変更したいですか?
これを達成するために実際にwsdlを変更する必要はありません。 Eclipse Helios Webサービスクライアントウィザードを使用している場合は、生成されたソースの出力フォルダを指定する2番目の手順(オプション)で、 '名前空間のパッケージへのカスタムマッピングを定義する'チェックボックスがあります。そのボックスを選択し、次のフォームでカスタムパッケージマッピングを定義することができます。
<wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
xmlns:tns="http://mycompany.com/MyService.wsdl"
xmlns:scm="http://mycompany.com/MyService.xsd"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
targetNamespace="http://mycompany.com/MyService.wsdl">
...
、カスタムマッピングは、以下のようにようになります。
http://mycompany.com/MyService.wsdl - com.mycompany.ws.workflow
http://mycompany.com/MyService.xsd - com.mycompany.ws.workflow.schema
は、名前空間とパッケージ名を追加して入力する]をクリックするか、ファイルのプロパティにマッピングを格納し、一度にすべてを追加するために、インポートをクリックすることができます。私はプロパティファイルを好む。また、プロパティファイルを使用する場合は、名前空間のURLやその他の特殊文字をエスケープする必要があります。プロパティファイルは以下のようになります。
http\://mycompany.com/MyService.wsdl=com.mycompany.ws.workflow
http\://mycompany.com/MyService.xsd=com.mycompany.ws.workflow.schema
公式ドキュメントから抜粋
。プロパティファイルの内容は、namespace = packageの形式である必要があります。プロパティファイル内のいくつかの特殊文字をエスケープする必要があります。たとえば、http://someNamespace=somePackageはhttp:// someNamespace = somePackageである必要があります。それ以外の場合、コロン(:)はデリミタとして扱われ、httpをsomeNamespace = somePackageにマップしようとします。
カスタムパッケージマッピングの例を挙げることができますか?私はそこに何を挿入しますか? – Bracha
@Bracha私は簡単な例を含めるために私の答えを更新しました。 – TMan
@TMan nsmapping.propertiesファイルはどこに置く必要がありますか? – sbo