You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-user@axis.apache.org by Filipp Akinfiev <li...@pakra.de> on 2005/09/21 00:31:37 UTC

[axis2] MTOM Binary Data - Problem with Response [axis2 <-> .NET]

Hi All,

i have next problem, i trying to play with service, that give some MIME
binary data back.

i have make client with folowing code, and it's not work...i got following
exception 
inside invokeBlocking() method. i could monitor both request and response
soap 
envelopes properly via the tcp monitor.

what made i wrong? 

 

king reguards,

filipp

 

    public static TFaxReceiveResponse getFaxReceive() throws AxisFault {

            TFaxReceiveResponse response = null;

            try {

                                   Call call = new Call();

                                   call.setTo(targetEPR);

//                                 enabling MTOM

                    call.set(Constants.Configuration.ENABLE_MTOM,
Constants.VALUE_TRUE);

 
call.setTransportInfo(Constants.TRANSPORT_HTTP, Constants.TRANSPORT_HTTP,
false);

                                   try {

                                               MessageContext requestContext
= FaxReceive.request(new TFaxReceive(account, password));

                                               QName opName = new
QName("urn:XMLWSIntf-IXMLWS", "FaxReceive");

                        OperationDescription opdesc = new
OperationDescription(opName);

                                               //Blocking invocation

                        MessageContext result = (MessageContext)
call.invokeBlocking(opdesc ,requestContext);

                        response = FaxReceive.response(result);

                                   } catch (Exception e) {

                                               if(debug)e.printStackTrace();

                                   }

                        } catch (AxisFault axisFault) {

                                   if(debug)axisFault.printStackTrace();

                        }

                        return response;

    }

Exception:

org.apache.axis2.AxisFault: null; nested exception is: 

            java.lang.NullPointerException

            at
org.apache.axis2.transport.TransportUtils.createSOAPMessage(TransportUtils.j
ava:96)

            at
org.apache.axis2.transport.TransportUtils.createSOAPMessage(TransportUtils.j
ava:46)

            at
org.apache.axis2.clientapi.TwoWayTransportBasedSender.send(TwoWayTransportBa
sedSender.java:54)

            at
org.apache.axis2.clientapi.InOutMEPClient.invokeBlocking(InOutMEPClient.java
:174)

            at
de.fax.soap.axis2.client.FaxDeClient.getFaxReceive(FaxDeClient.java:344)

            at
de.fax.soap.axis2.client.FaxDeClient.main(FaxDeClient.java:164)

Caused by: java.lang.NullPointerException

            at
org.apache.axis2.attachments.MIMEHelper.getAttachmentSpecType(MIMEHelper.jav
a:165)

            at
org.apache.axis2.transport.http.HTTPTransportUtils.selectBuilderForMIME(HTTP
TransportUtils.java:345)

            at
org.apache.axis2.transport.TransportUtils.createSOAPMessage(TransportUtils.j
ava:73)

            ... 5 more

public class FaxReceive extends RequestResponse{

 

            public static MessageContext request(TFaxReceive faxReceive)
throws AxisFault{

                        OMElement operation;

                        MessageContext msgContext = null;

                        

                        SOAPFactory factory =
OMAbstractFactory.getSOAP11Factory();

                        SOAPEnvelope envelope =
factory.getDefaultEnvelope();

 
envelope.declareNamespace("http://schemas.xmlsoap.org/soap/envelope/",
"soapenv");

 
envelope.declareNamespace("http://schemas.xmlsoap.org/soap/encoding/",
"SOAP-ENC");

 
envelope.declareNamespace("http://www.w3.org/2001/XMLSchema-instance",
"xsi");

        

        

                        OMNamespace ns1 =
factory.createOMNamespace("urn:XMLWSIntf-IXMLWS","NS1");

                        operation = factory.createOMElement("Status",ns1);

                        

                        envelope.getBody().addChild(operation);

                        

                        OMNamespace ns2 =
operation.declareNamespace("http://www.w3.org/2001/XMLSchema","");

                        operation.addChild(getOMElement(factory, ns2,
"Account", "xsd:string", faxReceive.getAccount()));

                        operation.addChild(getOMElement(factory, ns2,
"Password", "xsd:string", faxReceive.getPassword()));

                                               

                        ConfigurationContextFactory fac = new
ConfigurationContextFactory();

        ConfigurationContext configContext =
fac.buildClientConfigurationContext("Status");

        try {

            msgContext = new MessageContext(configContext);

        } catch (AxisFault axisFault) {

            axisFault.printStackTrace();

        }

        msgContext.setEnvelope(envelope);

        if(debug)debugMessageContext(msgContext);

        return msgContext;

    }

            

    public static TFaxReceiveResponse response(MessageContext result) {

//          if(debug)debugMessageContext(result);

            int ret = -1;

        Iterator iterator;

        OMNode node;

        SOAPBody body;

        OMElement operation, elem;

        SOAPEnvelope resEnvelope;

        resEnvelope = result.getEnvelope();

        body = resEnvelope.getBody();

        operation = resEnvelope.getBody();

//        operation = body.getFirstElement();

        if (body.hasFault()) {

            if(debug)System.out.println("Error");

        } else {

            OMElement part = operation.getFirstElement();

            iterator = part.getChildren();

            while (iterator.hasNext()) {

                node = (OMNode) iterator.next();

                if (node.getType() == OMNode.ELEMENT_NODE) {

                    elem = (OMElement) node;

                    String str = elem.getLocalName();

                    System.out.println("elem Name:" + str);

                    if (str.equals("return")) {

                        ret = new Integer(elem.getText()).intValue();

                        if(debug)System.out.println("return:" +
elem.getText());

                    }else if(str.equals("Protokoll")) {

//                      OMElement child  = (OMElement)elem.getFirstChild();

                        //retreiving the Href attribute which contains the
Content Id 

                        OMAttribute attr =
(OMAttribute)elem.getFirstAttribute(new QName("href"));

                        String contentID = attr.getValue();

                        //content-id processing to remove the "cid" prefix

                        contentID = contentID.trim();

                        if (contentID.substring(0,
3).equalsIgnoreCase("cid")) {

                            contentID = contentID.substring(4);

                        }

                                   

                        // Retrieving the MIMEHelper instance (which
contains reference to attachments)

                        // from the Message Context

//                        MIMEHelper attachments =
(MIMEHelper)result.getProperty(MIMEHelper.ATTACHMENTS);

///^^^^^^^^^^^^ MIMEHelper.ATTACHMENTS -> CANNOT BE RESOLVED
!!!!!!!!!!!!!!!!!!!!!!!  ?!?!?!?

                        // Retrieving the respective DataHandler referenced
by the content-id

//                        DataHandler dataHandler =
attachments.getDataHandler(contentID);

//                      OMText binaryNode = (OMText) elem.getFirstChild();

                        }

                }

            }

        }

        return new TFaxReceiveResponse(ret);

    }

 

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

POST /xmlws.exe/soap/IXMLWS HTTP/1.1

User-Agent: Axis/2.0

SOAPAction: 

Connection: Keep-Alive

Host: ccs.fax.de:80

Content-Length: 507

Content-Type: text/xml; charset=utf-8

 

<?xml version='1.0' encoding='utf-8'?>

   <soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

      <soapenv:Header></soapenv:Header>

      <soapenv:Body>

         <NS1:Status xmlns:NS1="urn:XMLWSIntf-IXMLWS"
xmlns="http://www.w3.org/2001/XMLSchema">

            <Account xsi:type="xsd:string">1234567890</Account>

            <Password xsi:type="xsd:string">ABCDEF</Password>

         </NS1:Status>

      </soapenv:Body>

   </soapenv:Envelope>

<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

HTTP/1.1 100 Continue

Server: Microsoft-IIS/5.0

Date: Tue, 20 Sep 2005 22:14:30 GMT

X-Powered-By:: ASP.NET

 

HTTP/1.1 200 OK

Server: Microsoft-IIS/5.0

Date: Tue, 20 Sep 2005 22:14:30 GMT

X-Powered-By:: ASP.NET

Connection: close

Content-Version: MIME-Version: 1.0

Content-Type: multipart/related; boundary=MIME_boundaryB0R9532143182121;
start="<http://www.borland.com/rootpart.xml>"Content-Length:
759Content:--MIME_boundaryB0R9532143182121Content-Type: text/xml;
charset="utf-8"Content-ID: 

   <http://www.borland.com/rootpart.xml>Content-Location:
http://www.borland.com/rootpart.xmlContent-Length: 517

      <?xml version="1.0"?>

         <SOAP-ENV:Envelope
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/">

            <SOAP-ENV:Body
SOAP-ENC:encodingStyle="http://schemas.xmlsoap.org/soap/envelope/">

               <NS1:StatusResponse xmlns:NS1="urn:XMLWSIntf-IXMLWS">

                  <return xsi:type="xsd:int">5</return>

                  <Protokoll xsi:nil="true"/>

               </NS1:StatusResponse>

            </SOAP-ENV:Body>

         </SOAP-ENV:Envelope>--MIME_boundaryB0R9532143182121-

============================================================================
=================================




Re: [axis2] MTOM Binary Data - Problem with Response [axis2 <-> .NET]

Posted by Thilina Gunarathne <cs...@gmail.com>.
IIRC any other modules does not have a dependncy on SAAJ. If u r not using
SAAJ specifically u can try excluding it and building Axis2. I think it
should work out . Anyway give it a try...

