質問

私たちは、Webサービス・スタックを使用してバイナリデータを転送する必要があり、その過程で、私たちはWebサービス要求/応答に署名する必要があります。

主な質問は:?これを行うれる好ましい方法は何である

私たちはMTOMおよびWS-Securityを使用する必要がありますか? 私は1つは、MTOMを使用したときに問題があると結論づけているの ISSUE CXF-1904からそしてWS-Securityを。 CXFとAxis2の使用WSS4J、あなたがMTOMを使用するときにWSS4Jは、デジタル署名されたメッセージでうまく動作しないと思われます。

他のWebサービス・スタックはどう?

役に立ちましたか?

解決 4

http://ws.apache.org/wss4j/attachments.htmlするから:

WSS4J 2.0.0添付ファイル(SWA)1.1仕様をプロファイルでSOAPを介して、署名と暗号化SOAPメッセージの添付ファイルのサポートを導入します。署名やメッセージの添付ファイルを暗号化するためのWSS4J 1.6.xのではサポートされていません。添付ファイルは、以下のセクションで説明したように、「アクション」ベースのアプローチまたはWS-SecurityPolicyを介してのいずれかを介して署名され、WSS4Jで暗号化することができます。

他のヒント

CXFは、MTOMとともに、WS-Securityの関連のことを行うことができますが、添付ファイルは署名または暗号化されてしまうしません。 SOAPメッセージ自体は暗号化/署名したが、添付ファイルはWSS4Jの制約によるものではありませんさ。

(SpringWSはWSS4Jを使用している場合、それは同じ制限があります) CXFとWSS4JOutInterceptorを使用した場合、

セキュリティ上の理由から、デフォルトに、我々は、彼らがインライン化して、署名/暗号化され得ることを確認するためにMTOMをオフにします。これは、セキュリティの選択です。 WSS4JOutInterceptorは、MTOM添付ファイルとして残りますが、心に留めておくことが可能になる()out.setAllowMTOM(真)フラグ、これらの添付ファイルは「確保」されないを持っています。

単にbyte[]としてデータを送信します。大量のデータがある場合、WCFは、MTOMをサポートしています。

いいえの状況は、あなたがWSEを使用してはならないの下で。 WSEは、ASMX Webサービスの上に基づいています。マイクロソフトは、ASMX技術は「レガシー」であると述べている、と彼らはそれのバグを修正しないこと。さらに悪いことに、WSEはかなり時代遅れで、WCFによって置き換えられています。

私は、Apache CXFのAPI経由春-WSの使用をお勧めします、それは、かなり軽量良く、文書化され、使いやすいです。しかし、春-WSは、(これは私の意見では、何も悪いことではありませんが、あなたは異なると思うかもしれ)JAX-WSに準拠していません。

春-WSは、基礎となるSOAP実装の周りにだけ光、春の優しいラッパーであり、私はSunの実装を使用してお勧めしますが、日JAX-WSまたはApache CXFの上で動作するはずです。また、フルMTOMと(ApacheのWSS4J経由)のWS-Securityをサポートしています。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top