Webサービスを呼び出し、mtomを使用してリクエストに添付ファイルを追加しようとしています。呼び出しているWebサービスでMtomが有効になっており、soapuiを使用してサービスを正常に呼び出すことができます。
リクエストのスキーマは次のようになります。
<element name="MyRequest">
<complexType>
<sequence>
...
<element name="content" type="base64Binary"
xmime:expectedContentTypes="text/xml" />
</sequence>
</complexType>
</element>
次に、Javaコードで、jaxbリクエストオブジェクトを作成し、文字列からコンテンツを設定しようとします。
MyRequest request = factory.createMyRequest();
StreamSource ss = new StreamSource(new StringReader("some content..."));
request.setContent(ss);
WebServiceTemplate wst = ...;
wst.marshalSendAndReceive(request);
マーシャラーでmtomを有効にするように設定しました(ただし、これがクライアントで必要かどうかはわかりません)。
<bean id="my-marshaller" class="org.springframework.oxm.jaxb.Jaxb2Marshaller">
<property name="contextPath" value="..."/>
<property name="mtomEnabled" value="true"/>
</bean>
しかし、次の例外が発生します。
javax.xml.transform.TransformerFactoryConfigurationError:プロバイダーnet.sf.saxon.TransformerFactoryImplが見つかりません
誰かが私が間違っていることについて何か考えを持っていますか、または誰かがSpring-wsクライアントからのmtomアタッチメントを使用してjaxbリクエストをマーシャリングする方法の例を教えてもらえますか?助けていただければ幸いです。