On 9/21/05, Filipp Akinfiev <li...@pakra.de> wrote:
>
>  Please, make it, if it posible is.
>
>  What about compiling under J1.5 ?
>
>  -----Ursprüngliche Nachricht-----
> *Von:* Thilina Gunarathne [mailto:csethil@gmail.com]
> *Gesendet:* Mittwoch, 21. September 2005 11:34
> *An:* Filipp Akinfiev
> *Cc:* axis-user@ws.apache.org
>
> *Betreff:* Re: [axis2] MTOM Binary Data - Problem with Response [axis2 <->
> .NET]
>
>  Axis2 uses this type parameter to identify whether a message is a MTOM or
> a SwA message. This makes the problem worse. Probably Axis1.x does not
> care about this type parameter cause it supports SwA by default..
>
> We can make Axis2 to extract attachments in any case (Whether type is
> specified or not)... But this needs bit of discussion in the mailing list.
>
> ~Thilina
>
> On 9/21/05, *Filipp Akinfiev* <li...@pakra.de> wrote:
>
> Hi, i don't known what is .net version, i'm only customer….
>
> Maybe the responded message is not correct, but axis1 parse it
> successfully
>
>  is it possible to ignore this exception ?
>
> ==================== source code for axis1 ==============================
>
> …..
>
> oper = new org.apache.axis.description.OperationDesc();
>
> oper.setName("Status");
>
> param = new org.apache.axis.description.ParameterDesc(new
> javax.xml.namespace.QName("", "Account"),
> org.apache.axis.description.ParameterDesc.IN<http://org.apache.axis.description.ParameterDesc.IN>,
> new javax.xml.namespace.QName ("http://www.w3.org/2001/XMLSchema",
> "string"), java.lang.String.class, false, false);
>
> oper.addParameter(param);
>
> param = new org.apache.axis.description.ParameterDesc(new
> javax.xml.namespace.QName("", "Password"),
> org.apache.axis.description.ParameterDesc.IN<http://org.apache.axis.description.ParameterDesc.IN>,
> new javax.xml.namespace.QName ("http://www.w3.org/2001/XMLSchema",
> "string"), java.lang.String.class, false, false);
>
> oper.addParameter(param);
>
> param = new org.apache.axis.description.ParameterDesc(new
> javax.xml.namespace.QName("", "JobId"),
> org.apache.axis.description.ParameterDesc.IN<http://org.apache.axis.description.ParameterDesc.IN>,
> new javax.xml.namespace.QName ("http://www.w3.org/2001/XMLSchema", "int"),
> int.class, false, false);
>
> oper.addParameter(param);
>
> param = new org.apache.axis.description.ParameterDesc(new
> javax.xml.namespace.QName("", "Protokoll"),
> org.apache.axis.description.ParameterDesc.INOUT, new
> javax.xml.namespace.QName(" http://xml.apache.org/xml-soap",
> "DataHandler"), javax.activation.DataHandler.class, false, false);
>
> oper.addParameter(param);
>
> oper.setReturnType(new javax.xml.namespace.QName("
> http://www.w3.org/2001/XMLSchema", "int"));
>
> oper.setReturnClass(int.class);
>
> oper.setReturnQName(new javax.xml.namespace.QName("", "return"));
>
> _operations[12] = oper;
>
> ….
>
> public int status(java.lang.String account, java.lang.String password, int
> jobId, org.apache.axis.holders.DataHandlerHolder protokoll) throws
> java.rmi.RemoteException {
>
> if (super.cachedEndpoint == null) {
>
> throw new org.apache.axis.NoEndPointException();
>
> }
>
> org.apache.axis.client.Call _call = createCall();
>
> _call.setOperation(_operations[12]);
>
> _call.setUseSOAPAction(true);
>
> _call.setSOAPActionURI("urn:XMLWSIntf-IXMLWS#Status");
>
> _call.setProperty(org.apache.axis.AxisEngine.PROP_DOMULTIREFS,
> Boolean.FALSE);
>
> _call.setSOAPVersion(org.apache.axis.soap.SOAPConstants.SOAP11_CONSTANTS);
>
> _call.setOperationName(new javax.xml.namespace.QName("urn:XMLWSIntf-IXMLWS",
> "Status"));
>
>  setRequestHeaders(_call);
>
> setAttachments(_call);
>
> try {
>
> java.lang.Object _resp = _call.invoke(new java.lang.Object[] { account,
> password, new java.lang.Integer(jobId), protokoll.value });
>
>  if (_resp instanceof java.rmi.RemoteException) {
>
> throw (java.rmi.RemoteException) _resp;
>
> } else {
>
> extractAttachments(_call);
>
> java.util.Map _output;
>
> _output = _call.getOutputParams();
>
> try {
>
> protokoll.value = (javax.activation.DataHandler) _output.get(new
> javax.xml.namespace.QName("", "Protokoll"));
>
> } catch (java.lang.Exception _exception) {
>
> protokoll.value = (javax.activation.DataHandler)
> org.apache.axis.utils.JavaUtils.convert(_output.get(new
> javax.xml.namespace.QName("", "Protokoll")), byte[].class);
>
> }
>
> try {
>
> return ((java.lang.Integer) _resp).intValue();
>
> } catch (java.lang.Exception _exception) {
>
> return ((java.lang.Integer) org.apache.axis.utils.JavaUtils.convert(_resp,
> int.class)).intValue();
>
> }
>
> }
>
> } catch (org.apache.axis.AxisFault axisFaultException) {
>
> throw axisFaultException;
>
> }
>
> }
>
>      -----Ursprüngliche Nachricht-----
> *Von:* Thilina Gunarathne [mailto:csethil@gmail.com]
> *Gesendet:* Mittwoch, 21. September 2005 11:00
> *An:* axis-user@ws.apache.org
> *Betreff:* Re: [axis2] MTOM Binary Data - Problem with Response [axis2 <->
> .NET]
>
>  Also I don't see any point in returning a MIME based message (MTOM or
> SwA) in the above mentioned case. This does not contain a binary attachment.
> Using of the MIME envelope is a waste of resouces...
> This message can be delivered in a plain SOAP envelope without any
> trouble.
>
> On 9/21/05, *Thilina Gunarathne* < csethil@gmail.com > wrote:
>
> Hi,
> I cannot understand whether this message is a SOAP with Attachements
> message or a MTOM message.. Anyway MTOM *spec* does not support the Content
> Location based referencing of MIME messages. So that I assume this is a SwA
> message.. (Even for SwA *Axis2* does not support the Content-Location based
> referencing.)
>
> In any case this the Response Message you have provided as the message
> trace does not seems to be a valid SwA (or MTOM) message. It does not
> contain the type parameter in content-type header. Follwoing is the example
> header in SwA w3c note. Look at the type=text/xml;
> eg :
>
> Content-Type: Multipart/Related; boundary=MIME_boundary; type=text/xml;
>
>
>
>         start="< <cl...@claiming-it.com>
>
>
>
> * <cl...@claiming-it.com>*
>
> *claim061400a.xml@claiming-it.com*>"
>
>
> What is the .net version you are using. FYI WSE 3.0 MTOM succesfull
> interops with Axis2.
>
> We also seems to be having a bug, cause we return a null pointer
> exception, without mentioning the exact cause. I'll fix it.
>
> Thanks,
> ~Thilina
>
>  On 9/21/05, *Filipp Akinfiev* < lists@pakra.de > wrote:
>
> @Saminda
> private static EndpointReference targetEPR = new
> EndpointReference("http://ccs.fax.de/xmlws.exe/soap/IXMLWS")
> <http://ccs.fax.de/xmlws.exe/soap/IXMLWS%22%29>;
>
> @Saminda & @Dims
> i cannot compile the last Sourcesnapshot.... I have installed Java 1.5
> and I got known error in saaj package, see Thread "[Axis2] Build problems
> during compiling" ->
> http://marc.theaimsgroup.com/?l=axis-user&m=112565105102599&w=2
> I have a look in sourcecode in package org.apache.axis2.saaj in eclipse,
> and
> I get following errors:
> =================================
> AttrImpl:
> The type AttrImpl must implement the inherited abstract method Attr.isId()
> The type AttrImpl must implement the inherited abstract method
> Attr.getSchemaTypeInfo()
> =================================
> NodeImpl:
> The type NodeImpl must implement the inherited abstract method
> Node.setUserData(String, Object, UserDataHandler)
>
> The type NodeImpl must implement the inherited abstract method
> Node.setTextContent (String)
>
> The type NodeImpl must implement the inherited abstract method
> Node.lookupPrefix(String)
>
> The type NodeImpl must implement the inherited abstract method
> Node.lookupNamespaceURI(String)
>
> The type NodeImpl must implement the inherited abstract method
> Node.isSameNode(Node)
>
> The type NodeImpl must implement the inherited abstract method
> Node.isEqualNode(Node)
>
> The type NodeImpl must implement the inherited abstract method
> Node.isDefaultNamespace(String)
>
> The type NodeImpl must implement the inherited abstract method
> Node.getUserData(String)
>
> The type NodeImpl must implement the inherited abstract method
> Node.getTextContent()
>
> The type NodeImpl must implement the inherited abstract method
> Node.getFeature(String, String)
>
> The type NodeImpl must implement the inherited abstract method
> Node.getBaseURI()
>
> The type NodeImpl must implement the inherited abstract method
> Node.compareDocumentPosition (Node)
> ==================================
> SOAPConnectionImpl:
> The method createAttachmentPart() in the type SOAPMessage is not
> applicable
> for the arguments (DataHandler)
> ==================================
> SOAPDocumentImpl:
> The type SOAPDocumentImpl must implement the inherited abstract method
> Node.setUserData(String, Object, UserDataHandler)
>
> The type SOAPDocumentImpl must implement the inherited abstract method
> Node.setTextContent(String)
>
> The type SOAPDocumentImpl must implement the inherited abstract method
> Node.lookupPrefix(String)
>
> The type SOAPDocumentImpl must implement the inherited abstract method
> Node.lookupNamespaceURI (String)
>
> The type SOAPDocumentImpl must implement the inherited abstract method
> Node.isSameNode(Node) SOAPDocumentImpl.java
>
> The type SOAPDocumentImpl must implement the inherited abstract method
> Node.isEqualNode (Node) SOAPDocumentImpl.java
>
> The type SOAPDocumentImpl must implement the inherited abstract method
> Node.isDefaultNamespace(String)
>
> The type SOAPDocumentImpl must implement the inherited abstract method
> Node.getUserData(String)
>
> The type SOAPDocumentImpl must implement the inherited abstract method
> Node.getTextContent()
>
> The type SOAPDocumentImpl must implement the inherited abstract method
> Node.getFeature (String, String)
>
> The type SOAPDocumentImpl must implement the inherited abstract method
> Node.getBaseURI()
>
> The type SOAPDocumentImpl must implement the inherited abstract method
> Node.compareDocumentPosition (Node)
>
> The type SOAPDocumentImpl must implement the inherited abstract method
> Document.setXmlVersion(String)
>
> The type SOAPDocumentImpl must implement the inherited abstract method
> Document.setXmlStandalone (boolean)
>
> The type SOAPDocumentImpl must implement the inherited abstract method
> Document.setStrictErrorChecking(boolean)
>
> The type SOAPDocumentImpl must implement the inherited abstract method
> Document.setDocumentURI (String) SOAPDocumentImpl.java
>
> The type SOAPDocumentImpl must implement the inherited abstract method
> Document.renameNode(Node, String, String)
>
> The type SOAPDocumentImpl must implement the inherited abstract method
> Document.normalizeDocument()
>
> The type SOAPDocumentImpl must implement the inherited abstract method
> Document.getXmlVersion()
>
> The type SOAPDocumentImpl must implement the inherited abstract method
> Document.getXmlStandalone ()
>
> The type SOAPDocumentImpl must implement the inherited abstract method
> Document.getXmlEncoding()
>
> The type SOAPDocumentImpl must implement the inherited abstract method
> Document.getStrictErrorChecking ()
>
> The type SOAPDocumentImpl must implement the inherited abstract method
> Document.getInputEncoding()
>
> The type SOAPDocumentImpl must implement the inherited abstract method
> Document.getDomConfig()
>
> The type SOAPDocumentImpl must implement the inherited abstract method
> Document.getDocumentURI()
>
> The type SOAPDocumentImpl must implement the inherited abstract method
> Document.adoptNode(Node)
>
> =================================
> SOAPElementImpl:
>
> The type SOAPElementImpl must implement the inherited abstract method
> Element.setIdAttributeNS(String, String, boolean)
>
> The type SOAPElementImpl must implement the inherited abstract method
> Element.setIdAttributeNode(Attr, boolean)
>
> The type SOAPElementImpl must implement the inherited abstract method
> Element.setIdAttribute(String, boolean)
>
> The type SOAPElementImpl must implement the inherited abstract method
> Element.getSchemaTypeInfo()
> =================================
> SOAPPartImpl:
>
> The type SOAPPartImpl must implement the inherited abstract method
> Node.setUserData(String, Object, UserDataHandler)
>
> The type SOAPPartImpl must implement the inherited abstract method
> Node.setTextContent(String)
>
> The type SOAPPartImpl must implement the inherited abstract method
> Node.lookupPrefix(String)
>
> The type SOAPPartImpl must implement the inherited abstract method
> Node.lookupNamespaceURI (String)
>
> The type SOAPPartImpl must implement the inherited abstract method
> Node.isSameNode(Node)
>
> The type SOAPPartImpl must implement the inherited abstract method
> Node.isEqualNode(Node)
>
> The type SOAPPartImpl must implement the inherited abstract method
> Node.isDefaultNamespace(String)
>
> The type SOAPPartImpl must implement the inherited abstract method
> Node.getUserData(String)
>
> The type SOAPPartImpl must implement the inherited abstract method
> Node.getTextContent ()
>
> The type SOAPPartImpl must implement the inherited abstract method
> Node.getFeature(String, String)
>
> The type SOAPPartImpl must implement the inherited abstract method
> Node.getBaseURI()
>
> The type SOAPPartImpl must implement the inherited abstract method
> Node.compareDocumentPosition(Node)
>
> The type SOAPPartImpl must implement the inherited abstract method
> Document.setXmlVersion(String)
>
> The type SOAPPartImpl must implement the inherited abstract method
> Document.setXmlStandalone(boolean)
>
> The type SOAPPartImpl must implement the inherited abstract method
> Document.setDocumentURI(String)
>
> The type SOAPPartImpl must implement the inherited abstract method
> Document.renameNode(Node, String, String)
>
> The type SOAPPartImpl must implement the inherited abstract method
> Document.normalizeDocument()
>
> The type SOAPPartImpl must implement the inherited abstract method
> Document.getXmlVersion()
>
> The type SOAPPartImpl must implement the inherited abstract method
> Document.getXmlStandalone()
>
> The type SOAPPartImpl must implement the inherited abstract method
> Document.getXmlEncoding ()
>
> The type SOAPPartImpl must implement the inherited abstract method
> Document.getInputEncoding()
>
> The type SOAPPartImpl must implement the inherited abstract method
> Document.getDomConfig()
>
> The type SOAPPartImpl must implement the inherited abstract method
> Document.getDocumentURI()
> =================================
> TextImpl:
> The type TextImpl must implement the inherited abstract method
> Text.replaceWholeText(String)
>
> The type TextImpl must implement the inherited abstract method
> Text.isElementContentWhitespace()
>
> The type TextImpl must implement the inherited abstract method
> Text.getWholeText()
> =================================
>
>
>
>  --
> "May the SourcE be with u"
> http://www.bloglines.com/blog/thilina http://webservices.apache.org/~thilina/
> <http://webservices.apache.org/%7Ethilina/>
>
>
>
>
> --
> "May the SourcE be with u"
> http://www.bloglines.com/blog/thilina
> http://webservices.apache.org/~thilina/<http://webservices.apache.org/%7Ethilina/>
>
>
>
>
> --
> "May the SourcE be with u"
> http://www.bloglines.com/blog/thilina
> http://webservices.apache.org/~thilina/<http://webservices.apache.org/%7Ethilina/>
>



--
"May the SourcE be with u"
http://www.bloglines.com/blog/thilina
http://webservices.apache.org/~thilina/

AW: [axis2] MTOM Binary Data - Problem with Response [axis2 <-> .NET]

Posted by Filipp Akinfiev <li...@pakra.de>.
Please, make it, if it posible is. 

 

What about compiling under J1.5  ?

 

-----Ursprüngliche Nachricht-----
Von: Thilina Gunarathne [mailto:csethil@gmail.com] 
Gesendet: Mittwoch, 21. September 2005 11:34
An: Filipp Akinfiev
Cc: axis-user@ws.apache.org
Betreff: Re: [axis2] MTOM Binary Data - Problem with Response [axis2 <->
.NET]

 

Axis2 uses this type parameter to identify whether a message is a MTOM or a
SwA message. This makes the problem worse. Probably Axis1.x does not care
about this type parameter cause it supports SwA by default.. 

We can make Axis2 to extract attachments in any case (Whether type is
specified or not)... But this needs bit of discussion in the mailing list.

~Thilina

On 9/21/05, Filipp Akinfiev <li...@pakra.de> wrote:

Hi, i don't known what is .net version, i'm only customer….

Maybe the responded message is not correct, but axis1 parse it  successfully

 

is it possible to ignore this exception ?

==================== source code for axis1 ==============================

…..

oper = new org.apache.axis.description.OperationDesc();

                        oper.setName("Status");

                        param = new
org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("",
"Account"), org.apache.axis.description.ParameterDesc.IN, new
javax.xml.namespace.QName ("http://www.w3.org/2001/XMLSchema", "string"),
java.lang.String.class, false, false);

                        oper.addParameter(param);

                        param = new
org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("",
"Password"), org.apache.axis.description.ParameterDesc.IN, new
javax.xml.namespace.QName ("http://www.w3.org/2001/XMLSchema", "string"),
java.lang.String.class, false, false);

                        oper.addParameter(param);

                        param = new
org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("",
"JobId"), org.apache.axis.description.ParameterDesc.IN, new
javax.xml.namespace.QName ("http://www.w3.org/2001/XMLSchema", "int"),
int.class, false, false);

                        oper.addParameter(param);

                        param = new
org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("",
"Protokoll"), org.apache.axis.description.ParameterDesc.INOUT, new
javax.xml.namespace.QName(" http://xml.apache.org/xml-soap
<http://xml.apache.org/xml-soap> ", "DataHandler"),
javax.activation.DataHandler.class, false, false);

                        oper.addParameter(param);

                        oper.setReturnType(new
javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "int")); 

                        oper.setReturnClass(int.class);

                        oper.setReturnQName(new
javax.xml.namespace.QName("", "return"));

                        _operations[12] = oper;

….

public int status(java.lang.String account, java.lang.String password, int
jobId, org.apache.axis.holders.DataHandlerHolder protokoll) throws
java.rmi.RemoteException {

                        if (super.cachedEndpoint == null) {

                                   throw new
org.apache.axis.NoEndPointException();

                        }

                        org.apache.axis.client.Call _call = createCall();

                        _call.setOperation(_operations[12]);

                        _call.setUseSOAPAction(true);

 
_call.setSOAPActionURI("urn:XMLWSIntf-IXMLWS#Status");

 
_call.setProperty(org.apache.axis.AxisEngine.PROP_DOMULTIREFS,
Boolean.FALSE);

 
_call.setSOAPVersion(org.apache.axis.soap.SOAPConstants.SOAP11_CONSTANTS);

                        _call.setOperationName(new
javax.xml.namespace.QName("urn:XMLWSIntf-IXMLWS", "Status"));

 

                        setRequestHeaders(_call);

                        setAttachments(_call);

                        try {

                                   java.lang.Object _resp = _call.invoke(new
java.lang.Object[] { account, password, new java.lang.Integer(jobId),
protokoll.value });

 

                                   if (_resp instanceof
java.rmi.RemoteException) {

                                               throw
(java.rmi.RemoteException) _resp;

                                   } else {

                                               extractAttachments(_call); 

                                               java.util.Map _output;

                                               _output =
_call.getOutputParams();

                                               try {

                                                           protokoll.value =
(javax.activation.DataHandler) _output.get(new javax.xml.namespace.QName("",
"Protokoll"));

                                               } catch (java.lang.Exception
_exception) {

                                                           protokoll.value =
(javax.activation.DataHandler)
org.apache.axis.utils.JavaUtils.convert(_output.get(new
javax.xml.namespace.QName("", "Protokoll")), byte[].class);

                                               }

                                               try {

                                                           return
((java.lang.Integer) _resp).intValue();

                                               } catch (java.lang.Exception
_exception) {

                                                           return
((java.lang.Integer) org.apache.axis.utils.JavaUtils.convert(_resp,
int.class)).intValue();

                                               }

                                   }

                        } catch (org.apache.axis.AxisFault
axisFaultException) {

                                   throw axisFaultException;

                        }

            }

 

 

 

 

 

