問題タブ [saaj]

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 に答える
4392 参照

web-services - saaj 例外 - コンテンツ タイプを解析できません: null

私は Web サービスにかなり慣れていないので、添付ファイル (バイナリ ファイル) を送受信する SAAJ の例に取り組んでいます。クライアントがファイルを送信したときに動作させることができますが、要求されたときには動作しません。クライアント側で例外が発生します:
ERROR: 'Content is not allowed in prolog.'。2012 年 10 月 24 日 13:59:28 com.sun.xml.internal.messaging.saaj.soap.EnvelopeFactory createEnvelope SEVERE: SAAJ0511: 指定されたソース com.sun.xml.internal.messaging.saaj.SOAPExceptionImpl からエンベロープを作成できません: 指定されたソースからエンベロープを作成できません

誰にもアイデアはありますか???私のクライアントコードは次のとおりです:

サーバーコードは次のようになります。

putHeaders は次のようになります。

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

java - Axis2 SAAJ での添付キャッシュの使用

SOAP 添付ファイル (SwA または MTOM) を使用してバイナリ コンテンツをサポートするために、アプリケーション内の既存の SOAP スタック (クライアント側とサーバー側の両方) をアップグレードしています。既存のコード ベースは SAAJ を広範囲に活用し、Axis2 (そのまま 1.5.6) 実装を使用します。(アプリケーションの他の部分は既に Axis2 を使用しているため、それに固執するのが合理的と思われます)。

SAAJ API (ノード、要素、SOAPAttachments インスタンスの追加など) を使用して SOAPMessage を構築すると、すべてが正常に機能します。シリアライズされた SOAPMessage は、確かに適切な xop/mtom メッセージです。

私の問題は、Axis2 の MessageFactory を介してそのようなメッセージを InputStream として解析するときに発生します (いいえ、AxisServlet/Endpoint を使用しません。生のストリームを直接解析することがあります)。動作します (機能的に同等の SOAPMessage インスタンスが返されます) が、添付ファイルがメイン メモリに読み込まれないように、(axiom の基になる) 添付ファイル キャッシュ機能を Axis2 に使用してもらいたいのですが、これを実現することはできません。

axis-saaj.jar での Axis2 の実装についての私の理解から、SOAPMessageImpl はキャッシュ機能を有効にせずに Axiom Attachments インスタンスをインスタンス化するようにハードコーディングされているようであり、構成可能な方法 (軸 conf ファイル、システム プロパティ、独自の拡張機能) がないように見えます。メッセージファクトリなど...) を変更して、この動作を変更します。

何か不足していますか?添付キャッシュで axis-saaj を使用する方法 (または InputStream から SOAPMessage インスタンスに取得する他の方法) はありませんか? 私が見つけることができる axis2-saaj に関するドキュメントはほとんどなく、Axis User ML はこれについて沈黙を守っています。

ありがとう!

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

java - saaj クラス ライブラリの読み込みに関する問題

宿題をしましたが、まだ問題の解決策を見つけることができません。添付ファイル付きの石鹸 (saaj テクノロジ) を使用する NetBeans を介して WAR ファイルを作成しました。提案どおり、プロジェクトに saaj-impl.jar、saaj-ri.jar、saaj-api.jar を含めます。ただし、「ホットデプロイ」するか、WAR ファイルを webapps ディレクトリに配置すると、次の例外が発生します。

次のように明示的にクラスパスを指定しようとしました:

私はさらに調査を行い、クラスローダーを呼び出そうとしました:

ただし、上記と同じ例外です。サーバーを再起動すると、アプリが正常に動作することがあるため、これは奇妙です。SOAP 応答が受信され、結果が表示されますが、サーバーを再起動した後にのみ表示されます。これは、サーバーの再起動時に何らかの方法で saaj クラスが検出されるという事実を示唆していますか? しかし、問題は、再起動せずに「ホットデプロイ」するか、更新されたWARをwebappsディレクトリに配置するときに機能する必要があることです。WAR が更新されるたびに本番サーバーを再起動する余裕はありません。

もう1つの奇妙な問題は、サーバーを再起動した後、このWARアプリを起動すると正常に動作することです。ただし、同じ saaj クラス ライブラリを使用する他のアプリは、この同じ例外をスローします。したがって、このWARアプリを使用していて他のアプリが機能していないか、他のアプリを使用していて、このWARアプリがこの例外をスローしています。ある種の限定的な saaj ライブラリ共有はありますか? 私はこれまでにこのようなものを見たことがありません。

この非常に奇妙な(そして厄介な)問題について誰か助けてくれませんか?

ありがとう、ビクター。

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

soap - MTOMとSAAJが提供するアタッチメント機能の違いは何ですか?

SAAJ: Java用の添付ファイルAPIを備えたSOAP

MTOM: SOAPメッセージ送信最適化メカニズム

私の簡単な理解:それらはSOAP添付ファイルを処理し、MTOMはSAAJのより最適化されたバージョンです。これは正しいです?

彼らは単に同じことをする2つの異なる方法ですか?それとも、ここでリンゴとオレンジを比較しようとしていますか?

