問題タブ [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.
wsdl - JAX-WS jar からの WSDL のロード
いくつかの機能 (バグ報告など) に SOAP サービスを利用するファット クライアントを作成しています。
JAX-WS は正常に動作していますが、デフォルトでは (少なくとも netbeans では)、サービスが初期化されるたびにリモート サーバーから WSDL をフェッチします。これがバージョン管理のサポートなどを提供するのに役立つことを期待していますが、それは私が望んでいるものではありません。
wsdllocation
引数を wsimport に追加して、生成されたクラスがローカル リソースを指すようにしました。次のスニペットは、ApplicationService.java から WSDL リソースをロードする URL です。
net/example/resources パッケージの jar 内に保存されているリソースを指すことに問題はないと確信しており、jar 自体は期待どおりに構築されています。ただし、サービスは読み込まれません...具体的には、ApplicationService.getPort(); を呼び出すと NullPointerException が発生します。
これは可能ですか?それともただのガチョウ追跡?
java - .NET 2.0 アプリケーションによって生成された WSDL から JDK ツール wsimport を使用して Java SOAP Web サービス クライアントを生成する際の問題
JDK 6 ツールを使用して、いくつかの SOAP Web サービスのクライアントを生成しようとしていますwsimport
。WSDL は .NET 2.0 アプリケーションによって生成されました。.NET 3.X アプリケーションの場合、問題なく動作します。
私が走るとき
次のようないくつかのエラー メッセージが表示されます。
[エラー] 「mypackage.SomeClass」という同じ名前のクラス/インターフェースが既に使用されています。クラスのカスタマイズを使用して、この競合を解決してください。ライン ??http://myservice?wsdlの
Axis 1.4 (Eclipse WebTools プラグインを使用) を使用して Web サービス クライアントを生成する場合。
wsimport
ツールを使用するために何ができるか知っている人はいますか? 「クラスのカスタマイズ」の意味がよくわかりません。
java - java 6 Webサービスは、サーバーとクライアント間でドメイン固有のクラスを共有します
コンテキスト:
以下で定義されたエンジンクラスがいくつかのWebサービスメソッドのパラメーターであることを考慮します。Javaにはサーバーとクライアントの両方があるため、サーバーとクライアント間でエンジンクラスを共有することでいくつかの利点(???)が得られる可能性があります(つまり、クライアントとサーバーのクラスパスの両方に追加する共通のjarファイルを挿入できます)
いくつかの利点は次のとおりです。
- 'brushEngine'などの特定の操作を同じ場所に保持します
- この場合、クライアントクラスのJavaコードを生成する必要はなく、サーバービルドからそれらを使用する必要があるため、ビルドは高速です)
- 後で「brushEngine」のサーバー実装を変更すると、これはクライアントに自動的に反映されます。
質問:
- Java 6ツール(つまり、wsimport、wsgenなど)を使用して、以下の詳細なEngineクラスを共有するにはどうすればよいですか?
- この共有を実現できるJava用の他のツールはありますか?
- Java 6 Webサービスのサポートが欠落しているケースを共有していますか?
- このケースを他のWebサービスの使用パターンに減らすことはできますか?
ありがとう。
コード:
dynamic - 「ポータブル」JAX-WSクライアント
JAX-WSサービスをデプロイし、wsimportを使用してクライアントコードを生成しました。localhostでwsimportを実行しているため、「localhost」アドレスにbinindを持つクライアントコードを取得しました。
しかし、パブリックIP yyyyを使用してデプロイされたサービスにアクセスする他のコンピューターでこれらのクライアントコードを再利用したいと思います。これらの(1回)生成されたクライアントコードを動的に使用してサービスにアクセスするにはどうすればよいですか。(サービスのIPは変更される可能性があります...)
java - WSDL または wsimport と wsdl (mono) のいずれかがひどく壊れている
編集私は以下の例から始めましたが、今は次のとおりです:
- W3C仕様の例を試しました。別のエラーを修正した後 (バインディングが別の
StockQuoteSoapBinding
場所で呼び出されたStockQuoteBinding
)、同じ問題が発生します。 - モノジェネレーター
wsdl
を試して、それが原因かどうかを確認wsimport
しました。同等のエラーが発生します。
したがって、SOAP についての誇大宣伝にもかかわらず、実際には機能していないように思えます。少なくとも、宣伝されているほどではありません。これらのジェネレーターを介して最も見つけやすい wsdl の例を誰も実行していないとは信じられません。
元の質問
次の wsdl で wsimport が失敗します。
と:
soap - NetBeans と wsimport に関する wsdl xmlns の問題
私たちのアプリケーションは SOAP API を提供します。私たちの wsdl 開始行は次のようなものです
これは通常は問題なく動作しますが、ある顧客から、提供された wsdl を使用して NetBeans で SOAP API を使用しようとすると、次のエラーが発生したという苦情が寄せられました。
これは、次を実行することで簡単に再作成できます。
エラーが発生します:
私たちのサポートは、xmlns:soap 定義をhttp://www.w3.org/2001/12/soap-envelope/を使用するように変更することで問題が解決することを発見しましたが、これには私たちの製品の変更が必要であり、ほとんどの場所と矛盾しています。 wsdl:definitions ファイルが定義されている Web を参照してください。その上、そのURIはwsdlではなくsoap-envelopに属しているようで、一般的なURIではなく特定の日付のものでもあります。
パラメータを変更するなど、wsdl を変更せずに NetBeans / wsimport の問題を解決する方法はありますか? いいえ、変更が必要な場合は、http://www.w3.org/2001/12/soap-envelope/に変更するのが賢明ですか、それとも別のものを使用する必要がありますか?
ありがとう
_
java - Java1.6でのwsimportのメモリ不足の問題
Windows XP5.1のJava1.6(ビルド1.6.0-b105)でwsimportを使用していますが、メモリ不足の例外が発生します。私はJConsoleに慣れていましたが、wsimportプロセスが64MBで最大になっているようです。wsimportのヒープメモリを増やすにはどうすればよいですか?
ありがとう、
java - antから呼び出されたwsimportによって生成されたクラスのJAXBElementを削除します
次の問題があります。wsimportantタスクを使用してWebサービスクライアント(salesforce.com用)を作成しています。すべてが正常に機能していますが、生成されたクラスはすべて、すべてのBeanプロパティにこの奇妙なJAXBElementクラスを使用しています。
例えば:
すべてのクラスをJAXBElementでラップする代わりに、setLastName(String newLastName)のような単純なメソッドが必要です。それが私がwsimportタスクを呼んでいる方法です。
タスクは次のように定義されます。
wsimportが希望どおりにクラスを生成するために、私が何を設定する必要があるかを誰かが知っていますか?よろしくお願いします!!!
java - JAX-WS Web サービスで意味のあるリスト名を生成する方法
私は次のようなスキーマを持っています
それは私のwsdlで参照されています。wsimport を使用して Java コードを作成すると、クラスは次のフィールドを取得します。
またはのようなより標準的な名前をフィールドに付ける方法はありますitems
かitemList
?
xs:element
私はアイテムに名前を付けたくありません。なぜなら、Items
それは悪いクラスと呼ばれるからです。
java - wsimport "名前を解決できません..."
次の Web サービスをインポートしようとしています: http://soap.genome.jp/KEGG.wsdl with ${JAVA_HOME}/bin/wsimport:
しかし、次のエラーが発生しました:
問題の原因は WSDL にあるのか、それとも wsimport の実装にあるのか? 別のツールを使用する必要がありますか?
ありがとう
ピエール