-----Ursprüngliche Nachricht-----
Von: Thilina Gunarathne [mailto:csethil@gmail.com] 
Gesendet: Mittwoch, 21. September 2005 11:00
An: axis-user@ws.apache.org
Betreff: Re: [axis2] MTOM Binary Data - Problem with Response [axis2 <->
.NET]

 

Also I don't see any point in returning a MIME based message (MTOM or SwA)
in the above mentioned case. This does not contain a binary attachment.
Using of the MIME envelope is a waste of resouces... 
This message can be delivered in a plain SOAP envelope without any trouble.

On 9/21/05, Thilina Gunarathne < csethil@gmail.com
<ma...@gmail.com> > wrote:

Hi,
I cannot understand whether this message is a SOAP with Attachements message
or a MTOM message.. Anyway MTOM *spec* does not support the Content Location
based referencing of MIME messages. So that I assume this is a SwA message..
(Even for SwA *Axis2* does not support the Content-Location based
referencing.)

In any case this the Response Message you have provided as the message trace
does not seems to be a valid SwA (or MTOM) message. It does not contain the
type parameter in content-type header. Follwoing is the example header in
SwA w3c note. Look at the type=text/xml;
eg : 

Content-Type: Multipart/Related; boundary=MIME_boundary; type=text/xml;





        start="< <ma...@claiming-it.com> 
 
 <ma...@claiming-it.com> 
claim061400a.xml@claiming-it.com>"


What is the .net version you are using.  FYI WSE 3.0  MTOM succesfull
interops with Axis2.

We also seems to be having a bug, cause we return a null pointer exception,
without mentioning the exact cause. I'll fix it. 

Thanks, 
~Thilina

 

On 9/21/05, Filipp Akinfiev < lists@pakra.de <ma...@pakra.de>  >
wrote:

@Saminda
private static EndpointReference targetEPR = new
EndpointReference("http://ccs.fax.de/xmlws.exe/soap/IXMLWS
<http://ccs.fax.de/xmlws.exe/soap/IXMLWS%22%29> ") ;

@Saminda & @Dims 
i cannot compile the last Sourcesnapshot.... I have installed Java 1.5
and I got known error in saaj package, see Thread "[Axis2] Build problems
during compiling" ->
http://marc.theaimsgroup.com/?l=axis-user
<http://marc.theaimsgroup.com/?l=axis-user&m=112565105102599&w=2>
&m=112565105102599&w=2 
I have a look in sourcecode in package org.apache.axis2.saaj in eclipse, and
I get following errors:
=================================
AttrImpl:
The type AttrImpl must implement the inherited abstract method Attr.isId()
The type AttrImpl must implement the inherited abstract method
Attr.getSchemaTypeInfo()
=================================
NodeImpl:
The type NodeImpl must implement the inherited abstract method
Node.setUserData(String, Object, UserDataHandler)

The type NodeImpl must implement the inherited abstract method
Node.setTextContent (String)

The type NodeImpl must implement the inherited abstract method
Node.lookupPrefix(String)

The type NodeImpl must implement the inherited abstract method
Node.lookupNamespaceURI(String)

The type NodeImpl must implement the inherited abstract method 
Node.isSameNode(Node)

The type NodeImpl must implement the inherited abstract method
Node.isEqualNode(Node)

The type NodeImpl must implement the inherited abstract method
Node.isDefaultNamespace(String) 

The type NodeImpl must implement the inherited abstract method
Node.getUserData(String)

The type NodeImpl must implement the inherited abstract method
Node.getTextContent()

The type NodeImpl must implement the inherited abstract method 
Node.getFeature(String, String)

The type NodeImpl must implement the inherited abstract method
Node.getBaseURI()

The type NodeImpl must implement the inherited abstract method
Node.compareDocumentPosition (Node)
==================================
SOAPConnectionImpl:
The method createAttachmentPart() in the type SOAPMessage is not applicable
for the arguments (DataHandler)
==================================
SOAPDocumentImpl:
The type SOAPDocumentImpl must implement the inherited abstract method
Node.setUserData(String, Object, UserDataHandler)

The type SOAPDocumentImpl must implement the inherited abstract method 
Node.setTextContent(String)

The type SOAPDocumentImpl must implement the inherited abstract method
Node.lookupPrefix(String)

The type SOAPDocumentImpl must implement the inherited abstract method
Node.lookupNamespaceURI (String)

The type SOAPDocumentImpl must implement the inherited abstract method
Node.isSameNode(Node)   SOAPDocumentImpl.java

The type SOAPDocumentImpl must implement the inherited abstract method
Node.isEqualNode (Node)  SOAPDocumentImpl.java

The type SOAPDocumentImpl must implement the inherited abstract method
Node.isDefaultNamespace(String)

The type SOAPDocumentImpl must implement the inherited abstract method 
Node.getUserData(String)

The type SOAPDocumentImpl must implement the inherited abstract method
Node.getTextContent()

The type SOAPDocumentImpl must implement the inherited abstract method
Node.getFeature (String, String)

The type SOAPDocumentImpl must implement the inherited abstract method
Node.getBaseURI()

The type SOAPDocumentImpl must implement the inherited abstract method
Node.compareDocumentPosition (Node)

The type SOAPDocumentImpl must implement the inherited abstract method
Document.setXmlVersion(String)

The type SOAPDocumentImpl must implement the inherited abstract method
Document.setXmlStandalone (boolean)

The type SOAPDocumentImpl must implement the inherited abstract method
Document.setStrictErrorChecking(boolean)

The type SOAPDocumentImpl must implement the inherited abstract method
Document.setDocumentURI (String) SOAPDocumentImpl.java

The type SOAPDocumentImpl must implement the inherited abstract method
Document.renameNode(Node, String, String)

The type SOAPDocumentImpl must implement the inherited abstract method 
Document.normalizeDocument()

The type SOAPDocumentImpl must implement the inherited abstract method
Document.getXmlVersion()

The type SOAPDocumentImpl must implement the inherited abstract method
Document.getXmlStandalone ()

The type SOAPDocumentImpl must implement the inherited abstract method
Document.getXmlEncoding()

The type SOAPDocumentImpl must implement the inherited abstract method
Document.getStrictErrorChecking ()

The type SOAPDocumentImpl must implement the inherited abstract method
Document.getInputEncoding()

The type SOAPDocumentImpl must implement the inherited abstract method
Document.getDomConfig()

The type SOAPDocumentImpl must implement the inherited abstract method
Document.getDocumentURI()

The type SOAPDocumentImpl must implement the inherited abstract method
Document.adoptNode(Node)

================================= 
SOAPElementImpl:

The type SOAPElementImpl must implement the inherited abstract method
Element.setIdAttributeNS(String, String, boolean)

The type SOAPElementImpl must implement the inherited abstract method 
Element.setIdAttributeNode(Attr, boolean)

The type SOAPElementImpl must implement the inherited abstract method
Element.setIdAttribute(String, boolean)

The type SOAPElementImpl must implement the inherited abstract method 
Element.getSchemaTypeInfo()
=================================
SOAPPartImpl:

The type SOAPPartImpl must implement the inherited abstract method
Node.setUserData(String, Object, UserDataHandler)

The type SOAPPartImpl must implement the inherited abstract method 
Node.setTextContent(String)

The type SOAPPartImpl must implement the inherited abstract method
Node.lookupPrefix(String)

The type SOAPPartImpl must implement the inherited abstract method
Node.lookupNamespaceURI (String)

The type SOAPPartImpl must implement the inherited abstract method
Node.isSameNode(Node)

The type SOAPPartImpl must implement the inherited abstract method
Node.isEqualNode(Node)

The type SOAPPartImpl must implement the inherited abstract method 
Node.isDefaultNamespace(String)

The type SOAPPartImpl must implement the inherited abstract method
Node.getUserData(String)

The type SOAPPartImpl must implement the inherited abstract method
Node.getTextContent ()

The type SOAPPartImpl must implement the inherited abstract method
Node.getFeature(String, String)

The type SOAPPartImpl must implement the inherited abstract method
Node.getBaseURI()

The type SOAPPartImpl must implement the inherited abstract method 
Node.compareDocumentPosition(Node)

The type SOAPPartImpl must implement the inherited abstract method
Document.setXmlVersion(String)

The type SOAPPartImpl must implement the inherited abstract method 
Document.setXmlStandalone(boolean)

The type SOAPPartImpl must implement the inherited abstract method
Document.setDocumentURI(String)

The type SOAPPartImpl must implement the inherited abstract method
Document.renameNode(Node, String, String)

The type SOAPPartImpl must implement the inherited abstract method
Document.normalizeDocument()

The type SOAPPartImpl must implement the inherited abstract method 
Document.getXmlVersion()

The type SOAPPartImpl must implement the inherited abstract method
Document.getXmlStandalone()

The type SOAPPartImpl must implement the inherited abstract method
Document.getXmlEncoding ()

The type SOAPPartImpl must implement the inherited abstract method
Document.getInputEncoding()

The type SOAPPartImpl must implement the inherited abstract method
Document.getDomConfig()

The type SOAPPartImpl must implement the inherited abstract method 
Document.getDocumentURI()
=================================
TextImpl:
The type TextImpl must implement the inherited abstract method
Text.replaceWholeText(String)

The type TextImpl must implement the inherited abstract method 
Text.isElementContentWhitespace()

The type TextImpl must implement the inherited abstract method
Text.getWholeText()
=================================







-- 
"May the SourcE be with u" 
http://www.bloglines.com/blog/thilina
http://webservices.apache.org/~thilina/
<http://webservices.apache.org/%7Ethilina/>  




-- 
"May the SourcE be with u" 
http://www.bloglines.com/blog/thilina
<http://webservices.apache.org/%7Ethilina/>
http://webservices.apache.org/~thilina/ 




-- 
"May the SourcE be with u" 
http://www.bloglines.com/blog/thilina
<http://webservices.apache.org/~thilina/>
http://webservices.apache.org/~thilina/ 


Re: [axis2] MTOM Binary Data - Problem with Response [axis2 <-> .NET]

Posted by Thilina Gunarathne <cs...@gmail.com>.
Axis2 uses this type parameter to identify whether a message is a MTOM or a 
SwA message. This makes the problem worse. Probably Axis1.x does not care 
about this type parameter cause it supports SwA by default.. 

We can make Axis2 to extract attachments in any case (Whether type is 
specified or not)... But this needs bit of discussion in the mailing list.

~Thilina

On 9/21/05, Filipp Akinfiev <li...@pakra.de> wrote:
> 
>  Hi, i don't known what is .net version, i'm only customer….
> 
> Maybe the responded message is not correct, but axis1 parse it 
> successfully
> 
>  is it possible to ignore this exception ?
>  
> ==================== source code for axis1 ==============================
> 
> …..
> 
> oper = new org.apache.axis.description.OperationDesc();
> 
> oper.setName("Status");
> 
> param = new org.apache.axis.description.ParameterDesc(new 
> javax.xml.namespace.QName("", "Account"), 
> org.apache.axis.description.ParameterDesc.IN<http://org.apache.axis.description.ParameterDesc.IN>, 
> new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", 
> "string"), java.lang.String.class, false, false);
> 
> oper.addParameter(param);
> 
> param = new org.apache.axis.description.ParameterDesc(new 
> javax.xml.namespace.QName("", "Password"), 
> org.apache.axis.description.ParameterDesc.IN<http://org.apache.axis.description.ParameterDesc.IN>, 
> new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", 
> "string"), java.lang.String.class, false, false);
> 
> oper.addParameter(param);
> 
> param = new org.apache.axis.description.ParameterDesc(new 
> javax.xml.namespace.QName("", "JobId"), 
> org.apache.axis.description.ParameterDesc.IN<http://org.apache.axis.description.ParameterDesc.IN>, 
> new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "int"), 
> int.class, false, false);
> 
> oper.addParameter(param);
> 
> param = new org.apache.axis.description.ParameterDesc(new 
> javax.xml.namespace.QName("", "Protokoll"), 
> org.apache.axis.description.ParameterDesc.INOUT, new 
> javax.xml.namespace.QName("http://xml.apache.org/xml-soap", 
> "DataHandler"), javax.activation.DataHandler.class, false, false);
> 
> oper.addParameter(param);
> 
> oper.setReturnType(new javax.xml.namespace.QName("
> http://www.w3.org/2001/XMLSchema", "int"));
> 
> oper.setReturnClass(int.class);
> 
> oper.setReturnQName(new javax.xml.namespace.QName("", "return"));
> 
> _operations[12] = oper;
> 
> ….
> 
> public int status(java.lang.String account, java.lang.String password, int 
> jobId, org.apache.axis.holders.DataHandlerHolder protokoll) throws 
> java.rmi.RemoteException {
> 
> if (super.cachedEndpoint == null) {
> 
> throw new org.apache.axis.NoEndPointException();
> 
> }
> 
> org.apache.axis.client.Call _call = createCall();
> 
> _call.setOperation(_operations[12]);
> 
> _call.setUseSOAPAction(true);
> 
> _call.setSOAPActionURI("urn:XMLWSIntf-IXMLWS#Status");
> 
> _call.setProperty(org.apache.axis.AxisEngine.PROP_DOMULTIREFS, 
> Boolean.FALSE);
> 
> _call.setSOAPVersion(org.apache.axis.soap.SOAPConstants.SOAP11_CONSTANTS);
> 
> _call.setOperationName(new javax.xml.namespace.QName("urn:XMLWSIntf-IXMLWS", 
> "Status"));
> 
>  setRequestHeaders(_call);
> 
> setAttachments(_call);
> 
> try {
> 
> java.lang.Object _resp = _call.invoke(new java.lang.Object[] { account, 
> password, new java.lang.Integer(jobId), protokoll.value });
> 
>  if (_resp instanceof java.rmi.RemoteException) {
> 
> throw (java.rmi.RemoteException) _resp;
> 
> } else {
> 
> extractAttachments(_call);
> 
> java.util.Map _output;
> 
> _output = _call.getOutputParams();
> 
> try {
> 
> protokoll.value = (javax.activation.DataHandler) _output.get(new 
> javax.xml.namespace.QName("", "Protokoll"));
> 
> } catch (java.lang.Exception _exception) {
> 
> protokoll.value = (javax.activation.DataHandler) 
> org.apache.axis.utils.JavaUtils.convert(_output.get(new 
> javax.xml.namespace.QName("", "Protokoll")), byte[].class);
> 
> }
> 
> try {
> 
> return ((java.lang.Integer) _resp).intValue();
> 
> } catch (java.lang.Exception _exception) {
> 
> return ((java.lang.Integer) org.apache.axis.utils.JavaUtils.convert(_resp, 
> int.class)).intValue();
> 
> }
> 
> }
> 
> } catch (org.apache.axis.AxisFault axisFaultException) {
> 
> throw axisFaultException;
> 
> }
> 
> }
> 
>      -----Ursprüngliche Nachricht-----
> *Von:* Thilina Gunarathne [mailto:csethil@gmail.com] 
> *Gesendet:* Mittwoch, 21. September 2005 11:00
> *An:* axis-user@ws.apache.org
> *Betreff:* Re: [axis2] MTOM Binary Data - Problem with Response [axis2 <-> 
> .NET]
> 
>  Also I don't see any point in returning a MIME based message (MTOM or 
> SwA) in the above mentioned case. This does not contain a binary attachment. 
> Using of the MIME envelope is a waste of resouces... 
> This message can be delivered in a plain SOAP envelope without any 
> trouble.
>  
> On 9/21/05, *Thilina Gunarathne* <csethil@gmail.com > wrote:
> 
> Hi,
> I cannot understand whether this message is a SOAP with Attachements 
> message or a MTOM message.. Anyway MTOM *spec* does not support the Content 
> Location based referencing of MIME messages. So that I assume this is a SwA 
> message.. (Even for SwA *Axis2* does not support the Content-Location based 
> referencing.)
> 
> In any case this the Response Message you have provided as the message 
> trace does not seems to be a valid SwA (or MTOM) message. It does not 
> contain the type parameter in content-type header. Follwoing is the example 
> header in SwA w3c note. Look at the type=text/xml;
> eg : 
> 
> Content-Type: Multipart/Related; boundary=MIME_boundary; type=text/xml;
> 
>         start="< <cl...@claiming-it.com>
> 
> *claim061400a.xml@claiming-it.com*>"
> 
> 
> What is the .net version you are using. FYI WSE 3.0 MTOM succesfull 
> interops with Axis2.
> 
> We also seems to be having a bug, cause we return a null pointer 
> exception, without mentioning the exact cause. I'll fix it. 
> 
> Thanks, 
> ~Thilina
>  
> 
> 
>  On 9/21/05, *Filipp Akinfiev* <lists@pakra.de > wrote:
> 
> @Saminda
> private static EndpointReference targetEPR = new
> EndpointReference("http://ccs.fax.de/xmlws.exe/soap/IXMLWS") 
> <http://ccs.fax.de/xmlws.exe/soap/IXMLWS%22%29>;
> 
> @Saminda & @Dims 
> i cannot compile the last Sourcesnapshot.... I have installed Java 1.5
> and I got known error in saaj package, see Thread "[Axis2] Build problems
> during compiling" ->
> http://marc.theaimsgroup.com/?l=axis-user&m=112565105102599&w=2
> I have a look in sourcecode in package org.apache.axis2.saaj in eclipse, 
> and
> I get following errors:
> =================================
> AttrImpl:
> The type AttrImpl must implement the inherited abstract method Attr.isId()
> The type AttrImpl must implement the inherited abstract method
> Attr.getSchemaTypeInfo()
> =================================
> NodeImpl:
> The type NodeImpl must implement the inherited abstract method
> Node.setUserData(String, Object, UserDataHandler)
> 
> The type NodeImpl must implement the inherited abstract method
> Node.setTextContent (String)
> 
> The type NodeImpl must implement the inherited abstract method
> Node.lookupPrefix(String)
> 
> The type NodeImpl must implement the inherited abstract method
> Node.lookupNamespaceURI(String)
> 
> The type NodeImpl must implement the inherited abstract method 
> Node.isSameNode(Node)
> 
> The type NodeImpl must implement the inherited abstract method
> Node.isEqualNode(Node)
> 
> The type NodeImpl must implement the inherited abstract method
> Node.isDefaultNamespace(String) 
> 
> The type NodeImpl must implement the inherited abstract method
> Node.getUserData(String)
> 
> The type NodeImpl must implement the inherited abstract method
> Node.getTextContent()
> 
> The type NodeImpl must implement the inherited abstract method 
> Node.getFeature(String, String)
> 
> The type NodeImpl must implement the inherited abstract method
> Node.getBaseURI()
> 
> The type NodeImpl must implement the inherited abstract method
> Node.compareDocumentPosition (Node)
> ==================================
> SOAPConnectionImpl:
> The method createAttachmentPart() in the type SOAPMessage is not 
> applicable
> for the arguments (DataHandler)
> ==================================
> SOAPDocumentImpl:
> The type SOAPDocumentImpl must implement the inherited abstract method
> Node.setUserData(String, Object, UserDataHandler)
> 
> The type SOAPDocumentImpl must implement the inherited abstract method 
> Node.setTextContent(String)
> 
> The type SOAPDocumentImpl must implement the inherited abstract method
> Node.lookupPrefix(String)
> 
> The type SOAPDocumentImpl must implement the inherited abstract method
> Node.lookupNamespaceURI (String)
> 
> The type SOAPDocumentImpl must implement the inherited abstract method
> Node.isSameNode(Node) SOAPDocumentImpl.java
> 
> The type SOAPDocumentImpl must implement the inherited abstract method
> Node.isEqualNode (Node) SOAPDocumentImpl.java
> 
> The type SOAPDocumentImpl must implement the inherited abstract method
> Node.isDefaultNamespace(String)
> 
> The type SOAPDocumentImpl must implement the inherited abstract method 
> Node.getUserData(String)
> 
> The type SOAPDocumentImpl must implement the inherited abstract method
> Node.getTextContent()
> 
> The type SOAPDocumentImpl must implement the inherited abstract method
> Node.getFeature (String, String)
> 
> The type SOAPDocumentImpl must implement the inherited abstract method
> Node.getBaseURI()
> 
> The type SOAPDocumentImpl must implement the inherited abstract method
> Node.compareDocumentPosition (Node)
> 
> The type SOAPDocumentImpl must implement the inherited abstract method
> Document.setXmlVersion(String)
> 
> The type SOAPDocumentImpl must implement the inherited abstract method
> Document.setXmlStandalone (boolean)
> 
> The type SOAPDocumentImpl must implement the inherited abstract method
> Document.setStrictErrorChecking(boolean)
> 
> The type SOAPDocumentImpl must implement the inherited abstract method
> Document.setDocumentURI (String) SOAPDocumentImpl.java
> 
> The type SOAPDocumentImpl must implement the inherited abstract method
> Document.renameNode(Node, String, String)
> 
> The type SOAPDocumentImpl must implement the inherited abstract method 
> Document.normalizeDocument()
> 
> The type SOAPDocumentImpl must implement the inherited abstract method
> Document.getXmlVersion()
> 
> The type SOAPDocumentImpl must implement the inherited abstract method
> Document.getXmlStandalone ()
> 
> The type SOAPDocumentImpl must implement the inherited abstract method
> Document.getXmlEncoding()
> 
> The type SOAPDocumentImpl must implement the inherited abstract method
> Document.getStrictErrorChecking ()
> 
> The type SOAPDocumentImpl must implement the inherited abstract method
> Document.getInputEncoding()
> 
> The type SOAPDocumentImpl must implement the inherited abstract method
> Document.getDomConfig()
> 
> The type SOAPDocumentImpl must implement the inherited abstract method
> Document.getDocumentURI()
> 
> The type SOAPDocumentImpl must implement the inherited abstract method
> Document.adoptNode(Node)
> 
> ================================= 
> SOAPElementImpl:
> 
> The type SOAPElementImpl must implement the inherited abstract method
> Element.setIdAttributeNS(String, String, boolean)
> 
> The type SOAPElementImpl must implement the inherited abstract method 
> Element.setIdAttributeNode(Attr, boolean)
> 
> The type SOAPElementImpl must implement the inherited abstract method
> Element.setIdAttribute(String, boolean)
> 
> The type SOAPElementImpl must implement the inherited abstract method 
> Element.getSchemaTypeInfo()
> =================================
> SOAPPartImpl:
> 
> The type SOAPPartImpl must implement the inherited abstract method
> Node.setUserData(String, Object, UserDataHandler)
> 
> The type SOAPPartImpl must implement the inherited abstract method 
> Node.setTextContent(String)
> 
> The type SOAPPartImpl must implement the inherited abstract method
> Node.lookupPrefix(String)
> 
> The type SOAPPartImpl must implement the inherited abstract method
> Node.lookupNamespaceURI (String)
> 
> The type SOAPPartImpl must implement the inherited abstract method
> Node.isSameNode(Node)
> 
> The type SOAPPartImpl must implement the inherited abstract method
> Node.isEqualNode(Node)
> 
> The type SOAPPartImpl must implement the inherited abstract method 
> Node.isDefaultNamespace(String)
> 
> The type SOAPPartImpl must implement the inherited abstract method
> Node.getUserData(String)
> 
> The type SOAPPartImpl must implement the inherited abstract method
> Node.getTextContent ()
> 
> The type SOAPPartImpl must implement the inherited abstract method
> Node.getFeature(String, String)
> 
> The type SOAPPartImpl must implement the inherited abstract method
> Node.getBaseURI()
> 
> The type SOAPPartImpl must implement the inherited abstract method 
> Node.compareDocumentPosition(Node)
> 
> The type SOAPPartImpl must implement the inherited abstract method
> Document.setXmlVersion(String)
> 
> The type SOAPPartImpl must implement the inherited abstract method 
> Document.setXmlStandalone(boolean)
> 
> The type SOAPPartImpl must implement the inherited abstract method
> Document.setDocumentURI(String)
> 
> The type SOAPPartImpl must implement the inherited abstract method
> Document.renameNode(Node, String, String)
> 
> The type SOAPPartImpl must implement the inherited abstract method
> Document.normalizeDocument()
> 
> The type SOAPPartImpl must implement the inherited abstract method 
> Document.getXmlVersion()
> 
> The type SOAPPartImpl must implement the inherited abstract method
> Document.getXmlStandalone()
> 
> The type SOAPPartImpl must implement the inherited abstract method
> Document.getXmlEncoding ()
> 
> The type SOAPPartImpl must implement the inherited abstract method
> Document.getInputEncoding()
> 
> The type SOAPPartImpl must implement the inherited abstract method
> Document.getDomConfig()
> 
> The type SOAPPartImpl must implement the inherited abstract method 
> Document.getDocumentURI()
> =================================
> TextImpl:
> The type TextImpl must implement the inherited abstract method
> Text.replaceWholeText(String)
> 
> The type TextImpl must implement the inherited abstract method 
> Text.isElementContentWhitespace()
> 
> The type TextImpl must implement the inherited abstract method
> Text.getWholeText()
> =================================
> 
> 
>  
> 
> 
> 
>  -- 
> "May the SourcE be with u" 
> http://www.bloglines.com/blog/thilina http://webservices.apache.org/~thilina/ 
> <http://webservices.apache.org/%7Ethilina/>
>  
> 
> 
> 
> -- 
> "May the SourcE be with u" 
> http://www.bloglines.com/blog/thilina 
> http://webservices.apache.org/~thilina/<http://webservices.apache.org/%7Ethilina/> 
>  



-- 
"May the SourcE be with u" 
http://www.bloglines.com/blog/thilina 
http://webservices.apache.org/~thilina/

AW: [axis2] MTOM Binary Data - Problem with Response [axis2 <-> .NET]

Posted by Filipp Akinfiev <li...@pakra.de>.
Hi, i don’t known what is .net version, i’m only customer….

Maybe the responded message is not correct, but axis1 parse it  successfully

 

is it possible to ignore this exception ?

==================== source code for axis1 ==============================

…..

oper = new org.apache.axis.description.OperationDesc();

                        oper.setName("Status");

                        param = new
org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("",
"Account"), org.apache.axis.description.ParameterDesc.IN, new
javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"),
java.lang.String.class, false, false);

                        oper.addParameter(param);

                        param = new
