import javax.activation.DataHandler;
import javax.jws.WebMethod;
import javax.jws.WebParam;
import javax.jws.WebResult;
import javax.jws.WebService;
import javax.jws.soap.SOAPBinding;
import javax.xml.bind.annotation.XmlMimeType;
import javax.xml.ws.soap.MTOM;
@WebService
@SOAPBinding(style = SOAPBinding.Style.RPC)
@MTOM
public interface ZhizhengService {
@XmlMimeType("application/octet-stream")
public DataHandler zhizheng();
}
import org.springframework.web.context.support.SpringBeanAutowiringSupport;
import javax.activation.DataHandler;
import javax.activation.FileDataSource;
import javax.jws.WebService;
import javax.xml.bind.annotation.XmlMimeType;
import javax.xml.ws.soap.MTOM;
import java.io.File;
@WebService(endpointInterface="com.nantian.jianZhang.webservice.ZhizhengService")
@MTOM
public class ZhizhengServiceImpl extends SpringBeanAutowiringSupport implements ZhizhengService {
@XmlMimeType("application/octet-stream")
public DataHandler zhizheng() {
return new DataHandler(new FileDataSource(new File("F:/ams20161107/凭证--交易性金融资产.xml")));
}
}
import java.io.FileOutputStream;
import java.io.IOException;
import java.net.URL;
import javax.activation.DataHandler;
import javax.xml.namespace.QName;
import javax.xml.ws.Service;
import com.nantian.jianzhang.webservice.ZhizhengService;
public class BASTest {
public static void main(String[] args) throws IOException {
URL url=new URL("http://localhost:8080/BAS/services/zhizheng?wsdl");
QName qname=new QName("http://webservice.jianZhang.nantian.com/", "ZhizhengServiceImplService");
Service service=Service.create(url, qname);
ZhizhengService zhizheng=service.getPort(ZhizhengService.class);
DataHandler data=zhizheng.zhizheng();
FileOutputStream outputStream = new FileOutputStream("E:/test.xml");
data.writeTo(outputStream);
outputStream.flush();
}
}
运行的时候报错:
Exception in thread "main" com.sun.xml.internal.ws.protocol.soap.MessageCreationException: 由于出现异常错误, 无法创建 SOAP 消息: com.sun.xml.internal.org.jvnet.mimepull.MIMEParsingException: Reached EOF, but there is no closing MIME boundary.
at com.sun.xml.internal.ws.encoding.SOAPBindingCodec.decode(Unknown Source)
at com.sun.xml.internal.ws.transport.http.client.HttpTransportPipe.createResponsePacket(Unknown Source)
at com.sun.xml.internal.ws.transport.http.client.HttpTransportPipe.process(Unknown Source)
at com.sun.xml.internal.ws.transport.http.client.HttpTransportPipe.processRequest(Unknown Source)
at com.sun.xml.internal.ws.transport.DeferredTransportPipe.processRequest(Unknown Source)
at com.sun.xml.internal.ws.api.pipe.Fiber.__doRun(Unknown Source)
at com.sun.xml.internal.ws.api.pipe.Fiber._doRun(Unknown Source)
at com.sun.xml.internal.ws.api.pipe.Fiber.doRun(Unknown Source)
at com.sun.xml.internal.ws.api.pipe.Fiber.runSync(Unknown Source)
at com.sun.xml.internal.ws.client.Stub.process(Unknown Source)
at com.sun.xml.internal.ws.client.sei.SEIStub.doProcess(Unknown Source)
at com.sun.xml.internal.ws.client.sei.SyncMethodHandler.invoke(Unknown Source)
at com.sun.xml.internal.ws.client.sei.SyncMethodHandler.invoke(Unknown Source)
at com.sun.xml.internal.ws.client.sei.SEIStub.invoke(Unknown Source)
at com.sun.proxy.$Proxy27.zhizheng(Unknown Source)
at com.nantian.test.BASTest.main(BASTest.java:28)
Caused by: com.sun.xml.internal.org.jvnet.mimepull.MIMEParsingException: Reached EOF, but there is no closing MIME boundary.
at com.sun.xml.internal.org.jvnet.mimepull.MIMEParser.readBody(Unknown Source)
at com.sun.xml.internal.org.jvnet.mimepull.MIMEParser.access$600(Unknown Source)
at com.sun.xml.internal.org.jvnet.mimepull.MIMEParser$MIMEEventIterator.next(Unknown Source)
at com.sun.xml.internal.org.jvnet.mimepull.MIMEParser$MIMEEventIterator.next(Unknown Source)
at com.sun.xml.internal.org.jvnet.mimepull.MIMEMessage.makeProgress(Unknown Source)
at com.sun.xml.internal.org.jvnet.mimepull.DataHead.read(Unknown Source)
at com.sun.xml.internal.org.jvnet.mimepull.MIMEPart.read(Unknown Source)
at com.sun.xml.internal.ws.encoding.MimeMultipartParser$PartAttachment.asInputStream(Unknown Source)
at com.sun.xml.internal.ws.encoding.MtomCodec.decode(Unknown Source)
at com.sun.xml.internal.ws.encoding.SOAPBindingCodec.decode(Unknown Source)
at com.sun.xml.internal.ws.encoding.MimeCodec.decode(Unknown Source)
... 16 more