問題タブ [jaxb2]

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 投票する
3 に答える
2019 参照

java - xsd を Bean/Object に変換するための Java ライブラリ

XSD ファイルを Java Bean または Java オブジェクトに変換するためのライブラリのオプションは何ですか? JAXB2 を使用して変換しようとしている大きな XSD がありますが、JAXB2 は無効なクラスを作成しています。

0 投票する
2 に答える
424 参照

java - JAXB を使用して共有オブジェクトを生成することは可能ですか?

3 つの xsd ファイルがあります。

  • a.xsd
  • b.xsd
  • 共有.xsd

shared.xsd は、a.xsd と b.xsd の両方にインポートされます。

shared.xsd の定義

xjc を使用して Java コードを生成すると、a.xsd と b.xsd が異なるパッケージに生成され、各パッケージでアイテム用に個別の Java クラスが生成されます。item に対して単一の共有クラスを持ち、それを a と b に使用させるにはどうすればよいでしょうか?

0 投票する
2 に答える
765 参照

java - xslt help-空のタグを削除し、*を空のタグに置き換えます

JavaプログラムでXSLT前処理を実行しているときに問題が発生しました。メインフレームプログラムが値を空白にしたい場合は、アスタリスク(*)を取得します。これは、Javaプロセスが空白または空のタグのように処理する必要があります。したがって、jaxbプロセスの前にxsltを入力に適用します。

このxsltを適用しています:

上記のxsltは、ほとんどすべてのテストケースで正常に機能します。サブ要素が1つだけで、それがたまたまアスタリスクである場合を除きます。

たとえば、入力でこれを考慮してください。

うまく機能します。次の出力が生成されます。

ただし、以下のxml入力は、誤った応答を生成します。

しかし、応答を与える代わりに

それはこれを与えます:

助けてください。コードのテスト中にこのテストケースがなかったので、どんな助けでもありがたいです。

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

java - Spring Web サービス: Bean を XML クライアント側にアンマーシャリングする簡単な方法は?

私はSpringを利用して、Beanオブジェクトのすべてのマーシャリング/アンマーシャリングを行っています(jaxb2Marshaller/WebServiceTemplate経由)。デバッグの目的で、リクエスト/レスポンス XML を吐き出せるようにしたいと考えています。これが可能かどうか誰にもわかりますか?ありがとう。

0 投票する
2 に答える
1890 参照

java - 異なる要素を同じプロパティにマッピングするJaxb2

これはjaxb2で可能かしら。<element>または<element2>のいずれかになり得るxmlがありますが、いつかは表示されません。これらは両方ともString型であり、Javaクラスの同じプロパティにマップする必要があります。jaxb2にそれを構成する方法はありますか?

ありがとうチャーリー

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

java - JAXBException: IllegalAnnotationExceptions による GET REST サービスの実装の問題

Java REST サービスの実装で非常に奇妙な問題が発生しています。私は次のモデルを受信しようとしています:

私の GET レスト サービスには次の署名があります。

この GET サービスで呼び出しを行うたびに、次を含む 500 エラーが表示されます

次の2つのエラーまで追跡できました。

奇妙なことに、GET メソッドのシグネチャを List を返すように変更すると、typeName フィールド以外のすべてのフィールドを持つオブジェクトの JSON ビューで 200 が返されます。例外は何らかの形でそのフィールドに関連していると推測しています。次のような明示的なゲッターを追加しようとしました

typeName を送信するように強制しようとすると、これは型名を GET メソッドの「リスト」バージョンに取得しますが、リスト以外の場合は 500 を返します。奇妙なことに、これとまったく同じように見え、問題なく動作する別のモデルがあります。私はしばらくこれに頭を悩ませてきましたが、どんな助けも大歓迎です。

ありがとうございました。

0 投票する
2 に答える
4726 参照

ant - Ant (または Maven) を使用してオンザフライで jaxb.in​​dex ファイルを作成する方法

これは、質問をするというよりも、知識を共有するためのものです。この Ant の小さなスニペットは、誰かの役に立つかもしれないと考えました。

わかりました、わかりましたので、適切なファイル構造を再構築できるようにすべてのパッケージ名を保存するわけではありませんが、始めるには十分です。

それが役に立てば幸い。

また、この小さなスニペット (ターゲット要素を除く) を次のように Maven ビルドに挿入することもできます。

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

mapping - java.util.MapのJAXB@XmlElementWrapper要素をカスタマイズできますか?

JaxbでMapを使用する方法を学ぼうとしています。これは私がしました:

結果は次のとおりです。

「entry」、「key」、「value」要素名を変更する方法はありますか?

@ XmlElements、@ XmlElementを使用しようとしましたが、エラーが発生しました。

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

java - SpringWebServiceTemplateおよびJaxb2Marshallerを使用する場合のスレッドセーフ

私はSpringWebServiceTemplateをプログラムでWebサービスクライアントとして使用しています。つまり、Springコンテナをインスタンス化することはありません。マーシャリング/アンマーシャリングにJaxb2Marshallerを使用しています。私のアプリケーションでは、SaajSoapMessageFactoryの単一のインスタンスとJaxb2Marshallerの1つのインスタンスを作成します。また、WebServiceTemplateの単一のインスタンスを作成し、以前に作成したSaajSoapMessageFactoryとJaxb2Marshallerのインスタンスを割り当てます。

私が作成したWebServiceTemplateはマルチスレッドで使用されます。つまり、複数のスレッドが同時にmarshalSendAndReceiveを呼び出すことができます。私の質問は-私の構成スレッドは安全ですか?Jaxb2Marshallerが心配です。javadocによると、Jaxb2Marshallersは必ずしもスレッドセーフではありません。Jaxbコンテキストを再初期化せずに、スレッドセーフな方法でJaxb2Marshallerを使用するにはどうすればよいですか?

余談ですが、スプリングリファレンスのspring-ws構成の例を見ると、Jaxb2Marshallerはスレッドセーフであると思いますが、Javadocはそれと矛盾しているようです。

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

web-services - JBoss にデプロイされた Web サービスを呼び出す Web サービス クライアントでの InstantiationException

@WebService アノテーションが付けられた StatelessSessionBean を JBoss にデプロイしています。JBoss によって生成された WSDL を使用して、クライアント スタブを生成しています。私の問題は、オブジェクトのリストを返すメソッドを呼び出すことです。リストが空の場合、呼び出しは成功しますが、リストが空でない場合、次の例外が発生します。

Web を検索すると、ここでこの議論が行われました: http://forums.java.net/jive/message.jspa?messageID=281780

ただし、 @XmlSeeAlso を正しく設定しており、生成されたスタブ クラスに存在します。DataItemType クラスが抽象であることを確認できたので、インスタンス化しようとすると問題が発生しても不思議ではありません。DataItemType クラスがインスタンス化されている理由がまったくわかりません (抽象的であるため)。これは、サーバーから返される XML です (私にはほぼ正しいように見えます)。

私が間違っていることを誰かが知っていますか?