12

ここの指示に従って、JDK v1.6.0_31 の上に最新の JAX-WS リリース (2.2.6) を適切にインストールしました (つまり、jaxws-api.jar と jaxb-api.jar を JAX-WS リリースから私の ${JAVA_HOME}/lib/endorsed ディレクトリ)。Eclipse 内から wsimport ant タスクを適切に実行でき、生成されたコードのコメントにバージョン スタンプが表示されます。

/**
* This class was generated by the JAX-WS RI.
* JAX-WS RI 2.2.6b21 
* Generated source version: 2.2
* 
*/

私が抱えている問題は、生成されたクライアント コードにエラーが表示され、コンパイラがまだ JAX-WS バージョン 2.1 を使用していると思われることです。

The constructor Service(URL, QName, WebServiceFeature[]) is undefined

The attribute required is undefined for the annotation type XmlElementRef

Eclipse の起動時に -Djava.endorsed.dir 引数を明示的に設定しようとしました。また、Eclipse->Preferences->Java->InstalledJREs の下でこの引数を設定しようとしましたが、どちらも役に立ちませんでした。私の wsimport Ant タスク クラスパスは、JAX-WS 2.2.6 jar を参照するように定義されています。また、2.2.6 jar を取り込むようにプロジェクトのビルド パスを設定してみました。何も機能していないようです。何か不足していますか?

4

4 に答える 4

6

なぜそれが前もってそれを拾わないのかわからないが、彼が承認したlib(おそらくあなたがあなたのlibを置いた承認されたディレクトリはEclipseが使用している別のJRE / JDKのためのものですか?)、しかしあなたが最後に試したことに関しては...jarを追加するビルドパスに直接接続します。これは、JAX-WSjarがJDKエントリの上にくるようにビルドパスエントリを注文した場合に機能します。

于 2012-05-03T16:44:25.893 に答える
1

JAX-WS 2.1 を必要とするコードを作成しました。バージョン 2.0 には WebServiceFeature クラスがなく、その結果、そのような引数型を持つ Service のコンストラクターもありません。

ご覧のとおり、Java SE 6 にはそのようなコンストラクター javax.xml.ws.Service SE 6 はありませんが、たとえば Java EE 6 には javax.xml.ws.Service EE 6 があります。

ここに画像の説明を入力

于 2014-08-05T22:10:28.170 に答える
0

以下のコマンドを使用して、スタブ wsdl2java -p -client -frontend jaxws21 を生成できます。

于 2015-03-04T17:51:05.270 に答える