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