1

プロジェクトでは、ApacheAxis21.6.2を使用してSOAPサービスを実装しています。MTOMを使用してファイルを受信する必要があるサービスがあります。しかし悲しいことに、MTOM添付ファイルの受信で問題が発生し続けています。私は例外を受け取り続けます:

org.apache.axiom.om.OMException: A data handler was not found for content id cid:491414508823

...。

Webで回答を検索しようとしましたが、成功しませんでした。誰かが私を正しい方向に導いてくれることを願っています。私のWSDLには次のスニペットが含まれています。

...
<xs:element minOccurs="0" name="PDF_Attachment">
  <xs:complexType>
     <xs:all>
         <xs:element minOccurs="0" name="PDF_AttachmentName" type="xs:string"/>
         <xs:element name="PDF_AttachmentContent" type="xs:base64Binary"/>
     </xs:all>
   </xs:complexType>
</xs:element>
...

SoapUIを使用してリクエストを生成し、プロパティ'useMTOM'をtrueに設定しました。

同じ問題に遭遇した、またはこれを解決する方法を知っている人はいますか?助けていただければ幸いです!

リチャード

アップデート

私はその問題に取り組んだと思います。問題は私のxsd/wsdl定義内にありました。jaxbを使用して、外部xsdで定義されたビジネスオブジェクトをJAXBアノテーション付きのPOJOに変換しました。しかし、xs:base64Binaryはbyte[]として変換されました。xsdを次のように変更します。

<xs:schema ... xmlns:xmime="http://www.w3.org/2005/05/xmlmime"> ...

そして、要素を次のように変更します。

<xs:element name="PDF_AttachmentContent" minOccurs="1" maxOccurs="1" type="xs:base64Binary" xmime:expectedContentTypes="application/octet-stream">

JAXBは、getPDF_AttatchmentContentのリターンタイプとしてDataHandlerを作成するようになりました。私が取り組まなければならない唯一の問題は、SOAPUIがMTOM添付ファイルを送信できるようにすることです。どういうわけか、私が作成したテストクライアントは完全に機能しますが、SOAPUIは添付ファイルを送信しません...

上記のソリューションのソース:http://cxf.apache.org/docs/mtom-attachments-with-jaxb.html

更新2: http : //ssagara.blogspot.nl/2012/03/test-axis2-jax-ws-mtom-service-using.htmlは、MTOMに関するSOAPUIの問題を解決しました。せっけんメッセージの正しいCIDを編集しませんでした。私はSOAPUIがそれを手伝ってくれると思いましたが、そうではありませんでした。

4

1 に答える 1

0

ソリューションの詳細は、上記の元のメッセージに記載されています。この問題は、次の2つのサイトを使用して解決されました。

  1. DataHandlerの問題:http ://cxf.apache.org/docs/mtom-attachments-with-jaxb.html
  2. SoapUIの問題:http ://ssagara.blogspot.nl/2012/03/test-axis2-jax-ws-mtom-service-using.html

これが皆さんのお役に立てば幸いです。

于 2012-07-17T08:32:18.567 に答える