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 Demetris <de...@ece.neu.edu> on 2010/04/25 07:20:03 UTC

RPC SOAP

Why is the Body print showing this 
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
that belongs to the Envelope? And it seems that messes up the Iterator 
loop that returns
nothng. I am missing something in the response content access?

Thanks

                SOAPBody body = response.getEnvelope().getBody();
                System.out.println("Env: 
"+response.getEnvelope().toString());
                System.out.println("Body: 
"+response.getEnvelope().getBody().toString());
               
                OMElement element = body.getFirstElement();
                System.out.println("First element: "+element.getText());

                Iterator<?> values = body.getChildren();
                while (values.hasNext()) {
                    OMElement elem = (OMElement) values.next();
                    System.out.println("Result: " +
                            elem.getText());
                }                       


Env: <?xml version='1.0' encoding='utf-8'?><soapenv:Envelope 
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"><soapenv:Body><ns:getBooksResponse 
xmlns:ns="http://myBooksAxis2.axis2.apache.org"><ns:return>Software 
Engineering</ns:return><ns:return>Limits of 
Computation</ns:return><ns:return>Digital 
Circuits</ns:return><ns:return>Disruptive 
Technologies</ns:return><ns:return>Mobile 
Computing</ns:return></ns:getBooksResponse></soapenv:Body></soapenv:Envelope>

Body: <soapenv:Body 
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"><ns:getBooksResponse 
xmlns:ns="http://myBooksAxis2.axis2.apache.org"><ns:return>Software 
Engineering</ns:return><ns:return>Limits of 
Computation</ns:return><ns:return>Digital 
Circuits</ns:return><ns:return>Disruptive 
Technologies</ns:return><ns:return>Mobile 
Computing</ns:return></ns:getBooksResponse></soapenv:Body>

First element:   <=== empty but it should't be

---------------------------------------------------------------------
To unsubscribe, e-mail: java-user-unsubscribe@axis.apache.org
For additional commands, e-mail: java-user-help@axis.apache.org


Re: RPC SOAP

Posted by Demetris <de...@ece.neu.edu>.
And it was the application/xml encoding - switched it to text/xml and 
the js client
script works exactly as the java client.

Cheers and thanks

Demetris wrote:
>
> One of the reasons I was asking is because using a java-based client I 
> wrote
> I can access the remote Axis2 service with no issues. Doing the same 
> using
> the IBM ws.js lib and a javascript client I getting a fault string of:
>
> The endpoint reference (EPR) for the Operation not found is 
> /axis2/services/BooksAxis2 and the WSA Action = null
>
> However, checking out both the HTTP headers and the SOAP envelope they
> are practically identical. So this makes no sense.
>
> One thing that I noticed however is that the Content-Type for the 
> former case
> that works is text/xml (this is what Axis2 libs send out) whereas 
> using the ws.js
> lib it is set to application/xml.
>
> Any ideas?
>
> Thanks again
>
> Demetris wrote:
>>
>> Super - thanks for verifying this.
>>
>> Andreas Veithen wrote:
>>> On Mon, Apr 26, 2010 at 07:57, Demetris <de...@ece.neu.edu> wrote:
>>>  
>>>> Would the Axis2 engine accept proper SOAP messages (Envelope + 
>>>> Body) that do
>>>> not carry the
>>>> <? xml version='1.0' ... ?> ?
>>>>     
>>>
>>> Yes. If I remember correctly the SOAP specs even say that the message
>>> should not have an XML declaration. The reason is that the encoding is
>>> already specified in the transport headers (Content-Type).
>>>
>>>  
>>>> Also is the soapenv: prefix for the Envelope and the Body tags 
>>>> required?
>>>>     
>>>
>>> The only constraint is that the Envelope element is in the
>>> http://schemas.xmlsoap.org/soap/envelope/ namespace. Whether that is
>>> achieved by specifying a prefix or using a default namespace doesn't
>>> matter.
>>>
>>>  
>>>> Thanks again
>>>>
>>>> Demetris wrote:
>>>>   
>>>>> OK I think I got it. Thanks Andreas
>>>>>
>>>>> Andreas Veithen wrote:
>>>>>     
>>>>>> All this is by design:
>>>>>>
>>>>>> * toString is designed to produce an XML fragment that is valid with
>>>>>> respect to namespaces. Thus, when applied to the SOAP body, it needs
>>>>>> to add a namespace declaration for the
>>>>>> http://schemas.xmlsoap.org/soap/envelope/ namespace.
>>>>>>
>>>>>> * getText returns the results as specified in the Javadoc [1].
>>>>>>
>>>>>> Andreas
>>>>>>
>>>>>> [1]
>>>>>> http://people.apache.org/~veithen/axiom/apidocs/org/apache/axiom/om/OMElement.html#getText() 
>>>>>>
>>>>>>
>>>>>> On Sun, Apr 25, 2010 at 07:20, Demetris <de...@ece.neu.edu> 
>>>>>> wrote:
>>>>>>
>>>>>>       
>>>>>>> Why is the Body print showing this
>>>>>>> xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
>>>>>>> that belongs to the Envelope? And it seems that messes up the 
>>>>>>> Iterator
>>>>>>> loop
>>>>>>> that returns
>>>>>>> nothng. I am missing something in the response content access?
>>>>>>>
>>>>>>> Thanks
>>>>>>>
>>>>>>>              SOAPBody body = response.getEnvelope().getBody();
>>>>>>>              System.out.println("Env:
>>>>>>> "+response.getEnvelope().toString());
>>>>>>>              System.out.println("Body:
>>>>>>> "+response.getEnvelope().getBody().toString());
>>>>>>>                            OMElement element = 
>>>>>>> body.getFirstElement();
>>>>>>>              System.out.println("First element: 
>>>>>>> "+element.getText());
>>>>>>>
>>>>>>>              Iterator<?> values = body.getChildren();
>>>>>>>              while (values.hasNext()) {
>>>>>>>                  OMElement elem = (OMElement) values.next();
>>>>>>>                  System.out.println("Result: " +
>>>>>>>                          elem.getText());
>>>>>>>              }
>>>>>>>
>>>>>>> Env: <?xml version='1.0' encoding='utf-8'?><soapenv:Envelope
>>>>>>>
>>>>>>> xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"><soapenv:Body><ns:getBooksResponse 
>>>>>>>
>>>>>>> xmlns:ns="http://myBooksAxis2.axis2.apache.org"><ns:return>Software
>>>>>>> Engineering</ns:return><ns:return>Limits of
>>>>>>> Computation</ns:return><ns:return>Digital
>>>>>>> Circuits</ns:return><ns:return>Disruptive
>>>>>>> Technologies</ns:return><ns:return>Mobile
>>>>>>>
>>>>>>> Computing</ns:return></ns:getBooksResponse></soapenv:Body></soapenv:Envelope> 
>>>>>>>
>>>>>>>
>>>>>>> Body: <soapenv:Body
>>>>>>>
>>>>>>> xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"><ns:getBooksResponse 
>>>>>>>
>>>>>>> xmlns:ns="http://myBooksAxis2.axis2.apache.org"><ns:return>Software
>>>>>>> Engineering</ns:return><ns:return>Limits of
>>>>>>> Computation</ns:return><ns:return>Digital
>>>>>>> Circuits</ns:return><ns:return>Disruptive
>>>>>>> Technologies</ns:return><ns:return>Mobile
>>>>>>> Computing</ns:return></ns:getBooksResponse></soapenv:Body>
>>>>>>>
>>>>>>> First element:   <=== empty but it should't be
>>>>>>>
>>>>>>> --------------------------------------------------------------------- 
>>>>>>>
>>>>>>> To unsubscribe, e-mail: java-user-unsubscribe@axis.apache.org
>>>>>>> For additional commands, e-mail: java-user-help@axis.apache.org
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>           
>>>>>> --------------------------------------------------------------------- 
>>>>>>
>>>>>> To unsubscribe, e-mail: java-user-unsubscribe@axis.apache.org
>>>>>> For additional commands, e-mail: java-user-help@axis.apache.org
>>>>>>
>>>>>>
>>>>>>
>>>>>>         
>>>>> ---------------------------------------------------------------------
>>>>> To unsubscribe, e-mail: java-user-unsubscribe@axis.apache.org
>>>>> For additional commands, e-mail: java-user-help@axis.apache.org
>>>>>
>>>>>       
>>>> ---------------------------------------------------------------------
>>>> To unsubscribe, e-mail: java-user-unsubscribe@axis.apache.org
>>>> For additional commands, e-mail: java-user-help@axis.apache.org
>>>>
>>>>
>>>>     
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: java-user-unsubscribe@axis.apache.org
>>> For additional commands, e-mail: java-user-help@axis.apache.org
>>>
>>>
>>>   
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: java-user-unsubscribe@axis.apache.org
>> For additional commands, e-mail: java-user-help@axis.apache.org
>>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: java-user-unsubscribe@axis.apache.org
> For additional commands, e-mail: java-user-help@axis.apache.org
>

---------------------------------------------------------------------
To unsubscribe, e-mail: java-user-unsubscribe@axis.apache.org
For additional commands, e-mail: java-user-help@axis.apache.org


Re: RPC SOAP

Posted by Demetris <de...@ece.neu.edu>.
One of the reasons I was asking is because using a java-based client I wrote
I can access the remote Axis2 service with no issues. Doing the same using
the IBM ws.js lib and a javascript client I getting a fault string of:

The endpoint reference (EPR) for the Operation not found is 
/axis2/services/BooksAxis2 and the WSA Action = null

However, checking out both the HTTP headers and the SOAP envelope they
are practically identical. So this makes no sense.

One thing that I noticed however is that the Content-Type for the former 
case
that works is text/xml (this is what Axis2 libs send out) whereas using 
the ws.js
lib it is set to application/xml.

Any ideas?

Thanks again

Demetris wrote:
>
> Super - thanks for verifying this.
>
> Andreas Veithen wrote:
>> On Mon, Apr 26, 2010 at 07:57, Demetris <de...@ece.neu.edu> wrote:
>>  
>>> Would the Axis2 engine accept proper SOAP messages (Envelope + Body) 
>>> that do
>>> not carry the
>>> <? xml version='1.0' ... ?> ?
>>>     
>>
>> Yes. If I remember correctly the SOAP specs even say that the message
>> should not have an XML declaration. The reason is that the encoding is
>> already specified in the transport headers (Content-Type).
>>
>>  
>>> Also is the soapenv: prefix for the Envelope and the Body tags 
>>> required?
>>>     
>>
>> The only constraint is that the Envelope element is in the
>> http://schemas.xmlsoap.org/soap/envelope/ namespace. Whether that is
>> achieved by specifying a prefix or using a default namespace doesn't
>> matter.
>>
>>  
>>> Thanks again
>>>
>>> Demetris wrote:
>>>    
>>>> OK I think I got it. Thanks Andreas
>>>>
>>>> Andreas Veithen wrote:
>>>>      
>>>>> All this is by design:
>>>>>
>>>>> * toString is designed to produce an XML fragment that is valid with
>>>>> respect to namespaces. Thus, when applied to the SOAP body, it needs
>>>>> to add a namespace declaration for the
>>>>> http://schemas.xmlsoap.org/soap/envelope/ namespace.
>>>>>
>>>>> * getText returns the results as specified in the Javadoc [1].
>>>>>
>>>>> Andreas
>>>>>
>>>>> [1]
>>>>> http://people.apache.org/~veithen/axiom/apidocs/org/apache/axiom/om/OMElement.html#getText() 
>>>>>
>>>>>
>>>>> On Sun, Apr 25, 2010 at 07:20, Demetris <de...@ece.neu.edu> wrote:
>>>>>
>>>>>        
>>>>>> Why is the Body print showing this
>>>>>> xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
>>>>>> that belongs to the Envelope? And it seems that messes up the 
>>>>>> Iterator
>>>>>> loop
>>>>>> that returns
>>>>>> nothng. I am missing something in the response content access?
>>>>>>
>>>>>> Thanks
>>>>>>
>>>>>>              SOAPBody body = response.getEnvelope().getBody();
>>>>>>              System.out.println("Env:
>>>>>> "+response.getEnvelope().toString());
>>>>>>              System.out.println("Body:
>>>>>> "+response.getEnvelope().getBody().toString());
>>>>>>                            OMElement element = 
>>>>>> body.getFirstElement();
>>>>>>              System.out.println("First element: 
>>>>>> "+element.getText());
>>>>>>
>>>>>>              Iterator<?> values = body.getChildren();
>>>>>>              while (values.hasNext()) {
>>>>>>                  OMElement elem = (OMElement) values.next();
>>>>>>                  System.out.println("Result: " +
>>>>>>                          elem.getText());
>>>>>>              }
>>>>>>
>>>>>> Env: <?xml version='1.0' encoding='utf-8'?><soapenv:Envelope
>>>>>>
>>>>>> xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"><soapenv:Body><ns:getBooksResponse 
>>>>>>
>>>>>> xmlns:ns="http://myBooksAxis2.axis2.apache.org"><ns:return>Software
>>>>>> Engineering</ns:return><ns:return>Limits of
>>>>>> Computation</ns:return><ns:return>Digital
>>>>>> Circuits</ns:return><ns:return>Disruptive
>>>>>> Technologies</ns:return><ns:return>Mobile
>>>>>>
>>>>>> Computing</ns:return></ns:getBooksResponse></soapenv:Body></soapenv:Envelope> 
>>>>>>
>>>>>>
>>>>>> Body: <soapenv:Body
>>>>>>
>>>>>> xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"><ns:getBooksResponse 
>>>>>>
>>>>>> xmlns:ns="http://myBooksAxis2.axis2.apache.org"><ns:return>Software
>>>>>> Engineering</ns:return><ns:return>Limits of
>>>>>> Computation</ns:return><ns:return>Digital
>>>>>> Circuits</ns:return><ns:return>Disruptive
>>>>>> Technologies</ns:return><ns:return>Mobile
>>>>>> Computing</ns:return></ns:getBooksResponse></soapenv:Body>
>>>>>>
>>>>>> First element:   <=== empty but it should't be
>>>>>>
>>>>>> --------------------------------------------------------------------- 
>>>>>>
>>>>>> To unsubscribe, e-mail: java-user-unsubscribe@axis.apache.org
>>>>>> For additional commands, e-mail: java-user-help@axis.apache.org
>>>>>>
>>>>>>
>>>>>>
>>>>>>           
>>>>> ---------------------------------------------------------------------
>>>>> To unsubscribe, e-mail: java-user-unsubscribe@axis.apache.org
>>>>> For additional commands, e-mail: java-user-help@axis.apache.org
>>>>>
>>>>>
>>>>>
>>>>>         
>>>> ---------------------------------------------------------------------
>>>> To unsubscribe, e-mail: java-user-unsubscribe@axis.apache.org
>>>> For additional commands, e-mail: java-user-help@axis.apache.org
>>>>
>>>>       
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: java-user-unsubscribe@axis.apache.org
>>> For additional commands, e-mail: java-user-help@axis.apache.org
>>>
>>>
>>>     
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: java-user-unsubscribe@axis.apache.org
>> For additional commands, e-mail: java-user-help@axis.apache.org
>>
>>
>>   
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: java-user-unsubscribe@axis.apache.org
> For additional commands, e-mail: java-user-help@axis.apache.org
>

---------------------------------------------------------------------
To unsubscribe, e-mail: java-user-unsubscribe@axis.apache.org
For additional commands, e-mail: java-user-help@axis.apache.org


Re: RPC SOAP

Posted by Demetris <de...@ece.neu.edu>.
Super - thanks for verifying this.

Andreas Veithen wrote:
> On Mon, Apr 26, 2010 at 07:57, Demetris <de...@ece.neu.edu> wrote:
>   
>> Would the Axis2 engine accept proper SOAP messages (Envelope + Body) that do
>> not carry the
>> <? xml version='1.0' ... ?> ?
>>     
>
> Yes. If I remember correctly the SOAP specs even say that the message
> should not have an XML declaration. The reason is that the encoding is
> already specified in the transport headers (Content-Type).
>
>   
>> Also is the soapenv: prefix for the Envelope and the Body tags required?
>>     
>
> The only constraint is that the Envelope element is in the
> http://schemas.xmlsoap.org/soap/envelope/ namespace. Whether that is
> achieved by specifying a prefix or using a default namespace doesn't
> matter.
>
>   
>> Thanks again
>>
>> Demetris wrote:
>>     
>>> OK I think I got it. Thanks Andreas
>>>
>>> Andreas Veithen wrote:
>>>       
>>>> All this is by design:
>>>>
>>>> * toString is designed to produce an XML fragment that is valid with
>>>> respect to namespaces. Thus, when applied to the SOAP body, it needs
>>>> to add a namespace declaration for the
>>>> http://schemas.xmlsoap.org/soap/envelope/ namespace.
>>>>
>>>> * getText returns the results as specified in the Javadoc [1].
>>>>
>>>> Andreas
>>>>
>>>> [1]
>>>> http://people.apache.org/~veithen/axiom/apidocs/org/apache/axiom/om/OMElement.html#getText()
>>>>
>>>> On Sun, Apr 25, 2010 at 07:20, Demetris <de...@ece.neu.edu> wrote:
>>>>
>>>>         
>>>>> Why is the Body print showing this
>>>>> xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
>>>>> that belongs to the Envelope? And it seems that messes up the Iterator
>>>>> loop
>>>>> that returns
>>>>> nothng. I am missing something in the response content access?
>>>>>
>>>>> Thanks
>>>>>
>>>>>              SOAPBody body = response.getEnvelope().getBody();
>>>>>              System.out.println("Env:
>>>>> "+response.getEnvelope().toString());
>>>>>              System.out.println("Body:
>>>>> "+response.getEnvelope().getBody().toString());
>>>>>                            OMElement element = body.getFirstElement();
>>>>>              System.out.println("First element: "+element.getText());
>>>>>
>>>>>              Iterator<?> values = body.getChildren();
>>>>>              while (values.hasNext()) {
>>>>>                  OMElement elem = (OMElement) values.next();
>>>>>                  System.out.println("Result: " +
>>>>>                          elem.getText());
>>>>>              }
>>>>>
>>>>> Env: <?xml version='1.0' encoding='utf-8'?><soapenv:Envelope
>>>>>
>>>>> xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"><soapenv:Body><ns:getBooksResponse
>>>>> xmlns:ns="http://myBooksAxis2.axis2.apache.org"><ns:return>Software
>>>>> Engineering</ns:return><ns:return>Limits of
>>>>> Computation</ns:return><ns:return>Digital
>>>>> Circuits</ns:return><ns:return>Disruptive
>>>>> Technologies</ns:return><ns:return>Mobile
>>>>>
>>>>> Computing</ns:return></ns:getBooksResponse></soapenv:Body></soapenv:Envelope>
>>>>>
>>>>> Body: <soapenv:Body
>>>>>
>>>>> xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"><ns:getBooksResponse
>>>>> xmlns:ns="http://myBooksAxis2.axis2.apache.org"><ns:return>Software
>>>>> Engineering</ns:return><ns:return>Limits of
>>>>> Computation</ns:return><ns:return>Digital
>>>>> Circuits</ns:return><ns:return>Disruptive
>>>>> Technologies</ns:return><ns:return>Mobile
>>>>> Computing</ns:return></ns:getBooksResponse></soapenv:Body>
>>>>>
>>>>> First element:   <=== empty but it should't be
>>>>>
>>>>> ---------------------------------------------------------------------
>>>>> To unsubscribe, e-mail: java-user-unsubscribe@axis.apache.org
>>>>> For additional commands, e-mail: java-user-help@axis.apache.org
>>>>>
>>>>>
>>>>>
>>>>>           
>>>> ---------------------------------------------------------------------
>>>> To unsubscribe, e-mail: java-user-unsubscribe@axis.apache.org
>>>> For additional commands, e-mail: java-user-help@axis.apache.org
>>>>
>>>>
>>>>
>>>>         
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: java-user-unsubscribe@axis.apache.org
>>> For additional commands, e-mail: java-user-help@axis.apache.org
>>>
>>>       
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: java-user-unsubscribe@axis.apache.org
>> For additional commands, e-mail: java-user-help@axis.apache.org
>>
>>
>>     
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: java-user-unsubscribe@axis.apache.org
> For additional commands, e-mail: java-user-help@axis.apache.org
>
>
>   

---------------------------------------------------------------------
To unsubscribe, e-mail: java-user-unsubscribe@axis.apache.org
For additional commands, e-mail: java-user-help@axis.apache.org


Re: RPC SOAP

Posted by Andreas Veithen <an...@gmail.com>.
On Mon, Apr 26, 2010 at 07:57, Demetris <de...@ece.neu.edu> wrote:
>
> Would the Axis2 engine accept proper SOAP messages (Envelope + Body) that do
> not carry the
> <? xml version='1.0' ... ?> ?

Yes. If I remember correctly the SOAP specs even say that the message
should not have an XML declaration. The reason is that the encoding is
already specified in the transport headers (Content-Type).

> Also is the soapenv: prefix for the Envelope and the Body tags required?

The only constraint is that the Envelope element is in the
http://schemas.xmlsoap.org/soap/envelope/ namespace. Whether that is
achieved by specifying a prefix or using a default namespace doesn't
matter.

> Thanks again
>
> Demetris wrote:
>>
>> OK I think I got it. Thanks Andreas
>>
>> Andreas Veithen wrote:
>>>
>>> All this is by design:
>>>
>>> * toString is designed to produce an XML fragment that is valid with
>>> respect to namespaces. Thus, when applied to the SOAP body, it needs
>>> to add a namespace declaration for the
>>> http://schemas.xmlsoap.org/soap/envelope/ namespace.
>>>
>>> * getText returns the results as specified in the Javadoc [1].
>>>
>>> Andreas
>>>
>>> [1]
>>> http://people.apache.org/~veithen/axiom/apidocs/org/apache/axiom/om/OMElement.html#getText()
>>>
>>> On Sun, Apr 25, 2010 at 07:20, Demetris <de...@ece.neu.edu> wrote:
>>>
>>>>
>>>> Why is the Body print showing this
>>>> xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
>>>> that belongs to the Envelope? And it seems that messes up the Iterator
>>>> loop
>>>> that returns
>>>> nothng. I am missing something in the response content access?
>>>>
>>>> Thanks
>>>>
>>>>              SOAPBody body = response.getEnvelope().getBody();
>>>>              System.out.println("Env:
>>>> "+response.getEnvelope().toString());
>>>>              System.out.println("Body:
>>>> "+response.getEnvelope().getBody().toString());
>>>>                            OMElement element = body.getFirstElement();
>>>>              System.out.println("First element: "+element.getText());
>>>>
>>>>              Iterator<?> values = body.getChildren();
>>>>              while (values.hasNext()) {
>>>>                  OMElement elem = (OMElement) values.next();
>>>>                  System.out.println("Result: " +
>>>>                          elem.getText());
>>>>              }
>>>>
>>>> Env: <?xml version='1.0' encoding='utf-8'?><soapenv:Envelope
>>>>
>>>> xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"><soapenv:Body><ns:getBooksResponse
>>>> xmlns:ns="http://myBooksAxis2.axis2.apache.org"><ns:return>Software
>>>> Engineering</ns:return><ns:return>Limits of
>>>> Computation</ns:return><ns:return>Digital
>>>> Circuits</ns:return><ns:return>Disruptive
>>>> Technologies</ns:return><ns:return>Mobile
>>>>
>>>> Computing</ns:return></ns:getBooksResponse></soapenv:Body></soapenv:Envelope>
>>>>
>>>> Body: <soapenv:Body
>>>>
>>>> xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"><ns:getBooksResponse
>>>> xmlns:ns="http://myBooksAxis2.axis2.apache.org"><ns:return>Software
>>>> Engineering</ns:return><ns:return>Limits of
>>>> Computation</ns:return><ns:return>Digital
>>>> Circuits</ns:return><ns:return>Disruptive
>>>> Technologies</ns:return><ns:return>Mobile
>>>> Computing</ns:return></ns:getBooksResponse></soapenv:Body>
>>>>
>>>> First element:   <=== empty but it should't be
>>>>
>>>> ---------------------------------------------------------------------
>>>> To unsubscribe, e-mail: java-user-unsubscribe@axis.apache.org
>>>> For additional commands, e-mail: java-user-help@axis.apache.org
>>>>
>>>>
>>>>
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: java-user-unsubscribe@axis.apache.org
>>> For additional commands, e-mail: java-user-help@axis.apache.org
>>>
>>>
>>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: java-user-unsubscribe@axis.apache.org
>> For additional commands, e-mail: java-user-help@axis.apache.org
>>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: java-user-unsubscribe@axis.apache.org
> For additional commands, e-mail: java-user-help@axis.apache.org
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: java-user-unsubscribe@axis.apache.org
For additional commands, e-mail: java-user-help@axis.apache.org


Re: RPC SOAP

Posted by Demetris <de...@ece.neu.edu>.
Would the Axis2 engine accept proper SOAP messages (Envelope + Body) 
that do not carry the
<? xml version='1.0' ... ?> ?

Also is the soapenv: prefix for the Envelope and the Body tags required?

Thanks again

Demetris wrote:
>
> OK I think I got it. Thanks Andreas
>
> Andreas Veithen wrote:
>> All this is by design:
>>
>> * toString is designed to produce an XML fragment that is valid with
>> respect to namespaces. Thus, when applied to the SOAP body, it needs
>> to add a namespace declaration for the
>> http://schemas.xmlsoap.org/soap/envelope/ namespace.
>>
>> * getText returns the results as specified in the Javadoc [1].
>>
>> Andreas
>>
>> [1] 
>> http://people.apache.org/~veithen/axiom/apidocs/org/apache/axiom/om/OMElement.html#getText() 
>>
>>
>> On Sun, Apr 25, 2010 at 07:20, Demetris <de...@ece.neu.edu> wrote:
>>  
>>> Why is the Body print showing this
>>> xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
>>> that belongs to the Envelope? And it seems that messes up the 
>>> Iterator loop
>>> that returns
>>> nothng. I am missing something in the response content access?
>>>
>>> Thanks
>>>
>>>               SOAPBody body = response.getEnvelope().getBody();
>>>               System.out.println("Env: 
>>> "+response.getEnvelope().toString());
>>>               System.out.println("Body:
>>> "+response.getEnvelope().getBody().toString());
>>>                             OMElement element = body.getFirstElement();
>>>               System.out.println("First element: "+element.getText());
>>>
>>>               Iterator<?> values = body.getChildren();
>>>               while (values.hasNext()) {
>>>                   OMElement elem = (OMElement) values.next();
>>>                   System.out.println("Result: " +
>>>                           elem.getText());
>>>               }
>>>
>>> Env: <?xml version='1.0' encoding='utf-8'?><soapenv:Envelope
>>> xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"><soapenv:Body><ns:getBooksResponse 
>>>
>>> xmlns:ns="http://myBooksAxis2.axis2.apache.org"><ns:return>Software
>>> Engineering</ns:return><ns:return>Limits of
>>> Computation</ns:return><ns:return>Digital
>>> Circuits</ns:return><ns:return>Disruptive
>>> Technologies</ns:return><ns:return>Mobile
>>> Computing</ns:return></ns:getBooksResponse></soapenv:Body></soapenv:Envelope> 
>>>
>>>
>>> Body: <soapenv:Body
>>> xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"><ns:getBooksResponse 
>>>
>>> xmlns:ns="http://myBooksAxis2.axis2.apache.org"><ns:return>Software
>>> Engineering</ns:return><ns:return>Limits of
>>> Computation</ns:return><ns:return>Digital
>>> Circuits</ns:return><ns:return>Disruptive
>>> Technologies</ns:return><ns:return>Mobile
>>> Computing</ns:return></ns:getBooksResponse></soapenv:Body>
>>>
>>> First element:   <=== empty but it should't be
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: java-user-unsubscribe@axis.apache.org
>>> For additional commands, e-mail: java-user-help@axis.apache.org
>>>
>>>
>>>     
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: java-user-unsubscribe@axis.apache.org
>> For additional commands, e-mail: java-user-help@axis.apache.org
>>
>>
>>   
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: java-user-unsubscribe@axis.apache.org
> For additional commands, e-mail: java-user-help@axis.apache.org
>

---------------------------------------------------------------------
To unsubscribe, e-mail: java-user-unsubscribe@axis.apache.org
For additional commands, e-mail: java-user-help@axis.apache.org


Re: RPC SOAP

Posted by Demetris <de...@ece.neu.edu>.
OK I think I got it. Thanks Andreas

Andreas Veithen wrote:
> All this is by design:
>
> * toString is designed to produce an XML fragment that is valid with
> respect to namespaces. Thus, when applied to the SOAP body, it needs
> to add a namespace declaration for the
> http://schemas.xmlsoap.org/soap/envelope/ namespace.
>
> * getText returns the results as specified in the Javadoc [1].
>
> Andreas
>
> [1] http://people.apache.org/~veithen/axiom/apidocs/org/apache/axiom/om/OMElement.html#getText()
>
> On Sun, Apr 25, 2010 at 07:20, Demetris <de...@ece.neu.edu> wrote:
>   
>> Why is the Body print showing this
>> xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
>> that belongs to the Envelope? And it seems that messes up the Iterator loop
>> that returns
>> nothng. I am missing something in the response content access?
>>
>> Thanks
>>
>>               SOAPBody body = response.getEnvelope().getBody();
>>               System.out.println("Env: "+response.getEnvelope().toString());
>>               System.out.println("Body:
>> "+response.getEnvelope().getBody().toString());
>>                             OMElement element = body.getFirstElement();
>>               System.out.println("First element: "+element.getText());
>>
>>               Iterator<?> values = body.getChildren();
>>               while (values.hasNext()) {
>>                   OMElement elem = (OMElement) values.next();
>>                   System.out.println("Result: " +
>>                           elem.getText());
>>               }
>>
>> Env: <?xml version='1.0' encoding='utf-8'?><soapenv:Envelope
>> xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"><soapenv:Body><ns:getBooksResponse
>> xmlns:ns="http://myBooksAxis2.axis2.apache.org"><ns:return>Software
>> Engineering</ns:return><ns:return>Limits of
>> Computation</ns:return><ns:return>Digital
>> Circuits</ns:return><ns:return>Disruptive
>> Technologies</ns:return><ns:return>Mobile
>> Computing</ns:return></ns:getBooksResponse></soapenv:Body></soapenv:Envelope>
>>
>> Body: <soapenv:Body
>> xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"><ns:getBooksResponse
>> xmlns:ns="http://myBooksAxis2.axis2.apache.org"><ns:return>Software
>> Engineering</ns:return><ns:return>Limits of
>> Computation</ns:return><ns:return>Digital
>> Circuits</ns:return><ns:return>Disruptive
>> Technologies</ns:return><ns:return>Mobile
>> Computing</ns:return></ns:getBooksResponse></soapenv:Body>
>>
>> First element:   <=== empty but it should't be
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: java-user-unsubscribe@axis.apache.org
>> For additional commands, e-mail: java-user-help@axis.apache.org
>>
>>
>>     
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: java-user-unsubscribe@axis.apache.org
> For additional commands, e-mail: java-user-help@axis.apache.org
>
>
>   

---------------------------------------------------------------------
To unsubscribe, e-mail: java-user-unsubscribe@axis.apache.org
For additional commands, e-mail: java-user-help@axis.apache.org


Re: RPC SOAP

Posted by Andreas Veithen <an...@gmail.com>.
All this is by design:

* toString is designed to produce an XML fragment that is valid with
respect to namespaces. Thus, when applied to the SOAP body, it needs
to add a namespace declaration for the
http://schemas.xmlsoap.org/soap/envelope/ namespace.

* getText returns the results as specified in the Javadoc [1].

Andreas

[1] http://people.apache.org/~veithen/axiom/apidocs/org/apache/axiom/om/OMElement.html#getText()

On Sun, Apr 25, 2010 at 07:20, Demetris <de...@ece.neu.edu> wrote:
>
> Why is the Body print showing this
> xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
> that belongs to the Envelope? And it seems that messes up the Iterator loop
> that returns
> nothng. I am missing something in the response content access?
>
> Thanks
>
>               SOAPBody body = response.getEnvelope().getBody();
>               System.out.println("Env: "+response.getEnvelope().toString());
>               System.out.println("Body:
> "+response.getEnvelope().getBody().toString());
>                             OMElement element = body.getFirstElement();
>               System.out.println("First element: "+element.getText());
>
>               Iterator<?> values = body.getChildren();
>               while (values.hasNext()) {
>                   OMElement elem = (OMElement) values.next();
>                   System.out.println("Result: " +
>                           elem.getText());
>               }
>
> Env: <?xml version='1.0' encoding='utf-8'?><soapenv:Envelope
> xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"><soapenv:Body><ns:getBooksResponse
> xmlns:ns="http://myBooksAxis2.axis2.apache.org"><ns:return>Software
> Engineering</ns:return><ns:return>Limits of
> Computation</ns:return><ns:return>Digital
> Circuits</ns:return><ns:return>Disruptive
> Technologies</ns:return><ns:return>Mobile
> Computing</ns:return></ns:getBooksResponse></soapenv:Body></soapenv:Envelope>
>
> Body: <soapenv:Body
> xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"><ns:getBooksResponse
> xmlns:ns="http://myBooksAxis2.axis2.apache.org"><ns:return>Software
> Engineering</ns:return><ns:return>Limits of
> Computation</ns:return><ns:return>Digital
> Circuits</ns:return><ns:return>Disruptive
> Technologies</ns:return><ns:return>Mobile
> Computing</ns:return></ns:getBooksResponse></soapenv:Body>
>
> First element:   <=== empty but it should't be
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: java-user-unsubscribe@axis.apache.org
> For additional commands, e-mail: java-user-help@axis.apache.org
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: java-user-unsubscribe@axis.apache.org
For additional commands, e-mail: java-user-help@axis.apache.org