3

他のプラットフォーム/言語 (.NET、Delphi) とのJava オブジェクト交換に推奨する Java SOAP XML オブジェクト シリアライゼーション ライブラリはどれですか?

通信シナリオは次のようになります。

  • Java オブジェクト ライター -> SOAP XML テキスト -> .NET または Delphi オブジェクト リーダー
  • .NET または Delphi オブジェクト ライター -> SOAP XML テキスト -> Java オブジェクト リーダー

代替ソリューションとして XStream XML シリアル化ライブラリと JSON があることは知っていますが、Delphi と .Net には SOAP XML シリアル化オブジェクトのサポートが組み込まれているため、ネストされたオブジェクト、配列などの高度な機能をサポートする「標準化された」方法が提供されます。等々。

編集: 一方、JAXB - ( https://jaxb.dev.java.net/ )、JAXMe、およびJiBX - Binding XML to Java Code ( http://jibx.sourceforge.net/ ) を見つけました。ただし、デフォルトでは、SOAP シリアライズされた XML は生成されません。

可能な解決策は、HTTP サーバーなしで実行でき、SOAP XML コンテンツ (完全な要求ではなく、シリアル化されたオブジェクトのみ) に単純なファイル インターフェイスを提供する Web サービス ライブラリです。Axis 2CXFは非常に興味深いものです。

4

5 に答える 5

5

私は、これまでに使用した他のライブラリー (JAX-RPC、Axis 1 および 2、ただし XFire は除く) よりも JAX-WS (JAXB 2.1 データバインディングを使用) を好みます。JAXB 2 データバインディングはジェネリックを使用しているため、maxoccurs > 1 でプロパティを快適にマッピングできます。JAX-WS 自体は十分に文書化されており、適度に優れた API を提供しています。メソッドとパラメーターの注釈は、場合によっては少し手に負えなくなることがあります。注釈形式の XML 地獄です。通常はそれほど悪くはありません。

JAX-WS スタックの優れた側面の 1 つはプロジェクト Metro です。これは、Sun が Microsoft と共同開発したもので、Web サービス サポート .NET 3.0 とうまく相互運用でき、MTOM を実行可能な方法で実装するところまで進んでいます。

于 2009-04-13T18:29:53.167 に答える
4

CXFをお勧めします。これは非常に優れたサービス スタックであり、JAXB データ バインディングと JAX-WS サポートが含まれています。メッセージのより高度な変換とルーティングが必要な場合は、CXF (Axis と XStream もサポート) を含むMuleなどのオープン ソース統合プラットフォームを検討することをお勧めします。軽量で、アプリケーション サーバーなしで組み込みまたは実行できます。

于 2009-04-18T05:35:23.110 に答える
3

問題なく動作する Axis2 に加えて、Sun の JAX-WS (バージョン 2) とApache CXF (以前の XFire) もチェックする価値があります。Soap はあなたのものです。CXF は 3 つの中で最も成熟している可能性があるため、これが私のお気に入りですが、3 つすべてがかなり優れています。

于 2009-04-11T00:53:31.507 に答える
0

あなた自身の質問に答えたと思います。

XStream (JSON として出力) は、クリーンなソリューションです。タイプをエイリアスすると、クリーンな出力形式が得られます。その後は、Delphi/.NET との相互運用性が良好である限り、どの SOAP スタックを使用してもかまいません。

于 2009-04-18T22:45:55.363 に答える
0

このための標準ライブラリは、おそらく Apache Axis 1でしょう。かなりうまく機能しますが、軸 1.4 の代わりに軸 2 を使用することをお勧めします。

すべての SOAP 拡張機能が、相互運用性の夢をまさに夢のようにしていることを心に留めておいてください。

于 2009-04-11T00:17:04.857 に答える