1

java 5 と tomcat 5.0 を使用して myecplise で jax-ws Web サービスを正常に構築およびデプロイしましたが、Web サービス クライアントを作成しようとすると、検証画面で検証エラーが発生します。

WS-I: A problem occurred while running the WS-I WSDL conformance check: org.eclipse.wst.wsi.internal.analyzer.WSIAnalyzerException. The WS-I Test Assertion Document(TAD) was not found or could not be processed. The WSDLAnalyzer was not able to validate the given WSDL file.

ケースを無視しても、myecplise ではクライアントを作成できません。

画面 #01 を無視

src-resolve: Cannot resolve the name
'impl:Arrayof_tns1_MatchingDoc' to a(n) 'type definition' component

画面 #02 を無視

src-resolve: Cannot resolve the name 
'soapenc:Array' to a(n) 'type definition component

2つの画面を無視すると、エラーが発生します

undefined simple or complex type 'soapenc:Array'

そしてウィザードが存在します...

4

1 に答える 1

2

Axis1によって生成された RPC でエンコードsoapenc:Arrayされた Web サービスの WSDL をコンパイルしようとすると、このエラーが発生する可能性があります。少なくとも私はそうでした。この WSDL を Axis2 ディストリビューションまたは にバンドルされた状態でコンパイルする方法がないため、これは非常に苦痛でした。 結局、Axis1 の1.4 リリースをダウンロードし、バンドルされている WSDL2java を使用しました。axis.jar 内から として呼び出す必要があります。その私見の最も快適な方法は、実行構成で引数を使用してEclipseから.jarを実行することです。
wsconsumewsdl2javaxfire

org.apache.axis.wsdl.WSDL2Java

残念ながら、これで話は終わりではありません。生成されたクラスにはエラー (メソッドの重複など) が発生する傾向があり、手動で修正する必要があります。そのため、WSDL2java タスクを ant ビルドに統合するときは注意してください。

于 2011-03-10T17:34:42.720 に答える