org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("",
"Password"), org.apache.axis.description.ParameterDesc.IN, new
javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"),
java.lang.String.class, false, false);

                        oper.addParameter(param);

                        param = new
org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("",
"JobId"), org.apache.axis.description.ParameterDesc.IN, new
javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "int"),
int.class, false, false);

                        oper.addParameter(param);

                        param = new
org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("",
"Protokoll"), org.apache.axis.description.ParameterDesc.INOUT, new
javax.xml.namespace.QName("http://xml.apache.org/xml-soap", "DataHandler"),
javax.activation.DataHandler.class, false, false);

                        oper.addParameter(param);

                        oper.setReturnType(new
javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "int"));

                        oper.setReturnClass(int.class);

                        oper.setReturnQName(new
javax.xml.namespace.QName("", "return"));

                        _operations[12] = oper;

….

public int status(java.lang.String account, java.lang.String password, int
jobId, org.apache.axis.holders.DataHandlerHolder protokoll) throws
java.rmi.RemoteException {

                        if (super.cachedEndpoint == null) {

                                   throw new
org.apache.axis.NoEndPointException();

                        }

                        org.apache.axis.client.Call _call = createCall();

                        _call.setOperation(_operations[12]);

                        _call.setUseSOAPAction(true);

 
_call.setSOAPActionURI("urn:XMLWSIntf-IXMLWS#Status");

 
_call.setProperty(org.apache.axis.AxisEngine.PROP_DOMULTIREFS,
Boolean.FALSE);

 
_call.setSOAPVersion(org.apache.axis.soap.SOAPConstants.SOAP11_CONSTANTS);

                        _call.setOperationName(new
javax.xml.namespace.QName("urn:XMLWSIntf-IXMLWS", "Status"));

 

                        setRequestHeaders(_call);

                        setAttachments(_call);

                        try {

                                   java.lang.Object _resp = _call.invoke(new
java.lang.Object[] { account, password, new java.lang.Integer(jobId),
protokoll.value });

 

                                   if (_resp instanceof
java.rmi.RemoteException) {

                                               throw
(java.rmi.RemoteException) _resp;

                                   } else {

                                               extractAttachments(_call);

                                               java.util.Map _output;

                                               _output =
_call.getOutputParams();

                                               try {

                                                           protokoll.value =
(javax.activation.DataHandler) _output.get(new javax.xml.namespace.QName("",
"Protokoll"));

                                               } catch (java.lang.Exception
_exception) {

                                                           protokoll.value =
(javax.activation.DataHandler)
org.apache.axis.utils.JavaUtils.convert(_output.get(new
javax.xml.namespace.QName("", "Protokoll")), byte[].class);

                                               }

                                               try {

                                                           return
((java.lang.Integer) _resp).intValue();

                                               } catch (java.lang.Exception
_exception) {

                                                           return
((java.lang.Integer) org.apache.axis.utils.JavaUtils.convert(_resp,
int.class)).intValue();

                                               }

                                   }

                        } catch (org.apache.axis.AxisFault
axisFaultException) {

                                   throw axisFaultException;

                        }

            }

 

 

 

 

 

