You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by "skudx (JIRA)" <ji...@apache.org> on 2007/10/11 00:09:51 UTC

[jira] Closed: (AXIS2-3245) mtom - (axis 1.3 vs jax-ws ri JAX-WS RI 2.1.2)

     [ 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: axis-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-dev-help@ws.apache.org