問題タブ [unmarshalling]
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 - アンマーシャリング中に ElementNSImpl から独自の型への断続的な ClassCastException
マーシャリングされていないオブジェクトのリストを反復処理しようとするとClassCastExceptions が発生することがあり、追跡が非常に困難な問題が発生しています。重要なビットは時々、再起動後に特定のコードが正常に動作することです。これは、同時実行/タイミング/競合状態の方向を示しているようです。JAXBContext も、マーシャラーとアンマーシャラーも同時に使用されていないことを確認できます。ロックによってそれらへのアクセスをシリアル化するところまで行きました。
ただし、Spring DM を介して個々のバンドルが非同期に初期化される OSGi プラットフォームで実行しているため、2 つの異なるバンドルが同時に JAXBContext を作成している可能性があります。
いずれにせよ、これらの断続的なClassCastExceptions を引き起こす可能性のある原因についての説明へのポインタをいただければ幸いです。コード自体は正常に動作しているが、何らかの外部要因が動作に影響を与えているように見えることを示すため、断続的であることが重要です。
例外の具体例を次に示します (会社固有のものを削除したことに注意してください)。
180行目のそのメソッドは、アンマーシャリングされたオブジェクト内のTunnelTypeオブジェクトのコレクションをループするfor()コンストラクトです(アンマーシャリングは問題なく機能します)。
実際のオブジェクトのアンマーシャリングが正常に行われたとすると、JAXB が ElementNSImpl オブジェクトをネストされたコレクション内に残すことは物理的に可能でしょうか?
実行時環境:
- JAXB2.1
- OSGi
- 春のDM
- JAXBContext は、整列化/非整列化されるクラスを含むバンドルの ClassLoader で初期化されます
ruby - wsdl2ruby SOAP::FaultError 詳細属性でのアンマーシャリング例外
wsdl2ruby を使用して Web サービスのクライアントを生成しました。サービス メソッドが WSDL で定義された例外の 1 つを発生させた場合、例外オブジェクトの属性にアクセスしたいと思います。私が知る限り、例外オブジェクトは SOAP::Mapping::Object にマーシャリングされ、RESCUE ブロックで使用できるようになった SOAP::FaultError オブジェクトの detail 属性によって参照されます。
SOAP::Mapping::Object は marshal_load メソッドに応答しますが、そのメソッドは dumpobj という 1 つのパラメーターを受け取ります。このため、オブジェクトをメソッドのレシーバーとして使用するのではなく、そのオブジェクトをメソッドのパラメーターとして提供する必要があると思われます。
例外オブジェクトをアンマーシャリングする適切な方法の例を教えてもらえますか?
json - Grails Date アンマーシャリング
RESTful クライアントから次の json を取得した場合、java.util.Date をエレガントに非整列化するにはどうすればよいですか? ((ハードコーディングとも呼ばれる)フォーマットを提供せずにそれは可能ですか、それは私がエレガントに意味するものです...)
jaxb - XML ファイルをオブジェクトにアンマーシャリングした後、JAXB にメソッドを呼び出させるにはどうすればよいですか?
私は JAXB を使用して、XML ファイルを Java オブジェクト (標準的なもの) に非整列化しています。JAXB がこれを完了したら、新しく作成されたオブジェクトでメソッドを呼び出したいと思います。
これを行うメカニズムはありますか?外部エンティティではなく、オブジェクトがこれを実行して、構築を1か所に保持することをお勧めします。
ありがとう。
xml - restlet の acceptRepresentation メソッドで JAXB を使用して XML をアンマーシャリングする
既存の Java ドメイン モデル クラスに注釈を付けて XML スキーマを作成しました。現在、JAXB を使用して、restlet Web サービス内で受信した表現を非整列化しようとすると、何を試しても多くのエラーが発生します。私はrestletsとJAXBの両方に慣れていないので、両方を使用する適切な例の方向に私を向けると、これまでに見つけたものだけが役に立ちます:
私のエラーは次のとおりです。
restlet.ext.jaxb JaxbRepresentation を使用しようとすると:
これから私は
java.io.IOException: Unable to unmarshal the XML representation.Unable to locate unmarshaller.
例外を取得しますjaxbRep.getObject()
そのため、代わりに次のコードを使用して、違いが生じるかどうかを確認する別のアプローチも試しました。
ただし、これにより、JAXBContext.newInstance への呼び出しが行われたときに次の例外も発生します。
アドバイスをよろしくお願いします。
java - weblogic コンテキスト ルックアップ エラー: java.rmi.UnmarshalException: 引数のアンマーシャリング エラー
本番環境で問題に直面しています。ネットの高値と安値を検索しましたが、答えを見つけることができませんでした。このエラー (以下のスタック トレース) は、管理対象サーバー 1 からマネージャー サーバー 2 への ejb ルックアップが行われたときに発生します。ルックアップには仮想 IP が使用されます。断続的かつランダムな間隔で発生します。パターンを特定することはできず、ejb 呼び出しを 2 回または 3 回試行すると、成功します。
環境の詳細: サーバー: weblogic 10.0 MP1 を Java 1.5 OS で実行: solaris
他の詳細が必要な場合は、元に戻してください。
ルックアップに使用されるソース:
URL は管理対象サーバー 2 を指す仮想 IP であり、jndi "CONTROL" を持つ ejb が含まれています。問題は、特定の機会に成功し、エラーでランダムに失敗することです:
エラーのスタック トレース:
Weblogic ログから以下のスタック トレースを取得しました。このエラーは、上記の問題に関連している可能性がありますか?
どんな助けでも大歓迎です。
ここにいくつかの追加情報があります..
問題は断続的ですか、それとも毎回再現しますか? 問題が断続的に発生する場合、どのような状況で発生するか知っていますか? 断続的に発生し、パターンを観察することはできません。
ローカル サーバーまたはリモート サーバーに記録された他のエラー/警告はありますか? weblogic ログに多数の接続拒否エラーが表示される
両方の管理対象サーバーが同じドメインにありますか? はい
java - 適切なXMLマーシャラーとアンマーシャラー
オブジェクトに変換する必要があるXMLがあります。その逆も同様です。Xstreamのようなものがあります。これまで、Xstreamを使用してobject/xmlをマーシャリングおよびアンマーシャリングしていました。ただし、問題は、xstreamのXMLに対応するオブジェクトが、すべてのタグを属性として持つ必要があることです。それ以外の場合、XMLにオブジェクトに存在しない追加のタグが含まれている場合。それは爆撃します。
または、操作が希望どおりに行われるように、カスタムコンバーターを作成する必要があります。また、一般的なダイジェスターを使用すると、XMLからオブジェクトへのXpath解析が可能になることも提案されました。
私は最善のアプローチは何であるか疑問に思っています。に限って:
- XMLをオブジェクトに、またはその逆に変換したいだけです。
- マップがマッピングオブジェクトに存在しないXMLのフィールドをサイレントに無視する機能があります。
何を指示してるんですか?
java - アンマーシャリングするJAXBフーバー
ご挨拶!次のような XML コンテンツをクライアントに返すサーバーがあります。
私は JAXB を初めて使用し、これを除いて多くの作業を行いました。これを文字列との間でマーシャリングおよびアンマーシャリングするのはかなり簡単だと思いました。しばらく時間がかかりましたが、最終的にこれを次のようにマーシャリングする方法を見つけました
私の質問は、これを非整列化する方法です。ルート要素として注釈を付けることはできません。java.lang をパッケージとして使用して JAXBContext の新しいインスタンスを作成することができません (ObjectFactory 欠落例外が発生します)。
伝える知恵はありますか?これはそれほど難しいことではありませんよね?