SAAJとMTOMを一緒に使用できますか?

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

java - SOAP 添付ファイルからの ZIP ファイルの破損したフェッチ

メッセージ ハブからファイルをフェッチするのに役立つ Web サービスを使用しています。ファイルの種類は、XML または ZIP のいずれかです。

ZIP ファイルの場合、コンテンツ タイプはバイナリです。

私はこのコードを持っています:

}

現在、コードは XML ファイルを取得するために正常に動作しますが、ZIP ファイルの場合、ファイルが破損していることが判明しました。Messaging Hub からファイル ユーティリティを使用して同じファイルをダウンロードしたところ、SOAP 添付ファイルを介して取得したファイルのサイズが実際のサイズより約 4 バイト大きいことがわかりました。

更新 :添付ファイルのエンコーディングは 7 ビット (邪魔になる場合) ですが、別の zip を含む別の添付ファイルは Quote-printable にエンコードされています。両方の zip が同じ Web サービスからフェッチされており (ただし、エンコーディングは異なります)、どちらも破損しています。

編集:ファイルを受信して​​いるエンコーディングに問題があると強く感じています。実際のファイルと受信した添付ファイルの比較を次に示します。

実際のファイル サイズ : 9031 バイト 受信した添付ファイル サイズ : 9066 バイト

ドキュメント エディターで両方のファイルを比較して、両方の違いを見つけようとしました。元のファイルと取得した添付ファイルの違い (バイナリ エディタ):

ed を 3f に変更、db を 3f に変更、d6 を 3f に変更、85 を 3f に変更、d0 を 3f に変更、

等々。

zip ファイルには、PDF ファイルと XML ファイルが含まれています。

両方のファイルの開始行は類似しており、PK で始まります

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

java - Java クラスから SOAP Web サービス呼び出しを行うには?

私はWebサービスの世界に比較的慣れていませんが、私の研究は私を啓発するよりも混乱させているようです.私の問題は、いくつかのWebサービス機能で拡張する必要があるライブラリ(jar)が与えられたことです.

このライブラリは他の開発者に共有され、jar 内のクラスの中には、Web サービスを呼び出すメソッドを持つクラスがあります (これは、基本的にクラスの属性を設定し、オブジェクトをデータベースに格納するなど、いくつかのビジネス ロジックを実行します。などを変更し、それらの変更を加えてオブジェクトを送り返します)。私はこのサービスの呼び出しをできるだけ単純にしたいと考えています。できれば、このクラスを使用する開発者だけが行う必要があるように、できるだけ単純にしたいと考えています。

wsimportサーバーで使用する JAX-WS を研究していますが、サーバーにもクライアントにもを作成する必要はないように思えますwsimport。どちらにもクラスがあることがわかっているので、クラス間の相互作用が必要なだけです。サーバーとクライアントの両方で共有されます。クラスで Web サービスと呼び出しを行うのはどのように理にかなっていると思いますか?

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

java - Java SAAJ 基本認証

サービスを提供する基本的な SOAP サービス エンドポイント (実際には SAP ECC) があります。私は SOAPUI 4.5 を使用してサービスをテストしましたが、HTTP Auth を使用して正常に動作し、物事の見た目からプリエンプティブです。アウトバウンドの「Authorization:Basic BASE64」が表示され、サービスは適切に応答します。

私は今、これを Java に取り込もうとしています。私はSAAJのアプローチをとろうと思いました:

しかし、HTTP 認証を追加する方法が見つかりません。SAAJ が SOAP メッセージを制御する手段を提供していると思いますが、認証を追加するにはどうすればよいですか? 検討する価値のある代替手段はありますか?

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

java - CXF/MTOM を使用してすべてのドキュメントを受信できませんでした

私は非常に単純なことをしようとしています.クライアントはWSDLを介してSOAPサービスを呼び出し、PDFドキュメントをロードします。

Apache CXF 2.7.5MTOMを使用しています

問題は、ドキュメントがクライアントに完全に送信されていないように見えることです (ファイル サイズがオリジナルと等しくない) ため、ADOBE は破損しているためドキュメントを開くことができません。

単体テストと SOAPUI 呼び出しの両方が失敗しました。

質問のタイトルを改善する必要がある場合は、どういたしまして

前もって感謝します。

サービスインターフェース

サービスの実装

PDFデータソース

値オブジェクト

単体テスト(クライアントを起動させるため)

例外スタック

SOAPUI httpLogペーストビンへのリンク SOAP UI http Log

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

java - 有効な SOAP SAAJ エンベロープでデフォルトの名前空間を使用する

これら 2 つの SOAP メッセージは有効ですか? 異なる部分は、名前空間属性 xmlns="http://www.sigvalue.com/acc" です。最初の SOAP はサンプルで、2 番目は同じ SOAP メッセージを作成するために Java コードによって生成されたものです。

.

2 番目の石鹸が無効な場合、どうすれば最初の石鹸と同じにできますか? GetNGPList.addNamespaceDeclaration("xmlns"," http://www.sigvalue.com/acc "); この行は期待どおりに機能しません。ここにJAVAコードがあります: