問題タブ [jaxws-maven-plugin]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
maven - コンパイル時にmavenプラグインによって生成されたファイル間の依存関係を解決するには?
わかりました、私の問題をできるだけ混乱させないようにしましょう。
いくつかのMavenプラグインを含む標準のmavenプロジェクトがあります-
ここが複雑な部分です。
最初のプラグインは、現在「${project.build.directory}/java」に配置しているいくつかの .java ファイルを生成します
2 番目のプラグインは、" ${project.build.directory}/java "の下に再度配置する .java ファイルの別のセットを生成します。ただし、それらは異なるパッケージ構造に配置されています。
これらのプラグインはどちらも「generate-sources」フェーズで実行されます。
ここで、私の 3 番目のプラグインである jaxws-maven-plugin は、1 番目と 2 番目のプラグインによって生成されたファイルのクラス ファイルを、WSDL を生成するための SEI として使用しようとします。ただし、コンパイル中のその時点でクラス ファイルは maven によって作成されず、プラグインは「クラスが見つかりません」というメッセージでエラーになります。
では、これを解決するにはどうすればよいでしょうか。また、「generate-sources」フェーズでエラーが発生したため、私のプロジェクトの他のソース ファイルの .class ファイルが target/classes ディレクトリにありません。
そして、ああ、ここに別のひねりがあります。私のソース ファイルのいくつかは、これらのコンパイル時に生成されたソース ファイルをコードにインポートします (私が今この開発者をどれだけひどく探しているかわかりません!!)
私は可能な限り最善の方法で私の問題を説明しようとしましたので、他の詳細や説明をお気軽にお尋ねください.
maven - Maven jaxws プラグインが java.lang.UnsupportedClassVersionError: Bad version number in .class file で失敗する
Maven 2.2.1 で JDK 1.5.0_13 を使用する古いプロジェクトをコンパイルしようとしています。
「jaxws-maven-plugin」は次のメッセージで失敗します:
すべてのコードは JDK 1.5 でビルドされ、JDK 1.5 にJAVA_HOME
設定されています。リストされたクラスファイルで「javap」を使用してバージョンを確認すると、JDK 1.5 番号である 49 が表示されます。
元の POM は古い jaxws (org.codehaus.mojo のバージョン 1.10) を使用していました。新しいもの (org.jvnet.jax-ws-commons の 2.3) も試しましたが、失敗しました。
私はすべてを検索しましたが、解決策を見つけることができませんでした。
ありがとう、アミール
java - Maven jax-ws プラグイン wsimport は、生成されたコードで「ネストされた型 x は、囲んでいる型を隠すことはできません」を与える
詳細:
- Maven - jaxws-maven-plugin バージョン 2.3 を使用した 3.3.1 と、ここに貼り付けられない wsdlUrl の目標 wsimport。
- Java 1.7
maven pom コンテンツの例:
説明:
私はかなり長い間、Mule 内で wsdl からクライアント コードを生成してきました。これは常にかなり単純明快で生産的でしたが、ここで正しい方向へのポインターを取得できる障害にぶつかりました。
基本的に、wsdl から生成されたコードには、コンテナー クラスと同じ名前のネストされたクラスがあり、これにより、この wsdl を使用しているプロジェクトで赤色が生成されます。
私が知っていること:
コードを手動で viola に変更することも、wsimport を変更して静的ファイル (URL からコピー - すべての xsd を含む) を使用し、それらのファイルを変更することもできます。しかし、どちらも間違っているようです!
コード生成のプロセスを操作する方法はありますか、それともベンダーに変更を依頼する必要がありますか? あなたの考えは何ですか?
どうもありがとうございました。ご意見をお寄せいただきありがとうございます。
wsdl - jaxws maven プラグインを使用してバインディングと wsdl に異なるパッケージ名を使用する
アプリケーションには特別な要件があります。wsdl に対して生成されたファイルには特定のパッケージ名が必要であり、 xsd ファイルに対して生成されたファイルには別のパッケージ名が必要です。
jaxws maven プラグインでこれをカスタマイズする方法はないようです。現在の構成は次のとおりです。
誰でもアドバイスできますか?
編集1 :次のコードを思いつきました:
問題は、多くのクラスが数回 (ここでは x2) 再生成され、異なるパッケージで同じクラスになってしまうことに気付いたことです。
wsdl 用に生成されたクラスが一度生成され、xsd 用のクラスが生成されてそれぞれのパッケージに配置されるようにするにはどうすればよいですか?
java - HTTPS 経由で WSDL から jaxws-maven-plugin を使用してソース コードを生成する
HTTPS 経由で jaxws-maven-plugin を使用してソース コードを生成しています。
しかし、ビルド時に次のようになります。
[エラー] sun.security.validator.ValidatorException: PKIX パスの構築に失敗しました: sun.security.provider.certpath.SunCertPathBuilderException: 要求されたターゲットへの有効な認証パスが見つかりません
その解決策はJREキーストアに証明書を追加することであることは知っていますが、問題は、これがCIシステムで実行されることです。これは、私が制御できない可能性のあるノードが多数あるため、証明書をインストールできません。すべてのノードの JRE に。
どうすればこれを解決できますか? pom.xml と一緒に WSDL ファイルを用意する必要はありません。
maven - Maven でソースを削除する方法
https://jax-ws-commons.java.net/jaxws-maven-plugin/を使用して wsdl ファイルからソースを生成しています。異なるsourceDestDirで(異なるwsdlsに対して)複数の実行を行っています。これは期待どおりに機能しており、別のディレクトリにソースを生成しています。
ただし、プラグインはこれらのすべての sourceDestDir を追加してソースをビルドし、maven-compiler-plugin はそれらを自動的にコンパイルしようとします。
これを未然に防ぎたい。つまり、jaxws-maven-plugin によって追加されたソース ディレクトリを削除して、コンパイルする必要があるものとコンパイルしないものを定義できるようにします。これは可能ですか?
java - Jaxws は結果を入力しません
私は Axis1 で作成された動作中の Web サービスを持っており、それを Jaxws に移行しています。
作業中の WSDL ファイルから wsimport と maven を使用してクライアント クラスを作成しています。
私が抱えている問題は、ロガー内のデータを含む SOAP 応答メッセージを確認できるが、オブジェクトにこのデータが入力されていないことです。
私のwsdlは次のようになります (短くするためにサービスを 1 つだけ投稿し、一部の要素を削除したため、ResultadoProcesamiento のような欠落がある場合は無視してください):
同じ名前でスキーマが異なる要素がいくつかあったため、2 つのパッケージを作成する必要がありました。
最初のパッケージ:
パッケージ情報.java
ValidarCertificadoResponse.java
2 番目のパッケージ:
パッケージ情報.java
MensajeSalida.java
そして、私の応答 SOAP メッセージ (いくつかのタグのみが含まれています):
jaxws-maven-plugin:2.3 によって生成されたクライアントを実行した後、ValidarCertificadoResponse には次の属性があります。
あなたは何か間違っていると思いますか?WSDL に間違いがあると思いますか、それともプラグインがヘッダーを適切に作成していないのでしょうか?
ありがとう。