http://axis.apache.org/axis2/java/core/docs/mtom-guide.html
官网教程:需要设置axis2.xml 中
<parameter name="enableSwA">true</parameter>
然后使用
client = new ServiceClient();
//client = new RPCServiceClient();
client.setOptions(option);
OperationClient mepClient = client.createClient(ServiceClient.ANON_OUT_IN_OP);
File file = new File("C:\\QQ截图20130617154758.png");
FileDataSource ds = new FileDataSource(file);
DataHandler dh = new DataHandler(ds);
MessageContext mc =new MessageContext();
mc.addAttachment(URLEncoder.encode("中文.png", "UTF-8"), dh);
mc.addAttachment(URLEncoder.encode("中文.png", "UTF-8"), dh);//同名附件只能传一个,会被覆盖
可以正常上传到服务器,我把contentId设置为文件名,方便生成,不过相同的文件名只会有一个附近到后台,且不能用中文。
可是,测试调用回之前的webservice方法,就出现了:
Caused by: org.apache.axiom.om.OMException: com.ctc.wstx.exc.WstxEOFException: Unexpected EOF in prolog
百度结果说卡巴斯基的问题,可是我没安装卡巴斯基。
后来把enableSwA设置回false,就一切正常了!!!!!!!!!!!!!!!!!!!
上传文件也是正常的!
我晕!
我也想知道为什么。。。。。。。。。