0

Basiaclly送信するXML-dオブジェクトがあります。JIBXのおかげで、WSDLエンドポイントがあります。そのエンドポイントに到達したいだけです。それは私にとって非常に難しいことを証明しています。

POJOモードを使用したいのは、他のモードがSOAPヘッダーなどをいじることを伴わないよりもはるかに単純に見えるからです。

POJOモードはデフォルトでJAXBを呼び出すようですが、JIBXを使用したいと思います-私がインターフェースしているプロジェクトにはすでにJIBXの注釈が付けられており、

POJO自動JAXBをJIBXと交換するか、自分でマーシャリングを実行させて(これは正常に実行できます)、xmlメッセージを渡したいと思います。

from( "A" )
  .marshall().jibx() // works fine, and gives byte[] of marshalled object in In.body
  .process() {
      exchange.getIn().setHeader( CxfConstants.OPERATION_NAME, OPERATION);    
   }
   .to("cxf://SERVICE"
     + "?serviceClass=SERVICE_CLASS"
     + "&wsdlURL=SERVICE?wsdl"
     + "&dataFormat=POJO" );

次に、メッセージ本文でJaxbを呼び出そうとして、終了します。

byte []を文字列としてラップし、リストでラップしてdataformat = MESSAGEで送信しようとしましたが、実行しようとしていることを取得できないようです。

4

1 に答える 1

0

user1958722、

JiBXWebサイトと私のブログblog.tourgeek.comにあるいくつかの例を確認することをお勧めします

JiBXには、CXFに含まれているデータコネクタがあります。つまり、SpringBean.xmlファイルでjibxdataconnectorを指定するだけで、JiBXが自動的にマーシャリング/アンマーシャリングを実行します。

CXFはSOAPサーバーにとって優れたツールですが、SOAPクライアントで使用するのは少し難しいことがわかりました。JiBXクライアントライブラリを使用すると、時間を大幅に節約できます。javax.xml.ws.soapパッケージを使用してメッセージをSOAPコンテナにパッケージ化するため、非常に軽量です。

SOAPクライアントの作成に関する私の投稿を読み、リポジトリ内のサンプルクライアントコードのいくつかを確認することをお勧めします。

JiBXスキーマライブラリには、優れたWebサービスクライアントサーバーの例がいくつかあります。

パブリックメッセージセットを扱っている場合は、バインディングをJiBXスキーマライブラリに寄付することを検討してください。

これがお役に立てば幸いです。

ドン

于 2013-02-06T14:49:31.817 に答える