-----Ursprüngliche Nachricht-----
Von: Thilina Gunarathne [mailto:csethil@gmail.com] 
Gesendet: Mittwoch, 21. September 2005 11:00
An: axis-user@ws.apache.org
Betreff: Re: [axis2] MTOM Binary Data - Problem with Response [axis2 <->
.NET]

 

Also I don't see any point in returning a MIME based message (MTOM or SwA)
in the above mentioned case. This does not contain a binary attachment.
Using of the MIME envelope is a waste of resouces... 
This message can be delivered in a plain SOAP envelope without any trouble.

On 9/21/05, Thilina Gunarathne <csethil@gmail.com
<ma...@gmail.com> > wrote:

Hi,
I cannot understand whether this message is a SOAP with Attachements message
or a MTOM message.. Anyway MTOM *spec* does not support the Content Location
based referencing of MIME messages. So that I assume this is a SwA message..
(Even for SwA *Axis2* does not support the Content-Location based
referencing.)

In any case this the Response Message you have provided as the message trace
does not seems to be a valid SwA (or MTOM) message. It does not contain the
type parameter in content-type header. Follwoing is the example header in
SwA w3c note. Look at the type=text/xml;
eg : 

Content-Type: Multipart/Related; boundary=MIME_boundary; type=text/xml;


        start="< <ma...@claiming-it.com> 
claim061400a.xml@claiming-it.com>"


What is the .net version you are using.  FYI WSE 3.0  MTOM succesfull
interops with Axis2.

We also seems to be having a bug, cause we return a null pointer exception,
without mentioning the exact cause. I'll fix it. 

Thanks, 
~Thilina





On 9/21/05, Filipp Akinfiev <lists@pakra.de > wrote:

