問題タブ [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.

0 投票する
1 に答える
5571 参照

java - 複雑な入力タイプを使用しない wsimport

wsimport を使用して一部のサービスのプロキシを生成すると、結果として得られる各ポートのメソッド シグネチャは、WSDL で指定された複合型を使用していないようです。しかし、他のいくつかのサービスではそうであることに気付きました。

これは複数のサービスで発生していますが、最新の例は Amazon の AWSEConsumerService ( WSDL へのリンク) です。wsimport を使用してサービス プロキシ コードを生成すると、ポートごとに次のようなメソッド シグネチャが取得されます。

このメソッドは、WSDL で指定された単一の複雑なパラメーター (この場合は ItemLookup オブジェクト) を受け取ると思います。私は根本的に何かを誤解していますか、それともコード生成で何か異常が起こっていますか?

0 投票する
1 に答える
2171 参照

java - 返されたオブジェクトをリストにアンラップするために JAX-WS に適用するカスタマイズは何ですか?

引数の 1 つとして文字列のリストが渡され、オブジェクトのリストを返すChemSpider WebServiceCSID2ExtRefsの操作などをカスタマイズする方法があるかどうかを見つけようとしています。

生成されたwsimportインターフェイス メソッドは次のとおりです (with jaxws:enableWrapperStyle = true):

しかし、私はラップを解除してリストに変えたいと思いArrayOfExtRefます。たとえば、次のように取得します。ArrayOfString

この変更を手動で行うと、JAX-WS は正常に動作します。そのための適切なカスタマイズを書く方法はあるのだろうか?

0 投票する
4 に答える
36933 参照

java - wsimport-別々のプロジェクト/フォルダーでサービスエンドポイントクラスとJAXBクラスを生成する方法

複数のWebサービス(複数のWSDL)を使用するプロジェクトにはトップダウンアプローチを使用しています。各Webサービスは、個別のプロジェクトとして設定し、個別の戦争として展開する必要があります。

問題は、WSDLがいくつかの一般的な.xsdファイルを共有していることです。現在、WSDLごとにwsimportを実行すると、共通のJAXBクラスが各Webサービスプロジェクトで複製されます。

理想的には、共通の共有プロジェクトでJAXBクラスを個別に生成してから、各WebサービスプロジェクトでJAXBクラスプロジェクトを再利用する必要がありますが、wsimportには、JAXBクラスの生成をスキップするオプションや別の場所を指定するオプションはありません。 JAXBクラスの場合。

異なるJAX-WSWebサービスエンドポイント間でJAXBクラスを共有する方法について何か考えはありますか?

0 投票する
1 に答える
548 参照

java - WSDL から生成されたクライアントは、オプションのヘッダー要素を除外した要求を生成できますか?

jax-ws 生成コードを使用してクライアントを作成しています。使用される WSDL は、バインディング要素内で、次のように多数のヘッダー要素を指定します。

私の質問は、議論のために、header5. 私が取り組んでいる仕様によると、これはオプションの値です。header5そのため、JAX-WS を使用してクライアントを生成し、要求に追加される値の操作パラメーターとして null (指定されていない値をシミュレートするため) または有効なヘッダー値を渡す必要があります。<header5>これにより、子要素を持たない要素が作成されます。次に発生する問題は、消費するサービスがそのヘッダー要素に対して何らかの検証を行っているように見え、通常はいくつかの異なる子要素が含まれているため、不正な形式であると判断することです。

そのため、JAX-WS を使用して、SOAP 要求からヘッダー要素をすべて除外することで、このオプションのヘッダー要件を本質的に満たす方法はありますか? これが WSDL で定義された契約に違反し、サービスがエラーを返す原因になるかどうかについて、私の同僚の間でいくつかの論争があるようです。.Net クライアントでは、ヘッダーを null として指定するだけで、ヘッダーをリクエストから除外できるという主張があります。

0 投票する
1 に答える
179 参照

java - JavaでPoint []をArrayOfPointにどのように変換しますか?

wsimport を使用して .net サービスから wsdl ファイルをインポートし、ArrayOfXXX を取得しています。Java コレクションからこれらのオブジェクトに変換するための推奨される方法は何ですか?

Position オブジェクトを取得します (マップ上のポイントを表します)。私が持っている wsdl は次のとおりです。

wsimportこれをJavaで試してみると、ArrayOfPointオブジェクトが得られます。

どのように を に変換しますPoint[]ArrayOfPoint?

0 投票する
3 に答える
10650 参照

java - wsimport: XSD が WSDL に埋め込まれている場合にバインディングを追加しますか?

次のWSDLから Java コードを生成しようとしています: http://www.ebi.ac.uk/Tools/services/soap/emboss_needle?wsdl

ただし、JAXBElement<String>代わりにいくつかを生成しStringます。そこで、ここで説明されているように、 xjb バインディングを使用しようとしました。

ただし、wsimport は例外を発生させます。

XSD スキーマは WSDL ドキュメントに埋め込まれています。jxb:schemaLocation にはどの URI を指定すればよいですか? どうすればその問題を解決できますか?

ありがとう、

P.

0 投票する
3 に答える
18306 参照

java - java「クラスファイルに間違ったクラスが含まれています」エラー

Webサービスをテストするためのコンソールアプリケーションを作成しようとしています。http:// localhost:8080 / WS / myWSでWebサービスを正常にデプロイし、 wsimport を使用してプロキシクラスを作成しました。

現在、私のWebサービスクラスはbin / mywebservice /にあり、classpath=./を使用してクライアントクラスをコンパイルしようとしています。

これが私のクラスのソースコードです:

そして、私はエラーがあります:

助けてください、myClass_Serviceの何が問題になっていますか?myClass_Service.classは。\bin\mywebservice\に存在します

0 投票する
1 に答える
1310 参照

java - Java クライアントと PHP サーバー間で base64Binary SOAP パラメーターを送信する

HTMLページのコンテンツを送信するPHP SOAPサーバー( wsdlでnuSOAPを使用)があります。もちろん、HTML はさまざまなエンコーディングでコーディングできますが、このパラメータはXML では base64Binary 型であり、問​​題なく「ネイティブ エンコーディング」で HTML を受け取ります。

証明するために、私は3 つの SOAP クライアントを PHP、C#、および Java 6 でコーディングしましたが、最初の 2 つは問題ありません。Java クライアントはWSIMPORT 2.1を使用して作成され、コードの例は次のようになります。

問題は、HTML を base64 エンコーディングで送信する前に、Java クライアントのみが HTML コンテンツを UTF8 にエンコードし、PHP がこのファイルを受信すると、サーバーはそれを「BIG5 ファイル」ではなく「UTF8 アーカイブ」のように管理することです。

問題は、最初の UTF8 エンコーディングを回避する方法です。または、少なくとも base64 の後に utf-8 エンコーディングを行います。それ以前ではありません。

前もって感謝します。

0 投票する
1 に答える
3334 参照

web-services - Mavenを使用してWebアプリケーションのnetbeansでWebサービスクライアントを生成する

Web サービス クライアントを持つ Web アプリケーションがあります。netbeans でクライアントを右クリックすると、以下のように Web サービス属性を編集するオプションが表示されます。

ここに画像の説明を入力

同じアプリケーションに Maven を追加すると、Web サービス属性の編集中に -wsimport オプション タブが表示されません。次の画像を参照してください。

ここに画像の説明を入力

後のアプリケーションで依存関係の管理に使用される maven だけで、他のすべてはアプリケーションで同じです。

助けてください。

0 投票する
0 に答える
1805 参照

java - wsimport ant タスクの使用中にすべてのパッケージ名にプレフィックスを追加する

wsimport ant タスクを使用してクライアント コードを生成しています。周知のように、自動生成されたクラスのパッケージ名は、WSDL にある名前空間に従って決定されます。
これらのパッケージ名を変更し、パッケージ名のプレフィックスを追加したいと考えています。たとえば、wsdl の名前空間がcom.exampleの場合、パッケージ「prefix.com.example」が生成されます。

この問題を処理するために、2 つの異なる解決策を試しました。しかし、彼らは私を助けることができませんでした。

  1. -p prefix.com.example生成されたすべてのクラスがこのコマンドで 1 つのパッケージに含まれているため、wsimport ant タスクで使用されるコマンドは機能しません。
  2. jaxws または jaxb バインディング ファイルも同様に機能します。このタグを追加する<jaxb:package name="prefix.com.example" />と、生成されたクラスは という名前の 1 つのパッケージに含まれますprefix.com.example

クライアント コードの生成中に、パッケージ名のすべての名前空間にプレフィックスを追加したいだけです。
この件に関して他の解決策はありますか?

前もって感謝します。