[ https://issues.apache.org/jira/browse/AXIS2-3245?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
skudx closed AXIS2-3245. ------------------------ Resolution: Invalid Thanks. jaxws-ri-2.1.2 final/axis2_1.3 dont have this problem. > mtom - (axis 1.3 vs jax-ws ri JAX-WS RI 2.1.2) > ---------------------------------------------- > > Key: AXIS2-3245 > URL: https://issues.apache.org/jira/browse/AXIS2-3245 > Project: Axis 2.0 (Axis2) > Issue Type: Bug > Components: adb > Affects Versions: 1.3 > Environment: windows xp/ java 1.4 (axis) & java 1.5.0_06 (+jax-ws ri > 2.1.2) > Reporter: skudx > > Used the followng wsdl to generate a jax-ws ri-based server. The server is > launched using endpoint.publish. > <wsdl:definitions xmlns:tns="http://ws.apache.org/axis2/mtomsample/" > xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" > xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" > xmlns:xmime="http://www.w3.org/2005/05/xmlmime" > xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl" > xmlns:xsd="http://www.w3.org/2001/XMLSchema" > xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" > xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" > xmlns="http://schemas.xmlsoap.org/wsdl/" > targetNamespace="http://ws.apache.org/axis2/mtomsample/"> > <wsdl:types> > <xsd:schema xmlns="http://schemas.xmlsoap.org/wsdl/" > attributeFormDefault="qualified" > elementFormDefault="qualified" > > targetNamespace="http://ws.apache.org/axis2/mtomsample/"> > <xsd:import > namespace="http://www.w3.org/2005/05/xmlmime" > > schemaLocation="http://www.w3.org/2005/05/xmlmime" /> > <xsd:complexType name="AttachmentType"> > <xsd:sequence> > <xsd:element minOccurs="0" > name="fileName" > type="xsd:string" /> > <xsd:element minOccurs="0" > name="binaryData" > > xmime:expectedContentTypes="*/*" type="xsd:base64Binary" /> > </xsd:sequence> > </xsd:complexType> > <xsd:element name="AttachmentRequest" > type="tns:AttachmentType" /> > <xsd:element name="AttachmentResponse" > type="tns:AttachmentType" /> > </xsd:schema> > </wsdl:types> > <wsdl:message name="AttachmentRequest"> > <wsdl:part name="part1" element="tns:AttachmentRequest" /> > </wsdl:message> > <wsdl:message name="AttachmentResponse"> > <wsdl:part name="part1" element="tns:AttachmentResponse" /> > </wsdl:message> > <wsdl:portType name="MTOMServicePortType"> > <wsdl:operation name="attachment"> > <wsdl:input message="tns:AttachmentRequest" > wsaw:Action="attachment" /> > <wsdl:output message="tns:AttachmentResponse" > > wsaw:Action="http://schemas.xmlsoap.org/wsdl/MTOMServicePortType/AttachmentResponse" > /> > </wsdl:operation> > </wsdl:portType> > <wsdl:binding name="MTOMServiceSOAP11Binding" > type="tns:MTOMServicePortType"> > <soap:binding transport="http://schemas.xmlsoap.org/soap/http" > style="document" /> > <wsdl:operation name="attachment"> > <soap:operation soapAction="attachment" > style="document" /> > <wsdl:input> > <soap:body use="literal" /> > </wsdl:input> > <wsdl:output> > <soap:body use="literal" /> > </wsdl:output> > </wsdl:operation> > </wsdl:binding> > <wsdl:service name="MTOMSample"> > <wsdl:port name="MTOMSampleSOAP11port_http" > binding="tns:MTOMServiceSOAP11Binding"> > <soap:address > > location="http://localhost:8080/axis2/services/MTOMSample" /> > </wsdl:port> > </wsdl:service> > </wsdl:definitions> > Generated axis client using options: -s -p axisc -ssi -uri > http://localhost:2000/coo?wsdl. > package axisc; > import java.io.ByteArrayInputStream; > import java.io.ByteArrayOutputStream; > import java.io.IOException; > import java.io.InputStream; > import java.io.OutputStream; > import javax.activation.DataHandler; > import javax.activation.DataSource; > import org.apache.axis2.Constants; > import org.apache.axis2.client.Options; > import axisc.DemoServerServiceStub.AttachmentRequest; > import axisc.DemoServerServiceStub.AttachmentResponse; > import axisc.DemoServerServiceStub.AttachmentType; > public class AxisDhC { > /** > * @param args > * @throws IOException > */ > public static void main(String[] args) throws IOException { > // TODO Auto-generated method stub > DemoServerServiceStub dhd = new DemoServerServiceStub(); > Options options = new Options(); > options.setProperty( Constants.Configuration.TRANSPORT_URL, > "http://localhost:8001/coo"); > options.setProperty(Constants.Configuration.ENABLE_MTOM, "true"); > > dhd._getServiceClient().setOverrideOptions(options); > DataHandler dh1 = new DataHandler(new DataSource(){ > public String getContentType() { > // TODO Auto-generated method stub > return "text/xml"; > } > public InputStream getInputStream() throws IOException { > ByteArrayInputStream bais = > new > ByteArrayInputStream("<xml><ax>b</ax></xml>".getBytes()); > return bais; > } > public String getName() { > return "sample.xml"; > } > public OutputStream getOutputStream() throws IOException { > // TODO Auto-generated method stub > return null; > }}); > > AttachmentType dw = new AttachmentType(); > dw.setBinaryData(dh1); > > AttachmentRequest ar = new AttachmentRequest(); > ar.setAttachmentRequest(dw); > AttachmentResponse dwr = dhd.attachment(ar); > dump(dwr.getAttachmentResponse().getBinaryData()); > } > private static void dump(DataHandler dh2) throws IOException { > System.out.println("type: " + dh2.getContentType()); > System.out.println("name: " + dh2.getName()); > System.out.println("content: " + dh2.getContent()); > System.out.println("ds: " + dh2.getDataSource()); > ByteArrayOutputStream baos = new ByteArrayOutputStream(); > InputStream is = dh2.getInputStream(); > int ch = -1; > while((ch = is.read()) != -1) { > baos.write(ch); > } > baos.flush(); > baos.close(); > is.close(); > System.out.println("content: " + baos.toString()); > } > } > If I enable mtom, the jax-ws server reports the following error: > java.lang.NullPointerException > at > com.sun.xml.ws.encoding.SOAPBindingCodec.decode(SOAPBindingCodec.java:322) > at com.sun.xml.ws.encoding.MimeCodec.decode(MimeCodec.java:116) > at > com.sun.xml.ws.encoding.SOAPBindingCodec.decode(SOAPBindingCodec.java:272) > at > com.sun.xml.ws.transport.http.HttpAdapter.decodePacket(HttpAdapter.java:262) > at > com.sun.xml.ws.transport.http.HttpAdapter.access$500(HttpAdapter.java:79) > at > com.sun.xml.ws.transport.http.HttpAdapter$HttpToolkit.handle(HttpAdapter.java:418) > at > com.sun.xml.ws.transport.http.HttpAdapter.handle(HttpAdapter.java:230) > at > com.sun.xml.ws.transport.http.server.WSHttpHandler.handleExchange(WSHttpHandler.java:92) > at > com.sun.xml.ws.transport.http.server.WSHttpHandler.handle(WSHttpHandler.java:77) > at com.sun.net.httpserver.Filter$Chain.doFilter(Filter.java:65) > at sun.net.httpserver.AuthFilter.doFilter(AuthFilter.java:65) > at com.sun.net.httpserver.Filter$Chain.doFilter(Filter.java:68) > at > sun.net.httpserver.ServerImpl$Exchange$LinkHandler.handle(ServerImpl.java:575) > at com.sun.net.httpserver.Filter$Chain.doFilter(Filter.java:65) > at sun.net.httpserver.ServerImpl$Exchange.run(ServerImpl.java:547) > at > java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675) > at java.lang.Thread.run(Thread.java:595) > java.lang.NullPointerException > at > com.sun.xml.ws.encoding.SOAPBindingCodec.decode(SOAPBindingCodec.java:322) > at com.sun.xml.ws.encoding.MimeCodec.decode(MimeCodec.java:116) > at > com.sun.xml.ws.encoding.SOAPBindingCodec.decode(SOAPBindingCodec.java:272) > at > com.sun.xml.ws.transport.http.HttpAdapter.decodePacket(HttpAdapter.java:262) > at > com.sun.xml.ws.transport.http.HttpAdapter.access$500(HttpAdapter.java:79) > at > com.sun.xml.ws.transport.http.HttpAdapter$HttpToolkit.handle(HttpAdapter.java:418) > at > com.sun.xml.ws.transport.http.HttpAdapter.handle(HttpAdapter.java:230) > at > com.sun.xml.ws.transport.http.server.WSHttpHandler.handleExchange(WSHttpHandler.java:92) > at > com.sun.xml.ws.transport.http.server.WSHttpHandler.handle(WSHttpHandler.java:77) > at com.sun.net.httpserver.Filter$Chain.doFilter(Filter.java:65) > at sun.net.httpserver.AuthFilter.doFilter(AuthFilter.java:65) > at com.sun.net.httpserver.Filter$Chain.doFilter(Filter.java:68) > at > sun.net.httpserver.ServerImpl$Exchange$LinkHandler.handle(ServerImpl.java:575) > at com.sun.net.httpserver.Filter$Chain.doFilter(Filter.java:65) > at sun.net.httpserver.ServerImpl$Exchange.run(ServerImpl.java:547) > at > java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675) > at java.lang.Thread.run(Thread.java:595) > java.lang.NullPointerException > at > com.sun.xml.ws.encoding.SOAPBindingCodec.decode(SOAPBindingCodec.java:322) > at com.sun.xml.ws.encoding.MimeCodec.decode(MimeCodec.java:116) > at > com.sun.xml.ws.encoding.SOAPBindingCodec.decode(SOAPBindingCodec.java:272) > at > com.sun.xml.ws.transport.http.HttpAdapter.decodePacket(HttpAdapter.java:262) > at > com.sun.xml.ws.transport.http.HttpAdapter.access$500(HttpAdapter.java:79) > at > com.sun.xml.ws.transport.http.HttpAdapter$HttpToolkit.handle(HttpAdapter.java:418) > at > com.sun.xml.ws.transport.http.HttpAdapter.handle(HttpAdapter.java:230) > at > com.sun.xml.ws.transport.http.server.WSHttpHandler.handleExchange(WSHttpHandler.java:92) > at > com.sun.xml.ws.transport.http.server.WSHttpHandler.handle(WSHttpHandler.java:77) > at com.sun.net.httpserver.Filter$Chain.doFilter(Filter.java:65) > at sun.net.httpserver.AuthFilter.doFilter(AuthFilter.java:65) > at com.sun.net.httpserver.Filter$Chain.doFilter(Filter.java:68) > at > sun.net.httpserver.ServerImpl$Exchange$LinkHandler.handle(ServerImpl.java:575) > at com.sun.net.httpserver.Filter$Chain.doFilter(Filter.java:65) > at sun.net.httpserver.ServerImpl$Exchange.run(ServerImpl.java:547) > at > java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675) > at java.lang.Thread.run(Thread.java:595) > java.lang.NullPointerException > at > com.sun.xml.ws.encoding.SOAPBindingCodec.decode(SOAPBindingCodec.java:322) > at com.sun.xml.ws.encoding.MimeCodec.decode(MimeCodec.java:116) > at > com.sun.xml.ws.encoding.SOAPBindingCodec.decode(SOAPBindingCodec.java:272) > at > com.sun.xml.ws.transport.http.HttpAdapter.decodePacket(HttpAdapter.java:262) > at > com.sun.xml.ws.transport.http.HttpAdapter.access$500(HttpAdapter.java:79) > at > com.sun.xml.ws.transport.http.HttpAdapter$HttpToolkit.handle(HttpAdapter.java:418) > at > com.sun.xml.ws.transport.http.HttpAdapter.handle(HttpAdapter.java:230) > at > com.sun.xml.ws.transport.http.server.WSHttpHandler.handleExchange(WSHttpHandler.java:92) > at > com.sun.xml.ws.transport.http.server.WSHttpHandler.handle(WSHttpHandler.java:77) > at com.sun.net.httpserver.Filter$Chain.doFilter(Filter.java:65) > at sun.net.httpserver.AuthFilter.doFilter(AuthFilter.java:65) > at com.sun.net.httpserver.Filter$Chain.doFilter(Filter.java:68) > at > sun.net.httpserver.ServerImpl$Exchange$LinkHandler.handle(ServerImpl.java:575) > at com.sun.net.httpserver.Filter$Chain.doFilter(Filter.java:65) > at sun.net.httpserver.ServerImpl$Exchange.run(ServerImpl.java:547) > at > java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675) > at java.lang.Thread.run(Thread.java:595) > & the client reports a fault.. > org.apache.axis2.AxisFault: The server localhost failed to respond > at org.apache.axis2.AxisFault.makeFault(AxisFault.java:417) > .... > Works fine, if I disable MTOM on axis 2 client. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online. --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]