@Saminda
private static EndpointReference targetEPR = new
EndpointReference("http://ccs.fax.de/xmlws.exe/soap/IXMLWS
<http://ccs.fax.de/xmlws.exe/soap/IXMLWS%22%29> ") ;

@Saminda & @Dims 
i cannot compile the last Sourcesnapshot.... I have installed Java 1.5
and I got known error in saaj package, see Thread "[Axis2] Build problems
during compiling" ->
http://marc.theaimsgroup.com/?l=axis-user
<http://marc.theaimsgroup.com/?l=axis-user&m=112565105102599&w=2>
&m=112565105102599&w=2
I have a look in sourcecode in package org.apache.axis2.saaj in eclipse, and
I get following errors:
=================================
AttrImpl:
The type AttrImpl must implement the inherited abstract method Attr.isId()
The type AttrImpl must implement the inherited abstract method
Attr.getSchemaTypeInfo()
=================================
NodeImpl:
The type NodeImpl must implement the inherited abstract method
Node.setUserData(String, Object, UserDataHandler)

The type NodeImpl must implement the inherited abstract method
Node.setTextContent (String)

The type NodeImpl must implement the inherited abstract method
Node.lookupPrefix(String)

The type NodeImpl must implement the inherited abstract method
Node.lookupNamespaceURI(String)

The type NodeImpl must implement the inherited abstract method 
Node.isSameNode(Node)

The type NodeImpl must implement the inherited abstract method
Node.isEqualNode(Node)

The type NodeImpl must implement the inherited abstract method
Node.isDefaultNamespace(String) 

The type NodeImpl must implement the inherited abstract method
Node.getUserData(String)

The type NodeImpl must implement the inherited abstract method
Node.getTextContent()

The type NodeImpl must implement the inherited abstract method 
Node.getFeature(String, String)

The type NodeImpl must implement the inherited abstract method
Node.getBaseURI()

The type NodeImpl must implement the inherited abstract method
Node.compareDocumentPosition (Node)
==================================
SOAPConnectionImpl:
The method createAttachmentPart() in the type SOAPMessage is not applicable
for the arguments (DataHandler)
==================================
SOAPDocumentImpl:
The type SOAPDocumentImpl must implement the inherited abstract method
Node.setUserData(String, Object, UserDataHandler)

The type SOAPDocumentImpl must implement the inherited abstract method 
Node.setTextContent(String)

The type SOAPDocumentImpl must implement the inherited abstract method
Node.lookupPrefix(String)

The type SOAPDocumentImpl must implement the inherited abstract method
Node.lookupNamespaceURI (String)

The type SOAPDocumentImpl must implement the inherited abstract method
Node.isSameNode(Node)   SOAPDocumentImpl.java

The type SOAPDocumentImpl must implement the inherited abstract method
Node.isEqualNode (Node)  SOAPDocumentImpl.java

The type SOAPDocumentImpl must implement the inherited abstract method
Node.isDefaultNamespace(String)

The type SOAPDocumentImpl must implement the inherited abstract method 
Node.getUserData(String)

The type SOAPDocumentImpl must implement the inherited abstract method
Node.getTextContent()

The type SOAPDocumentImpl must implement the inherited abstract method
Node.getFeature (String, String)

The type SOAPDocumentImpl must implement the inherited abstract method
Node.getBaseURI()

The type SOAPDocumentImpl must implement the inherited abstract method
Node.compareDocumentPosition (Node)

The type SOAPDocumentImpl must implement the inherited abstract method
Document.setXmlVersion(String)

The type SOAPDocumentImpl must implement the inherited abstract method
Document.setXmlStandalone (boolean)

The type SOAPDocumentImpl must implement the inherited abstract method
Document.setStrictErrorChecking(boolean)

The type SOAPDocumentImpl must implement the inherited abstract method
Document.setDocumentURI (String) SOAPDocumentImpl.java

The type SOAPDocumentImpl must implement the inherited abstract method
Document.renameNode(Node, String, String)

The type SOAPDocumentImpl must implement the inherited abstract method 
Document.normalizeDocument()

The type SOAPDocumentImpl must implement the inherited abstract method
Document.getXmlVersion()

The type SOAPDocumentImpl must implement the inherited abstract method
Document.getXmlStandalone ()

The type SOAPDocumentImpl must implement the inherited abstract method
Document.getXmlEncoding()

The type SOAPDocumentImpl must implement the inherited abstract method
Document.getStrictErrorChecking ()

The type SOAPDocumentImpl must implement the inherited abstract method
Document.getInputEncoding()

The type SOAPDocumentImpl must implement the inherited abstract method
Document.getDomConfig()

The type SOAPDocumentImpl must implement the inherited abstract method
Document.getDocumentURI()

The type SOAPDocumentImpl must implement the inherited abstract method
Document.adoptNode(Node)

================================= 
SOAPElementImpl:

The type SOAPElementImpl must implement the inherited abstract method
Element.setIdAttributeNS(String, String, boolean)

The type SOAPElementImpl must implement the inherited abstract method 
Element.setIdAttributeNode(Attr, boolean)

The type SOAPElementImpl must implement the inherited abstract method
Element.setIdAttribute(String, boolean)

The type SOAPElementImpl must implement the inherited abstract method 
Element.getSchemaTypeInfo()
=================================
SOAPPartImpl:

The type SOAPPartImpl must implement the inherited abstract method
Node.setUserData(String, Object, UserDataHandler)

The type SOAPPartImpl must implement the inherited abstract method 
Node.setTextContent(String)

The type SOAPPartImpl must implement the inherited abstract method
Node.lookupPrefix(String)

The type SOAPPartImpl must implement the inherited abstract method
Node.lookupNamespaceURI (String)

The type SOAPPartImpl must implement the inherited abstract method
Node.isSameNode(Node)

The type SOAPPartImpl must implement the inherited abstract method
Node.isEqualNode(Node)

The type SOAPPartImpl must implement the inherited abstract method 
Node.isDefaultNamespace(String)

The type SOAPPartImpl must implement the inherited abstract method
Node.getUserData(String)

The type SOAPPartImpl must implement the inherited abstract method
Node.getTextContent ()

The type SOAPPartImpl must implement the inherited abstract method
Node.getFeature(String, String)

The type SOAPPartImpl must implement the inherited abstract method
Node.getBaseURI()

The type SOAPPartImpl must implement the inherited abstract method 
Node.compareDocumentPosition(Node)

The type SOAPPartImpl must implement the inherited abstract method
Document.setXmlVersion(String)

The type SOAPPartImpl must implement the inherited abstract method 
Document.setXmlStandalone(boolean)

The type SOAPPartImpl must implement the inherited abstract method
Document.setDocumentURI(String)

The type SOAPPartImpl must implement the inherited abstract method
Document.renameNode(Node, String, String)

The type SOAPPartImpl must implement the inherited abstract method
Document.normalizeDocument()

The type SOAPPartImpl must implement the inherited abstract method 
Document.getXmlVersion()

The type SOAPPartImpl must implement the inherited abstract method
Document.getXmlStandalone()

The type SOAPPartImpl must implement the inherited abstract method
Document.getXmlEncoding ()

The type SOAPPartImpl must implement the inherited abstract method
Document.getInputEncoding()

The type SOAPPartImpl must implement the inherited abstract method
Document.getDomConfig()

The type SOAPPartImpl must implement the inherited abstract method 
Document.getDocumentURI()
=================================
TextImpl:
The type TextImpl must implement the inherited abstract method
Text.replaceWholeText(String)

The type TextImpl must implement the inherited abstract method 
Text.isElementContentWhitespace()

The type TextImpl must implement the inherited abstract method
Text.getWholeText()
=================================










-- 
"May the SourcE be with u" 
http://www.bloglines.com/blog/thilina
http://webservices.apache.org/~thilina/
<http://webservices.apache.org/%7Ethilina/>  




-- 
"May the SourcE be with u" 
http://www.bloglines.com/blog/thilina
<http://webservices.apache.org/~thilina/>
http://webservices.apache.org/~thilina/ 


Re: [axis2] MTOM Binary Data - Problem with Response [axis2 <-> .NET]

Posted by Thilina Gunarathne <cs...@gmail.com>.
Also I don't see any point in returning a MIME based message (MTOM or SwA) 
in the above mentioned case. This does not contain a binary attachment. 
Using of the MIME envelope is a waste of resouces... 
This message can be delivered in a plain SOAP envelope without any trouble.

On 9/21/05, Thilina Gunarathne <cs...@gmail.com> wrote:
> 
> Hi,
> I cannot understand whether this message is a SOAP with Attachements 
> message or a MTOM message.. Anyway MTOM *spec* does not support the Content 
> Location based referencing of MIME messages. So that I assume this is a SwA 
> message.. (Even for SwA *Axis2* does not support the Content-Location based 
> referencing.)
> 
> In any case this the Response Message you have provided as the message 
> trace does not seems to be a valid SwA (or MTOM) message. It does not 
> contain the type parameter in content-type header. Follwoing is the example 
> header in SwA w3c note. Look at the type=text/xml;
> eg : 
> 
> Content-Type: Multipart/Related; boundary=MIME_boundary; type=text/xml;
>         start="<cl...@claiming-it.com>"
> 
> 
> What is the .net version you are using. FYI WSE 3.0 MTOM succesfull 
> interops with Axis2.
> 
> We also seems to be having a bug, cause we return a null pointer 
> exception, without mentioning the exact cause. I'll fix it. 
> 
> Thanks, 
> ~Thilina
> 
> 
> On 9/21/05, Filipp Akinfiev <li...@pakra.de> wrote:
> > 
> > @Saminda
> > private static EndpointReference targetEPR = new
> > EndpointReference("http://ccs.fax.de/xmlws.exe/soap/IXMLWS")<http://ccs.fax.de/xmlws.exe/soap/IXMLWS%22%29>
> > ;
> > 
> > @Saminda & @Dims 
> > i cannot compile the last Sourcesnapshot.... I have installed Java 1.5
> > and I got known error in saaj package, see Thread "[Axis2] Build 
> > problems
> > during compiling" ->
> > http://marc.theaimsgroup.com/?l=axis-user&m=112565105102599&w=2
> > I have a look in sourcecode in package org.apache.axis2.saaj in eclipse, 
> > and
> > I get following errors:
> > =================================
> > AttrImpl:
> > The type AttrImpl must implement the inherited abstract method Attr.isId
> > ()
> > The type AttrImpl must implement the inherited abstract method
> > Attr.getSchemaTypeInfo()
> > =================================
> > NodeImpl:
> > The type NodeImpl must implement the inherited abstract method
> > Node.setUserData(String, Object, UserDataHandler)
> > 
> > The type NodeImpl must implement the inherited abstract method
> > Node.setTextContent (String)
> > 
> > The type NodeImpl must implement the inherited abstract method
> > Node.lookupPrefix(String)
> > 
> > The type NodeImpl must implement the inherited abstract method
> > Node.lookupNamespaceURI(String)
> > 
> > The type NodeImpl must implement the inherited abstract method 
> > Node.isSameNode(Node)
> > 
> > The type NodeImpl must implement the inherited abstract method
> > Node.isEqualNode(Node)
> > 
> > The type NodeImpl must implement the inherited abstract method
> > Node.isDefaultNamespace(String) 
> > 
> > The type NodeImpl must implement the inherited abstract method
> > Node.getUserData(String)
> > 
> > The type NodeImpl must implement the inherited abstract method
> > Node.getTextContent()
> > 
> > The type NodeImpl must implement the inherited abstract method 
> > Node.getFeature(String, String)
> > 
> > The type NodeImpl must implement the inherited abstract method
> > Node.getBaseURI()
> > 
> > The type NodeImpl must implement the inherited abstract method
> > Node.compareDocumentPosition (Node)
> > ==================================
> > SOAPConnectionImpl:
> > The method createAttachmentPart() in the type SOAPMessage is not 
> > applicable
> > for the arguments (DataHandler)
> > ==================================
> > SOAPDocumentImpl:
> > The type SOAPDocumentImpl must implement the inherited abstract method
> > Node.setUserData(String, Object, UserDataHandler)
> > 
> > The type SOAPDocumentImpl must implement the inherited abstract method 
> > Node.setTextContent(String)
> > 
> > The type SOAPDocumentImpl must implement the inherited abstract method
> > Node.lookupPrefix(String)
> > 
> > The type SOAPDocumentImpl must implement the inherited abstract method
> > Node.lookupNamespaceURI (String)
> > 
> > The type SOAPDocumentImpl must implement the inherited abstract method
> > Node.isSameNode(Node) SOAPDocumentImpl.java
> > 
> > The type SOAPDocumentImpl must implement the inherited abstract method
> > Node.isEqualNode (Node) SOAPDocumentImpl.java
> > 
> > The type SOAPDocumentImpl must implement the inherited abstract method
> > Node.isDefaultNamespace(String)
> > 
> > The type SOAPDocumentImpl must implement the inherited abstract method
> > Node.getUserData(String)
> > 
> > The type SOAPDocumentImpl must implement the inherited abstract method
> > Node.getTextContent()
> > 
> > The type SOAPDocumentImpl must implement the inherited abstract method
> > Node.getFeature (String, String)
> > 
> > The type SOAPDocumentImpl must implement the inherited abstract method
> > Node.getBaseURI()
> > 
> > The type SOAPDocumentImpl must implement the inherited abstract method
> > Node.compareDocumentPosition (Node)
> > 
> > The type SOAPDocumentImpl must implement the inherited abstract method
> > Document.setXmlVersion(String)
> > 
> > The type SOAPDocumentImpl must implement the inherited abstract method
> > Document.setXmlStandalone (boolean)
> > 
> > The type SOAPDocumentImpl must implement the inherited abstract method
> > Document.setStrictErrorChecking(boolean)
> > 
> > The type SOAPDocumentImpl must implement the inherited abstract method
> > Document.setDocumentURI (String) SOAPDocumentImpl.java
> > 
> > The type SOAPDocumentImpl must implement the inherited abstract method
> > Document.renameNode(Node, String, String)
> > 
> > The type SOAPDocumentImpl must implement the inherited abstract method 
> > Document.normalizeDocument()
> > 
> > The type SOAPDocumentImpl must implement the inherited abstract method
> > Document.getXmlVersion()
> > 
> > The type SOAPDocumentImpl must implement the inherited abstract method
> > Document.getXmlStandalone ()
> > 
> > The type SOAPDocumentImpl must implement the inherited abstract method
> > Document.getXmlEncoding()
> > 
> > The type SOAPDocumentImpl must implement the inherited abstract method
> > Document.getStrictErrorChecking ()
> > 
> > The type SOAPDocumentImpl must implement the inherited abstract method
> > Document.getInputEncoding()
> > 
> > The type SOAPDocumentImpl must implement the inherited abstract method
> > Document.getDomConfig()
> > 
> > The type SOAPDocumentImpl must implement the inherited abstract method
> > Document.getDocumentURI()
> > 
> > The type SOAPDocumentImpl must implement the inherited abstract method
> > Document.adoptNode(Node)
> > 
> > ================================= 
> > SOAPElementImpl:
> > 
> > The type SOAPElementImpl must implement the inherited abstract method
> > Element.setIdAttributeNS(String, String, boolean)
> > 
> > The type SOAPElementImpl must implement the inherited abstract method 
> > Element.setIdAttributeNode(Attr, boolean)
> > 
> > The type SOAPElementImpl must implement the inherited abstract method
> > Element.setIdAttribute(String, boolean)
> > 
> > The type SOAPElementImpl must implement the inherited abstract method 
> > Element.getSchemaTypeInfo()
> > =================================
> > SOAPPartImpl:
> > 
> > The type SOAPPartImpl must implement the inherited abstract method
> > Node.setUserData(String, Object, UserDataHandler)
> > 
> > The type SOAPPartImpl must implement the inherited abstract method 
> > Node.setTextContent(String)
> > 
> > The type SOAPPartImpl must implement the inherited abstract method
> > Node.lookupPrefix(String)
> > 
> > The type SOAPPartImpl must implement the inherited abstract method
> > Node.lookupNamespaceURI (String)
> > 
> > The type SOAPPartImpl must implement the inherited abstract method
> > Node.isSameNode(Node)
> > 
> > The type SOAPPartImpl must implement the inherited abstract method
> > Node.isEqualNode(Node)
> > 
> > The type SOAPPartImpl must implement the inherited abstract method 
> > Node.isDefaultNamespace(String)
> > 
> > The type SOAPPartImpl must implement the inherited abstract method
> > Node.getUserData(String)
> > 
> > The type SOAPPartImpl must implement the inherited abstract method
> > Node.getTextContent ()
> > 
> > The type SOAPPartImpl must implement the inherited abstract method
> > Node.getFeature(String, String)
> > 
> > The type SOAPPartImpl must implement the inherited abstract method
> > Node.getBaseURI()
> > 
> > The type SOAPPartImpl must implement the inherited abstract method 
> > Node.compareDocumentPosition(Node)
> > 
> > The type SOAPPartImpl must implement the inherited abstract method
> > Document.setXmlVersion(String)
> > 
> > The type SOAPPartImpl must implement the inherited abstract method
> > Document.setXmlStandalone(boolean)
> > 
> > The type SOAPPartImpl must implement the inherited abstract method
> > Document.setDocumentURI(String)
> > 
> > The type SOAPPartImpl must implement the inherited abstract method
> > Document.renameNode(Node, String, String)
> > 
> > The type SOAPPartImpl must implement the inherited abstract method
> > Document.normalizeDocument()
> > 
> > The type SOAPPartImpl must implement the inherited abstract method 
> > Document.getXmlVersion()
> > 
> > The type SOAPPartImpl must implement the inherited abstract method
> > Document.getXmlStandalone()
> > 
> > The type SOAPPartImpl must implement the inherited abstract method
> > Document.getXmlEncoding ()
> > 
> > The type SOAPPartImpl must implement the inherited abstract method
> > Document.getInputEncoding()
> > 
> > The type SOAPPartImpl must implement the inherited abstract method
> > Document.getDomConfig()
> > 
> > The type SOAPPartImpl must implement the inherited abstract method 
> > Document.getDocumentURI()
> > =================================
> > TextImpl:
> > The type TextImpl must implement the inherited abstract method
> > Text.replaceWholeText(String)
> > 
> > The type TextImpl must implement the inherited abstract method 
> > Text.isElementContentWhitespace()
> > 
> > The type TextImpl must implement the inherited abstract method
> > Text.getWholeText()
> > =================================
> > 
> > 
> > 
> > 
> 
> 
> -- 
> "May the SourcE be with u" 
> http://www.bloglines.com/blog/thilina http://webservices.apache.org/~thilina/ 
> <http://webservices.apache.org/%7Ethilina/> 




-- 
"May the SourcE be with u" 
http://www.bloglines.com/blog/thilina 
http://webservices.apache.org/~thilina/

Re: [axis2] MTOM Binary Data - Problem with Response [axis2 <-> .NET]

Posted by Thilina Gunarathne <cs...@gmail.com>.
Hi,
I cannot understand whether this message is a SOAP with Attachements message 
or a MTOM message.. Anyway MTOM *spec* does not support the Content Location 
based referencing of MIME messages. So that I assume this is a SwA message.. 
(Even for SwA *Axis2* does not support the Content-Location based 
referencing.)

In any case this the Response Message you have provided as the message trace 
does not seems to be a valid SwA (or MTOM) message. It does not contain the 
type parameter in content-type header. Follwoing is the example header in 
SwA w3c note. Look at the type=text/xml;
eg : 

Content-Type: Multipart/Related; boundary=MIME_boundary; type=text/xml;
        start="<cl...@claiming-it.com>"


What is the .net version you are using. FYI WSE 3.0 MTOM succesfull interops 
with Axis2.

We also seems to be having a bug, cause we return a null pointer exception, 
without mentioning the exact cause. I'll fix it. 

Thanks, 
~Thilina


On 9/21/05, Filipp Akinfiev <li...@pakra.de> wrote:
> 
> @Saminda
> private static EndpointReference targetEPR = new
> EndpointReference("http://ccs.fax.de/xmlws.exe/soap/IXMLWS");
> 
> @Saminda & @Dims
> i cannot compile the last Sourcesnapshot.... I have installed Java 1.5
> and I got known error in saaj package, see Thread "[Axis2] Build problems
> during compiling" ->
> http://marc.theaimsgroup.com/?l=axis-user&m=112565105102599&w=2
> I have a look in sourcecode in package org.apache.axis2.saaj in eclipse, 
> and
> I get following errors:
> =================================
> AttrImpl:
> The type AttrImpl must implement the inherited abstract method Attr.isId()
> The type AttrImpl must implement the inherited abstract method
> Attr.getSchemaTypeInfo()
> =================================
> NodeImpl:
> The type NodeImpl must implement the inherited abstract method
> Node.setUserData(String, Object, UserDataHandler)
> 
> The type NodeImpl must implement the inherited abstract method
> Node.setTextContent(String)
> 
> The type NodeImpl must implement the inherited abstract method
> Node.lookupPrefix(String)
> 
> The type NodeImpl must implement the inherited abstract method
> Node.lookupNamespaceURI(String)
> 
> The type NodeImpl must implement the inherited abstract method
> Node.isSameNode(Node)
> 
> The type NodeImpl must implement the inherited abstract method
> Node.isEqualNode(Node)
> 
> The type NodeImpl must implement the inherited abstract method
> Node.isDefaultNamespace(String)
> 
> The type NodeImpl must implement the inherited abstract method
> Node.getUserData(String)
> 
> The type NodeImpl must implement the inherited abstract method
> Node.getTextContent()
> 
> The type NodeImpl must implement the inherited abstract method
> Node.getFeature(String, String)
> 
> The type NodeImpl must implement the inherited abstract method
> Node.getBaseURI()
> 
> The type NodeImpl must implement the inherited abstract method
> Node.compareDocumentPosition(Node)
> ==================================
> SOAPConnectionImpl:
> The method createAttachmentPart() in the type SOAPMessage is not 
> applicable
> for the arguments (DataHandler)
> ==================================
> SOAPDocumentImpl:
> The type SOAPDocumentImpl must implement the inherited abstract method
> Node.setUserData(String, Object, UserDataHandler)
> 
> The type SOAPDocumentImpl must implement the inherited abstract method
> Node.setTextContent(String)
> 
> The type SOAPDocumentImpl must implement the inherited abstract method
> Node.lookupPrefix(String)
> 
> The type SOAPDocumentImpl must implement the inherited abstract method
> Node.lookupNamespaceURI(String)
> 
> The type SOAPDocumentImpl must implement the inherited abstract method
> Node.isSameNode(Node) SOAPDocumentImpl.java
> 
> The type SOAPDocumentImpl must implement the inherited abstract method
> Node.isEqualNode(Node) SOAPDocumentImpl.java
> 
> The type SOAPDocumentImpl must implement the inherited abstract method
> Node.isDefaultNamespace(String)
> 
> The type SOAPDocumentImpl must implement the inherited abstract method
> Node.getUserData(String)
> 
> The type SOAPDocumentImpl must implement the inherited abstract method
> Node.getTextContent()
> 
> The type SOAPDocumentImpl must implement the inherited abstract method
> Node.getFeature(String, String)
> 
> The type SOAPDocumentImpl must implement the inherited abstract method
> Node.getBaseURI()
> 
> The type SOAPDocumentImpl must implement the inherited abstract method
> Node.compareDocumentPosition(Node)
> 
> The type SOAPDocumentImpl must implement the inherited abstract method
> Document.setXmlVersion(String)
> 
> The type SOAPDocumentImpl must implement the inherited abstract method
> Document.setXmlStandalone(boolean)
> 
> The type SOAPDocumentImpl must implement the inherited abstract method
> Document.setStrictErrorChecking(boolean)
> 
> The type SOAPDocumentImpl must implement the inherited abstract method
> Document.setDocumentURI(String) SOAPDocumentImpl.java
> 
> The type SOAPDocumentImpl must implement the inherited abstract method
> Document.renameNode(Node, String, String)
> 
> The type SOAPDocumentImpl must implement the inherited abstract method
> Document.normalizeDocument()
> 
> The type SOAPDocumentImpl must implement the inherited abstract method
> Document.getXmlVersion()
> 
> The type SOAPDocumentImpl must implement the inherited abstract method
> Document.getXmlStandalone()
> 
> The type SOAPDocumentImpl must implement the inherited abstract method
> Document.getXmlEncoding()
> 
> The type SOAPDocumentImpl must implement the inherited abstract method
> Document.getStrictErrorChecking()
> 
> The type SOAPDocumentImpl must implement the inherited abstract method
> Document.getInputEncoding()
> 
> The type SOAPDocumentImpl must implement the inherited abstract method
> Document.getDomConfig()
> 
> The type SOAPDocumentImpl must implement the inherited abstract method
> Document.getDocumentURI()
> 
> The type SOAPDocumentImpl must implement the inherited abstract method
> Document.adoptNode(Node)
> 
> =================================
> SOAPElementImpl:
> 
> The type SOAPElementImpl must implement the inherited abstract method
> Element.setIdAttributeNS(String, String, boolean)
> 
> The type SOAPElementImpl must implement the inherited abstract method
> Element.setIdAttributeNode(Attr, boolean)
> 
> The type SOAPElementImpl must implement the inherited abstract method
> Element.setIdAttribute(String, boolean)
> 
> The type SOAPElementImpl must implement the inherited abstract method
> Element.getSchemaTypeInfo()
> =================================
> SOAPPartImpl:
> 
> The type SOAPPartImpl must implement the inherited abstract method
> Node.setUserData(String, Object, UserDataHandler)
> 
> The type SOAPPartImpl must implement the inherited abstract method
> Node.setTextContent(String)
> 
> The type SOAPPartImpl must implement the inherited abstract method
> Node.lookupPrefix(String)
> 
> The type SOAPPartImpl must implement the inherited abstract method
> Node.lookupNamespaceURI(String)
> 
> The type SOAPPartImpl must implement the inherited abstract method
> Node.isSameNode(Node)
> 
> The type SOAPPartImpl must implement the inherited abstract method
> Node.isEqualNode(Node)
> 
> The type SOAPPartImpl must implement the inherited abstract method
> Node.isDefaultNamespace(String)
> 
> The type SOAPPartImpl must implement the inherited abstract method
> Node.getUserData(String)
> 
> The type SOAPPartImpl must implement the inherited abstract method
> Node.getTextContent()
> 
> The type SOAPPartImpl must implement the inherited abstract method
> Node.getFeature(String, String)
> 
> The type SOAPPartImpl must implement the inherited abstract method
> Node.getBaseURI()
> 
> The type SOAPPartImpl must implement the inherited abstract method
> Node.compareDocumentPosition(Node)
> 
> The type SOAPPartImpl must implement the inherited abstract method
> Document.setXmlVersion(String)
> 
> The type SOAPPartImpl must implement the inherited abstract method
> Document.setXmlStandalone(boolean)
> 
> The type SOAPPartImpl must implement the inherited abstract method
> Document.setDocumentURI(String)
> 
> The type SOAPPartImpl must implement the inherited abstract method
> Document.renameNode(Node, String, String)
> 
> The type SOAPPartImpl must implement the inherited abstract method
> Document.normalizeDocument()
> 
> The type SOAPPartImpl must implement the inherited abstract method
> Document.getXmlVersion()
> 
> The type SOAPPartImpl must implement the inherited abstract method
> Document.getXmlStandalone()
> 
> The type SOAPPartImpl must implement the inherited abstract method
> Document.getXmlEncoding()
> 
> The type SOAPPartImpl must implement the inherited abstract method
> Document.getInputEncoding()
> 
> The type SOAPPartImpl must implement the inherited abstract method
> Document.getDomConfig()
> 
> The type SOAPPartImpl must implement the inherited abstract method
> Document.getDocumentURI()
> =================================
> TextImpl:
> The type TextImpl must implement the inherited abstract method
> Text.replaceWholeText(String)
> 
> The type TextImpl must implement the inherited abstract method
> Text.isElementContentWhitespace()
> 
> The type TextImpl must implement the inherited abstract method
> Text.getWholeText()
> =================================
> 
> 
> 
> 


-- 
"May the SourcE be with u" 
http://www.bloglines.com/blog/thilina 
http://webservices.apache.org/~thilina/

AW: [axis2] MTOM Binary Data - Problem with Response [axis2 <-> .NET]

Posted by Filipp Akinfiev <li...@pakra.de>.
@Saminda
private static EndpointReference targetEPR = new
EndpointReference("http://ccs.fax.de/xmlws.exe/soap/IXMLWS");

@Saminda & @Dims
i cannot compile the last Sourcesnapshot.... I have installed Java 1.5
and I got known error in saaj package, see Thread "[Axis2] Build problems
during compiling" ->
http://marc.theaimsgroup.com/?l=axis-user&m=112565105102599&w=2
I have a look in sourcecode in package org.apache.axis2.saaj in eclipse, and
I get following errors:
=================================
AttrImpl:
The type AttrImpl must implement the inherited abstract method Attr.isId()
The type AttrImpl must implement the inherited abstract method
Attr.getSchemaTypeInfo()
=================================
NodeImpl:
The type NodeImpl must implement the inherited abstract method
Node.setUserData(String, Object, UserDataHandler)

The type NodeImpl must implement the inherited abstract method
Node.setTextContent(String)

The type NodeImpl must implement the inherited abstract method
Node.lookupPrefix(String)

The type NodeImpl must implement the inherited abstract method
Node.lookupNamespaceURI(String)

The type NodeImpl must implement the inherited abstract method
Node.isSameNode(Node)

The type NodeImpl must implement the inherited abstract method
Node.isEqualNode(Node)

The type NodeImpl must implement the inherited abstract method
Node.isDefaultNamespace(String)

The type NodeImpl must implement the inherited abstract method
Node.getUserData(String)

The type NodeImpl must implement the inherited abstract method
Node.getTextContent()

The type NodeImpl must implement the inherited abstract method
Node.getFeature(String, String)

The type NodeImpl must implement the inherited abstract method
Node.getBaseURI()

The type NodeImpl must implement the inherited abstract method
Node.compareDocumentPosition(Node)
==================================
SOAPConnectionImpl:
The method createAttachmentPart() in the type SOAPMessage is not applicable
for the arguments (DataHandler)
==================================
SOAPDocumentImpl:
The type SOAPDocumentImpl must implement the inherited abstract method
Node.setUserData(String, Object, UserDataHandler)

The type SOAPDocumentImpl must implement the inherited abstract method
Node.setTextContent(String)

The type SOAPDocumentImpl must implement the inherited abstract method
Node.lookupPrefix(String)

The type SOAPDocumentImpl must implement the inherited abstract method
Node.lookupNamespaceURI(String)

The type SOAPDocumentImpl must implement the inherited abstract method
Node.isSameNode(Node)	SOAPDocumentImpl.java

The type SOAPDocumentImpl must implement the inherited abstract method
Node.isEqualNode(Node)	SOAPDocumentImpl.java

The type SOAPDocumentImpl must implement the inherited abstract method
Node.isDefaultNamespace(String)

The type SOAPDocumentImpl must implement the inherited abstract method
Node.getUserData(String)

The type SOAPDocumentImpl must implement the inherited abstract method
Node.getTextContent()

The type SOAPDocumentImpl must implement the inherited abstract method
Node.getFeature(String, String)

The type SOAPDocumentImpl must implement the inherited abstract method
Node.getBaseURI()

The type SOAPDocumentImpl must implement the inherited abstract method
Node.compareDocumentPosition(Node)

The type SOAPDocumentImpl must implement the inherited abstract method
Document.setXmlVersion(String)

The type SOAPDocumentImpl must implement the inherited abstract method
Document.setXmlStandalone(boolean)

The type SOAPDocumentImpl must implement the inherited abstract method
Document.setStrictErrorChecking(boolean)

The type SOAPDocumentImpl must implement the inherited abstract method
Document.setDocumentURI(String)	SOAPDocumentImpl.java

The type SOAPDocumentImpl must implement the inherited abstract method
Document.renameNode(Node, String, String)

The type SOAPDocumentImpl must implement the inherited abstract method
Document.normalizeDocument()

The type SOAPDocumentImpl must implement the inherited abstract method
Document.getXmlVersion()

The type SOAPDocumentImpl must implement the inherited abstract method
Document.getXmlStandalone()

The type SOAPDocumentImpl must implement the inherited abstract method
Document.getXmlEncoding()

The type SOAPDocumentImpl must implement the inherited abstract method
Document.getStrictErrorChecking()

The type SOAPDocumentImpl must implement the inherited abstract method
Document.getInputEncoding()

The type SOAPDocumentImpl must implement the inherited abstract method
Document.getDomConfig()

The type SOAPDocumentImpl must implement the inherited abstract method
Document.getDocumentURI()

The type SOAPDocumentImpl must implement the inherited abstract method
Document.adoptNode(Node)

=================================
SOAPElementImpl:

The type SOAPElementImpl must implement the inherited abstract method
Element.setIdAttributeNS(String, String, boolean)

The type SOAPElementImpl must implement the inherited abstract method
Element.setIdAttributeNode(Attr, boolean)

The type SOAPElementImpl must implement the inherited abstract method
Element.setIdAttribute(String, boolean)

The type SOAPElementImpl must implement the inherited abstract method
Element.getSchemaTypeInfo()
=================================
SOAPPartImpl:

The type SOAPPartImpl must implement the inherited abstract method
Node.setUserData(String, Object, UserDataHandler)
 
The type SOAPPartImpl must implement the inherited abstract method
Node.setTextContent(String)

The type SOAPPartImpl must implement the inherited abstract method
Node.lookupPrefix(String)

The type SOAPPartImpl must implement the inherited abstract method
Node.lookupNamespaceURI(String)

The type SOAPPartImpl must implement the inherited abstract method
Node.isSameNode(Node)

The type SOAPPartImpl must implement the inherited abstract method
Node.isEqualNode(Node)

The type SOAPPartImpl must implement the inherited abstract method
Node.isDefaultNamespace(String)

The type SOAPPartImpl must implement the inherited abstract method
Node.getUserData(String)

The type SOAPPartImpl must implement the inherited abstract method
Node.getTextContent()

The type SOAPPartImpl must implement the inherited abstract method
Node.getFeature(String, String)

The type SOAPPartImpl must implement the inherited abstract method
Node.getBaseURI()

The type SOAPPartImpl must implement the inherited abstract method
Node.compareDocumentPosition(Node)

The type SOAPPartImpl must implement the inherited abstract method
Document.setXmlVersion(String)

The type SOAPPartImpl must implement the inherited abstract method
Document.setXmlStandalone(boolean)

The type SOAPPartImpl must implement the inherited abstract method
Document.setDocumentURI(String)

The type SOAPPartImpl must implement the inherited abstract method
Document.renameNode(Node, String, String)

The type SOAPPartImpl must implement the inherited abstract method
Document.normalizeDocument()

The type SOAPPartImpl must implement the inherited abstract method
Document.getXmlVersion()

The type SOAPPartImpl must implement the inherited abstract method
Document.getXmlStandalone()

The type SOAPPartImpl must implement the inherited abstract method
Document.getXmlEncoding()

The type SOAPPartImpl must implement the inherited abstract method
Document.getInputEncoding()

The type SOAPPartImpl must implement the inherited abstract method
Document.getDomConfig()

The type SOAPPartImpl must implement the inherited abstract method
Document.getDocumentURI()
=================================
TextImpl:
The type TextImpl must implement the inherited abstract method
Text.replaceWholeText(String)

The type TextImpl must implement the inherited abstract method
Text.isElementContentWhitespace()

The type TextImpl must implement the inherited abstract method
Text.getWholeText()
=================================




Re: [axis2] MTOM Binary Data - Problem with Response [axis2 <-> .NET]

Posted by Saminda Abeyruwan <sa...@opensource.lk>.
Hi,

Using the stuff you attached, i tried to recreate the problem in my end, 
yet i get the following fault string,
<faultstring>Methode mit Namen 'Envelope' wird von Interface 'IXMLWS' 
nicht unterstützt</faultstring>, which unfortunately i have no clue. 
Please send me the correct endpoint reference, so i can simulate the 
situation and debug the code.

As Dims said, get the latest SVN and check it out. It should work after all.

Saminda

Filipp Akinfiev wrote:

> Hi All,
>
> i have next problem, i trying to play with service, that give some 
> MIME binary data back.
>
>i have make client with folowing code, and it’s not work…..i got following exception 
>
>inside invokeBlocking() method. i could monitor both request and response soap 
>
>envelopes properly via the tcp monitor.
>
> what made i wrong?
>
> king reguards,
>
> filipp
>
> public static TFaxReceiveResponse getFaxReceive() throws AxisFault {
>
> TFaxReceiveResponse response = null;
>
> try {
>
> Call call = new Call();
>
> call.setTo(targetEPR);
>
> // enabling MTOM
>
> call.set(Constants.Configuration.ENABLE_MTOM, Constants.VALUE_TRUE);
>
> call.setTransportInfo(Constants.TRANSPORT_HTTP, 
> Constants.TRANSPORT_HTTP, false);
>
> try {
>
> MessageContext requestContext = FaxReceive.request(new 
> TFaxReceive(account, password));
>
> QName opName = new QName("urn:XMLWSIntf-IXMLWS", "FaxReceive");
>
> OperationDescription opdesc = new OperationDescription(opName);
>
> //Blocking invocation
>
> MessageContext result = (MessageContext) call.invokeBlocking(opdesc 
> ,requestContext);
>
> response = FaxReceive.response(result);
>
> } catch (Exception e) {
>
> if(debug)e.printStackTrace();
>
> }
>
> } catch (AxisFault axisFault) {
>
> if(debug)axisFault.printStackTrace();
>
> }
>
> return response;
>
> }
>
> Exception:
>
> org.apache.axis2.AxisFault: null; nested exception is:
>
> _java.lang.NullPointerException_
>
> at 
> org.apache.axis2.transport.TransportUtils.createSOAPMessage(_TransportUtils.java:96_)
>
> at 
> org.apache.axis2.transport.TransportUtils.createSOAPMessage(_TransportUtils.java:46_)
>
> at 
> org.apache.axis2.clientapi.TwoWayTransportBasedSender.send(_TwoWayTransportBasedSender.java:54_)
>
> at 
> org.apache.axis2.clientapi.InOutMEPClient.invokeBlocking(_InOutMEPClient.java:174_)
>
> at 
> de.fax.soap.axis2.client.FaxDeClient.getFaxReceive(_FaxDeClient.java:344_)
>
> at de.fax.soap.axis2.client.FaxDeClient.main(_FaxDeClient.java:164_)
>
> Caused by: _java.lang.NullPointerException_
>
> at 
> org.apache.axis2.attachments.MIMEHelper.getAttachmentSpecType(_MIMEHelper.java:165_)
>
> at 
> org.apache.axis2.transport.http.HTTPTransportUtils.selectBuilderForMIME(_HTTPTransportUtils.java:345_)
>
> at 
> org.apache.axis2.transport.TransportUtils.createSOAPMessage(_TransportUtils.java:73_)
>
> ... 5 more
>
> public class FaxReceive extends RequestResponse{
>
> public static MessageContext request(TFaxReceive faxReceive) throws 
> AxisFault{
>
> OMElement operation;
>
> MessageContext msgContext = null;
>
> SOAPFactory factory = OMAbstractFactory.getSOAP11Factory();
>
> SOAPEnvelope envelope = factory.getDefaultEnvelope();
>
> envelope.declareNamespace("http://schemas.xmlsoap.org/soap/envelope/", 
> "soapenv");
>
> envelope.declareNamespace("http://schemas.xmlsoap.org/soap/encoding/", 
> "SOAP-ENC");
>
> envelope.declareNamespace("http://www.w3.org/2001/XMLSchema-instance", 
> "xsi");
>
> OMNamespace ns1 = factory.createOMNamespace("urn:XMLWSIntf-IXMLWS","NS1");
>
> operation = factory.createOMElement("Status",ns1);
>
> envelope.getBody().addChild(operation);
>
> OMNamespace ns2 = 
> operation.declareNamespace("http://www.w3.org/2001/XMLSchema","");
>
> operation.addChild(getOMElement(factory, ns2, "Account", "xsd:string", 
> faxReceive.getAccount()));
>
> operation.addChild(getOMElement(factory, ns2, "Password", 
> "xsd:string", faxReceive.getPassword()));
>
> ConfigurationContextFactory fac = new ConfigurationContextFactory();
>
> ConfigurationContext configContext = 
> fac.buildClientConfigurationContext("Status");
>
> try {
>
> msgContext = new MessageContext(configContext);
>
> } catch (AxisFault axisFault) {
>
> axisFault.printStackTrace();
>
> }
>
> msgContext.setEnvelope(envelope);
>
> if(debug)debugMessageContext(msgContext);
>
> return msgContext;
>
> }
>
> public static TFaxReceiveResponse response(MessageContext result) {
>
> // if(debug)debugMessageContext(result);
>
> int ret = -1;
>
> Iterator iterator;
>
> OMNode node;
>
> SOAPBody body;
>
> OMElement operation, elem;
>
> SOAPEnvelope resEnvelope;
>
> resEnvelope = result.getEnvelope();
>
> body = resEnvelope.getBody();
>
> operation = resEnvelope.getBody();
>
> // operation = body.getFirstElement();
>
> if (body.hasFault()) {
>
> if(debug)System.out.println("Error");
>
> } else {
>
> OMElement part = operation.getFirstElement();
>
> iterator = part.getChildren();
>
> while (iterator.hasNext()) {
>
> node = (OMNode) iterator.next();
>
> if (node.getType() == OMNode.ELEMENT_NODE) {
>
> elem = (OMElement) node;
>
> String str = elem.getLocalName();
>
> System.out.println("elem Name:" + str);
>
> if (str.equals("return")) {
>
> ret = new Integer(elem.getText()).intValue();
>
> if(debug)System.out.println("return:" + elem.getText());
>
> }else if(str.equals("Protokoll")) {
>
> // OMElement child = (OMElement)elem.getFirstChild();
>
> //retreiving the Href attribute which contains the Content Id
>
> OMAttribute attr = (OMAttribute)elem.getFirstAttribute(new QName("href"));
>
> String contentID = attr.getValue();
>
> //content-id processing to remove the "cid" prefix
>
> contentID = contentID.trim();
>
> if (contentID.substring(0, 3).equalsIgnoreCase("cid")) {
>
> contentID = contentID.substring(4);
>
> }
>
> // Retrieving the MIMEHelper instance (which contains reference to 
> attachments)
>
> // from the Message Context
>
> // MIMEHelper attachments = 
> (MIMEHelper)result.getProperty(MIMEHelper.ATTACHMENTS);
>
> ///^^^^^^^^^^^^ MIMEHelper.ATTACHMENTS -> CANNOT BE RESOLVED 
> !!!!!!!!!!!!!!!!!!!!!!! ?!?!?!?
>
> // Retrieving the respective DataHandler referenced by the content-id
>
> // DataHandler dataHandler = attachments.getDataHandler(contentID);
>
> // OMText binaryNode = (OMText) elem.getFirstChild();
>
> }
>
> }
>
> }
>
> }
>
> return new TFaxReceiveResponse(ret);
>
> }
>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>
> POST /xmlws.exe/soap/IXMLWS HTTP/1.1
>
> User-Agent: Axis/2.0
>
> SOAPAction:
>
> Connection: Keep-Alive
>
> Host: ccs.fax.de:80
>
> Content-Length: 507
>
> Content-Type: text/xml; charset=utf-8
>
> <?xml version='1.0' encoding='utf-8'?>
>
> <soapenv:Envelope 
> xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" 
> xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" 
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
>
> <soapenv:Header></soapenv:Header>
>
> <soapenv:Body>
>
> <NS1:Status xmlns:NS1="urn:XMLWSIntf-IXMLWS" 
> xmlns="http://www.w3.org/2001/XMLSchema">
>
> <Account xsi:type="xsd:string">1234567890</Account>
>
> <Password xsi:type="xsd:string">ABCDEF</Password>
>
> </NS1:Status>
>
> </soapenv:Body>
>
> </soapenv:Envelope>
>
> <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
>
> HTTP/1.1 100 Continue
>
> Server: Microsoft-IIS/5.0
>
> Date: Tue, 20 Sep 2005 22:14:30 GMT
>
> X-Powered-By:: ASP.NET
>
> HTTP/1.1 200 OK
>
> Server: Microsoft-IIS/5.0
>
> Date: Tue, 20 Sep 2005 22:14:30 GMT
>
> X-Powered-By:: ASP.NET
>
> Connection: close
>
> Content-Version: MIME-Version: 1.0
>
> Content-Type: multipart/related; 
> boundary=MIME_boundaryB0R9532143182121; 
> start="<http://www.borland.com/rootpart.xml>"Content-Length: 
> 759Content:--MIME_boundaryB0R9532143182121Content-Type: text/xml; 
> charset="utf-8"Content-ID:
>
> <http://www.borland.com/rootpart.xml>Content-Location: 
> http://www.borland.com/rootpart.xmlContent-Length: 517
>
> <?xml version="1.0"?>
>
> <SOAP-ENV:Envelope 
> xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" 
> xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
> xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/">
>
> <SOAP-ENV:Body 
> SOAP-ENC:encodingStyle="http://schemas.xmlsoap.org/soap/envelope/">
>
> <NS1:StatusResponse xmlns:NS1="urn:XMLWSIntf-IXMLWS">
>
> <return xsi:type="xsd:int">5</return>
>
> <Protokoll xsi:nil="true"/>
>
> </NS1:StatusResponse>
>
> </SOAP-ENV:Body>
>
> </SOAP-ENV:Envelope>--MIME_boundaryB0R9532143182121—
>
> =============================================================================================================
>


Re: [axis2] MTOM Binary Data - Problem with Response [axis2 <-> .NET]

Posted by Davanum Srinivas <da...@gmail.com>.
Are u using latest SVN? Please get latest SVN and try it.

-- dims

On 9/20/05, Filipp Akinfiev <li...@pakra.de> wrote:
>  
>  
> 
> Hi All, 
> 
> i have next problem, i trying to play with service, that give some MIME
> binary data back. i have make client with folowing code, and it's not
> work…..i got following exception 
> inside invokeBlocking() method. i could monitor both request and response
> soap 
> envelopes properly via the tcp monitor.
>  
>  
> 
> what made i wrong? 
> 
>   
> 
> king reguards, 
> 
> filipp 
> 
>   
> 
>     public static TFaxReceiveResponse getFaxReceive() throws AxisFault { 
> 
>             TFaxReceiveResponse response = null; 
> 
>             try { 
> 
>                                    Call call = new Call(); 
> 
>                                    call.setTo(targetEPR); 
> 
> //                                 enabling MTOM 
> 
>                    
> call.set(Constants.Configuration.ENABLE_MTOM,
> Constants.VALUE_TRUE); 
> 
>                                   
> call.setTransportInfo(Constants.TRANSPORT_HTTP, Constants.TRANSPORT_HTTP,
> false); 
> 
>                                    try { 
> 
>                                               
> MessageContext requestContext = FaxReceive.request(new TFaxReceive(account,
> password)); 
> 
>                                                QName opName
> = new QName("urn:XMLWSIntf-IXMLWS", "FaxReceive"); 
> 
>                         OperationDescription opdesc = new
> OperationDescription(opName); 
> 
>                                                //Blocking
> invocation 
> 
>                         MessageContext result = (MessageContext)
> call.invokeBlocking(opdesc ,requestContext); 
> 
>                         response = FaxReceive.response(result); 
> 
>                                    } catch (Exception e) { 
> 
>                                               
> if(debug)e.printStackTrace(); 
> 
>                                    } 
> 
>                         } catch (AxisFault axisFault) { 
> 
>                                   
> if(debug)axisFault.printStackTrace(); 
> 
>                         } 
> 
>                         return response; 
>  
> 
>     } 
> 
> Exception: 
> 
> org.apache.axis2.AxisFault: null; nested exception is: 
> 
>             java.lang.NullPointerException 
> 
>             at
> org.apache.axis2.transport.TransportUtils.createSOAPMessage(TransportUtils.java:96)
> 
>             at
> org.apache.axis2.transport.TransportUtils.createSOAPMessage(TransportUtils.java:46)
> 
>             at
> org.apache.axis2.clientapi.TwoWayTransportBasedSender.send(TwoWayTransportBasedSender.java:54)
> 
>             at
> org.apache.axis2.clientapi.InOutMEPClient.invokeBlocking(InOutMEPClient.java:174)
> 
>             at
> de.fax.soap.axis2.client.FaxDeClient.getFaxReceive(FaxDeClient.java:344)
> 
>             at
> de.fax.soap.axis2.client.FaxDeClient.main(FaxDeClient.java:164)
> 
> Caused by: java.lang.NullPointerException 
> 
>             at
> org.apache.axis2.attachments.MIMEHelper.getAttachmentSpecType(MIMEHelper.java:165)
> 
>             at
> org.apache.axis2.transport.http.HTTPTransportUtils.selectBuilderForMIME(HTTPTransportUtils.java:345)
> 
>             at
> org.apache.axis2.transport.TransportUtils.createSOAPMessage(TransportUtils.java:73)
>  
> 
>             ... 5 more 
> 
> public class FaxReceive extends RequestResponse{ 
> 
>   
> 
>             public static MessageContext request(TFaxReceive faxReceive)
> throws AxisFault{ 
> 
>                         OMElement operation; 
> 
>                         MessageContext msgContext = null; 
> 
>                         
> 
>                         SOAPFactory factory =
> OMAbstractFactory.getSOAP11Factory(); 
> 
>                         SOAPEnvelope envelope =
> factory.getDefaultEnvelope(); 
> 
>        
> envelope.declareNamespace("http://schemas.xmlsoap.org/soap/envelope/",
> "soapenv"); 
> 
>        
> envelope.declareNamespace("http://schemas.xmlsoap.org/soap/encoding/",
> "SOAP-ENC"); 
> 
>        
> envelope.declareNamespace("http://www.w3.org/2001/XMLSchema-instance",
> "xsi"); 
> 
>         
> 
>         
> 
>                         OMNamespace ns1 =
> factory.createOMNamespace("urn:XMLWSIntf-IXMLWS","NS1"); 
> 
>                         operation = factory.createOMElement("Status",ns1); 
> 
>                         
> 
>                         envelope.getBody().addChild(operation); 
> 
>                         
> 
>                         OMNamespace ns2 =
> operation.declareNamespace("http://www.w3.org/2001/XMLSchema","");
> 
>                         operation.addChild(getOMElement(factory, ns2,
> "Account", "xsd:string", faxReceive.getAccount())); 
> 
>                         operation.addChild(getOMElement(factory, ns2,
> "Password", "xsd:string", faxReceive.getPassword())); 
> 
>                                                
> 
>                         ConfigurationContextFactory fac = new
> ConfigurationContextFactory(); 
> 
>         ConfigurationContext configContext =
> fac.buildClientConfigurationContext("Status"); 
> 
>         try { 
> 
>             msgContext = new MessageContext(configContext); 
> 
>         } catch (AxisFault axisFault) { 
> 
>             axisFault.printStackTrace(); 
> 
>         } 
> 
>         msgContext.setEnvelope(envelope); 
> 
>         if(debug)debugMessageContext(msgContext); 
> 
>         return msgContext; 
> 
>     } 
> 
>             
> 
>     public static TFaxReceiveResponse response(MessageContext result) { 
> 
> //          if(debug)debugMessageContext(result); 
> 
>             int ret = -1; 
> 
>         Iterator iterator; 
> 
>         OMNode node; 
> 
>         SOAPBody body; 
> 
>         OMElement operation, elem; 
> 
>         SOAPEnvelope resEnvelope; 
> 
>         resEnvelope = result.getEnvelope(); 
> 
>         body = resEnvelope.getBody(); 
> 
>         operation = resEnvelope.getBody(); 
> 
> //        operation = body.getFirstElement(); 
> 
>         if (body.hasFault()) { 
> 
>             if(debug)System.out.println("Error"); 
> 
>         } else { 
> 
>             OMElement part = operation.getFirstElement(); 
> 
>             iterator = part.getChildren(); 
> 
>             while (iterator.hasNext()) { 
> 
>                 node = (OMNode) iterator.next(); 
> 
>                 if (node.getType() == OMNode.ELEMENT_NODE) { 
> 
>                     elem = (OMElement) node; 
> 
>                     String str = elem.getLocalName(); 
> 
>                     System.out.println("elem Name:" + str); 
> 
>                     if (str.equals("return")) { 
> 
>                         ret = new Integer(elem.getText()).intValue(); 
> 
>                        
> if(debug)System.out.println("return:" + elem.getText()); 
> 
>                     }else if(str.equals("Protokoll")) { 
> 
> //                      OMElement child  =
> (OMElement)elem.getFirstChild(); 
> 
>                         //retreiving the Href attribute which contains the
> Content Id 
> 
>                         OMAttribute attr =
> (OMAttribute)elem.getFirstAttribute(new QName("href")); 
> 
>                         String contentID = attr.getValue(); 
> 
>                         //content-id processing to remove the "cid" prefix 
> 
>                         contentID = contentID.trim(); 
> 
>                         if (contentID.substring(0,
> 3).equalsIgnoreCase("cid")) { 
> 
>                             contentID = contentID.substring(4); 
> 
>                         } 
> 
>                                    
> 
>                         // Retrieving the MIMEHelper instance (which
> contains reference to attachments) 
> 
>                         // from the Message Context 
> 
> //                        MIMEHelper attachments =
> (MIMEHelper)result.getProperty(MIMEHelper.ATTACHMENTS); 
> 
> ///^^^^^^^^^^^^ MIMEHelper.ATTACHMENTS -> CANNOT BE RESOLVED
> !!!!!!!!!!!!!!!!!!!!!!!  ?!?!?!? 
> 
>                         // Retrieving the respective DataHandler referenced
> by the content-id 
> 
> //                        DataHandler dataHandler =
> attachments.getDataHandler(contentID); 
> 
> //                      OMText binaryNode = (OMText) elem.getFirstChild(); 
> 
>                         } 
> 
>                 } 
> 
>             } 
> 
>         } 
> 
>         return new TFaxReceiveResponse(ret); 
> 
>     } 
>  
> 
>   
> 
> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
> 
> POST /xmlws.exe/soap/IXMLWS HTTP/1.1 
> 
> User-Agent: Axis/2.0 
> 
> SOAPAction: 
> 
> Connection: Keep-Alive 
> 
> Host: ccs.fax.de:80 
> 
> Content-Length: 507 
> 
> Content-Type: text/xml; charset=utf-8 
> 
>   
> 
> <?xml version='1.0' encoding='utf-8'?> 
> 
>    <soapenv:Envelope
> xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
> xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> 
> 
>       <soapenv:Header></soapenv:Header> 
> 
>       <soapenv:Body> 
> 
>          <NS1:Status xmlns:NS1="urn:XMLWSIntf-IXMLWS"
> xmlns="http://www.w3.org/2001/XMLSchema"> 
> 
>             <Account
> xsi:type="xsd:string">1234567890</Account> 
> 
>             <Password
> xsi:type="xsd:string">ABCDEF</Password> 
> 
>          </NS1:Status> 
> 
>       </soapenv:Body> 
> 
>    </soapenv:Envelope> 
> 
> <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
> 
> HTTP/1.1 100 Continue 
> 
> Server: Microsoft-IIS/5.0 
> 
> Date: Tue, 20 Sep 2005 22:14:30 GMT 
> 
> X-Powered-By:: ASP.NET 
> 
>   
> 
> HTTP/1.1 200 OK 
> 
> Server: Microsoft-IIS/5.0 
> 
> Date: Tue, 20 Sep 2005 22:14:30 GMT 
> 
> X-Powered-By:: ASP.NET 
> 
> Connection: close 
> 
> Content-Version: MIME-Version: 1.0 
> 
> Content-Type: multipart/related;
> boundary=MIME_boundaryB0R9532143182121;
> start="<http://www.borland.com/rootpart.xml>"Content-Length:
> 759Content:--MIME_boundaryB0R9532143182121Content-Type:
> text/xml; charset="utf-8"Content-ID: 
> 
>    <http://www.borland.com/rootpart.xml>Content-Location:
> http://www.borland.com/rootpart.xmlContent-Length: 517 
> 
>       <?xml version="1.0"?> 
> 
>          <SOAP-ENV:Envelope
> xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
> xmlns:xsd="http://www.w3.org/2001/XMLSchema"
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/">
> 
>             <SOAP-ENV:Body
> SOAP-ENC:encodingStyle="http://schemas.xmlsoap.org/soap/envelope/">
> 
>                <NS1:StatusResponse
> xmlns:NS1="urn:XMLWSIntf-IXMLWS"> 
> 
>                   <return xsi:type="xsd:int">5</return> 
> 
>                   <Protokoll xsi:nil="true"/> 
> 
>                </NS1:StatusResponse> 
> 
>             </SOAP-ENV:Body> 
> 
>         
> </SOAP-ENV:Envelope>--MIME_boundaryB0R9532143182121— 
> 
> =============================================================================================================
>  
>  


-- 
Davanum Srinivas : http://wso2.com/ - Oxygenating The Web Service Platform