問題タブ [wsimport]
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.
java - wsimport - 名前空間なしでインポートされたスキーマ ==> 「生成された」という名前のパッケージ
ターゲット名前空間を持たないスキーマ (スキーマ A と呼びましょう) ファイルをインポートする WSDL を持つ Web サービスを作成しました。独自の型を定義しますが、他のスキーマもインポートします。
そのため、JAXB バインディングが作成されたときに、SCHEMA A からの型に指定されたパッケージが「生成」されました。インポートされたスキーマの場合、パッケージは問題ありませんでした。これをカスタマイズする方法はありますか?つまり、 -p を使用すると、すべてのタイプを同じパッケージに追加しようとし、競合が発生します。
これは私が期待したものではありません。特定のスキーマにターゲット名前空間がない場合でも、異なるパッケージを異なる名前空間に割り当てる方法はありますか?
理想は、特定のスキーマ A に必要なパッケージを割り当てる方法を見つけることでした。
service - wsimportは名前空間で解決しようとします
wsimportが、一部のXSDファイルにhttpリンクされているwsdlの「import」タグを無視して、wsdlファイルの横にあるXSDファイルを使用することは可能ですか。私はsvcutilがそうすることができることを知っています。
java - wsimportで生成されたWebサービスクライアントのURLを変更する
WSDLで記述されたWebサービスにアクセスするJavaアプリケーション用のモジュールを作成しようとしています。ソースWSDLは、ASP.NETWebサービスであると私が信じているものから直接ダウンロードされました。サービスURLは.asmx拡張子で終わり、ブラウザーでサービスURLを表示すると、WSDLのダウンロードに使用できるリンクが表示されます。
私にとって重要な要件は、再コンパイルせずにサービスURLを切り替えることができることです。私に与えられたURLは明らかにテストサーバーであり、本番環境で使用する本番URLが与えられることを私は知っています。また、テスト用のモックサーバーを自分で作成し、サービスが移動された場合に再コンパイルせずに、将来的に新しいURLを指定できるようにしたいと考えています。実際、アプリケーションをインストールして、異なるURLでWebサービスの複数のインスタンスをインスタンス化できるようにしたいと思います。
しかし、私の概念は、wsimportツールが私のために行っていることと一致していないようです。ここでのf1shの回答に続いて、ダウンロードしたWSDLから次のコマンドを使用してJavaコードを生成しました。
私が見つけたのは、生成されたコードに、ダウンロードしたwsdlFile.wsdlへのハードコードされた参照が含まれていることです。これにはサービスのURLが含まれています。このアプリケーションは、実行時にWSDLファイルを編集して構成できるようには実行されません。ビルド時にアプリケーションにコンパイルされ、インスタンス化時にサービスURLを設定できるコードが必要です。
実行時にWSDLを解析する必要がある理由が完全にはわかりません。WSDLがWebサービスにアクセスできるコードを生成するのに十分な情報を提供することは私の理解でした。そのため、サービスURL以外の生成されたコードに何が提供されているのかわかりません。また、サービスURLがで提供されない理由もわかりません。コンストラクター、または生成されたWebサービスクラスのメソッドを介して構成可能。私は何かが欠けているに違いありません。
このシナリオの一般的な方法は何ですか?ほとんどの人は、使用する個々のURLごとにコードを再生成しますか?コードは実行時に生成されますか?構成可能なURLを使用してクライアントコードを構築するために使用できる別のWSDLツールはありますか?
java - WebService プロキシ クラス
Java Web サービスを作成し、Tomcat にデプロイし、Web ブラウザ経由でサービス WSDL にアクセスしましたが、すべて問題ないようです。次のステップは、クライアントが Web サイトと通信するために使用できるプロキシ クラスを生成することでした。これは私が次にしたことです:
私の wsdl がhttp://localhost:8080/testSvc/testSvc?wsdl経由でアクセスできると仮定しましょう。
wsimport ツールを使用して、次のコマンドを使用してプロキシを生成します。 $>wsimport http://localhost:8080/testSvc/testSvc?wsdl
問題は、生成されたクラスで localhost:8080 がハードコーディングされ、サービスを 8080 以外のポートにデプロイすると、クライアントがポート 8080 でサービスにアクセスしようとするため、クライアントはそれに到達できないことです。
ポート番号がハードコーディングされていない方法でプロキシクラスを開発する方法はありますか? 任意のポートにサービスを展開できるようにするには?
ENDPOINT_ADDRESS_PROPERTY を更新しようとしましたが、プロキシ クラスのインスタンスをインスタンス化した瞬間にコードが失敗するため、役に立ちません。プロキシクラスから準備ができている ENDPOINT_ADDRESS を上書きできるところまで実際に到達することはありません。
maven-2 - Mavenで生成されたソースのフォルダーを作成するにはどうすればよいですか?
wsimportを使用してソースを生成する必要があり、/ src / main/javaではなく/target/generated-sources/wsimportに移動する必要があると思います。
問題は、wsimportが実行前に作成されたターゲットフォルダを必要とし、それが失敗することです。最初に任意のMavenプラグインを使用してそのディレクトリを作成できますか?私はantを使ってそれを行うことができますが、私はそれをPOMに保持することを好みます。
java - wsimport で生成されたすべての例外クラスの名前を変更します
.net wsdl を使用して wsimport でコードを生成すると、[servicename][operationname]FaultFaultFaultMessage のような非常に長い例外クラスが発生します。
各例外の名前を変更する方法は知っていますが、jaxb .xjb ファイルを使用してすべての例外を一度に「テンプレート化」できますか?
java - NetBeans でこの wsimport エラーをトラブルシューティングするにはどうすればよいですか?
Java 1.6.0_22 を搭載した Mac OS X 10.6.4 で NetBeans 6.9.1 を使用しています。JAX-WS 経由でアプリケーション サーバー (GlassFish v3) に接続する Web アプリケーションがあります。「クリーンおよびビルド」プロセス中に、保存されている WSDL ファイルをインポートするために wsimport が呼び出されます。なんらかの理由で、NetBeans の起動後に「クリーンとビルド」を 1 回しか実行できません。以降の試行はすべて、次のエラーで失敗します。
注意された行は、このターゲットの「wsimport」ディレクティブです。
コマンドラインから wsimport 行を手動で (コピーして貼り付けて) 正常に実行できます。そうすると、NetBeans は次の Web サービスターゲットでエラーになります。
このエラーを修正するには、NetBeans を閉じて再起動する必要があります。それができたら、再び行き詰まる前にもう一度「クリーン アンド ビルド」を実行できます。
この問題は Mac でのみ見られます。Windows 7 にインストールした NetBeans にはこの問題はありませんが、Mac の問題を説明する可能性のある構成の違いは見つかりません。
wsimport に対して表示されるエラー メッセージがまったく役に立たないことは明らかです。実際に何が起こっているのかを理解するために、より詳細なエラー メッセージを取得する方法がわかりません。どうすればそれができるか知っていますか?競合を引き起こしているライブラリがロードされていると推測していますが、その問題がどこにあるかを追跡するためにどこから始めればよいかわかりません。
前もって感謝します!
java - Amazonecswsdlファイルのjax-wsri2.2.1によって生成された列挙型はありません
次のAmazonwsdlのアーティファクトを生成しようとしています:
http ://webservices.amazon.com/AWSECommerceService/AWSECommerceService.wsdl
次のantタスクを使用します。
ただし、次のような要素のJavaアーティファクトは生成されません。
基本的に、他のすべての要素が生成されても、列挙型は生成されません。誰かが以前にこの問題を見たことがありますか?jax-wsri2.2.1を使用していますhttp://jax-ws.java.net/2.2.1/
ありがとう
java - ローカルwsdlファイルとバインディングファイルおよびmavenを使用したWSDL生成からのJavaクライアントの例?
カスタムjaxbバインディングを使用し、maven(できればWindows用)を使用して生成されたローカルWSDLファイルからJavaクライアントを生成する完全な例を知っている人はいますか?
このタスクにはwsimportまたはwsdl2javaが推奨されますか?
java - 1 つだけであるべき 2 つのオブジェクトの ObjectFactory での衝突
サードパーティの WSDL で (netbeans 6.9.1 を使用して) wsimport を実行しようとしていますが、JAXB でこのエラーが発生し続けます:
衝突は、次の 2 つのことに関するものです。
メッセージ.xsd:
service.xsd:
ここで、スタックオーバーフローで、JAXB が 2 つの異なる要素の名前が同じか、大文字と小文字だけが異なる場合を処理できないことを確認しました。ただし、この場合、2 つの要素は実際には同じである必要があります (2 番目の要素が最初の要素を参照しています)。それで、なにかお手伝いできますか?