Веб-сервис требует, чтобы я установил тип DataHandler, который должен быть вложением xml.
DataSource dataSource = new FileDataSource(tempFile.getAbsolutePath());
DataHandler dataHandler = new DataHandler(dataSource);
request.setDataHandler(dataHandler);
Проблема заключается в том, что SOAPMessage, сгенерированный из Axis2, имеет значение base64
<dataHandler>big string64 string representing my content</dataHandler>
где вместо этого должно быть
<dataHandler><inc:Include href="cid:attachmentid" xmlns:inc="http://www.w3.org/2004/08/xop/include"/></dataHandler>
Content-Type: text/xml; charset=us-ascii; name=Sample.xml
Content-Transfer-Encoding: 7bit
Content-ID: <attachmentid>
Content-Disposition: attachment; name="Sample.xml"; filename="Sample.xml"
... the xml content....
WSDL
<xsd:element name="dataHandler" type="xsd:base64Binary" maxOccurs="1" minOccurs="1" xmime:expectedContentTypes="application/octet-stream"/>
Что я могу сделать, чтобы решить эту проблему?