You are viewing a plain text version of this content. The canonical link for it is here.
Posted to c-dev@axis.apache.org by Frank Zhou <fc...@yahoo.com> on 2008/03/29 01:25:39 UTC
Namespace in response root element not declared
Hi, All,
I run into an issue that has to do with namespace. I
called a web service and get a response using the
following method:
axiom_node_t * node =
axis2_svc_client_send_receive(_wsf_service_client,
_env, payload);
However, when I serialize the node to xml, I noticed
that the root element has a namespace abbreviation but
no namespace is declared, hence the xml is invalid.
Here is an example:
<ns1:getLiteEntityResponse>
<ns1:return>
<ns1:ListElement>
<ns1:chebiId>CHEBI:16551</ns1:chebiId>
<ns1:chebiAsciiName>alpha,alpha-trehalose</ns1:chebiAsciiName>
</ns1:ListElement>
</ns1:return>
</ns1:getLiteEntityResponse>
I used the following method to serialize the node:
axiom_node_serialize(node, _env, om_output);
When I used soapUI to look at the response, I got the
following (the namespace is declared in
soapEnv:Envelope node):
<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:ns1="http://www.ebi.ac.uk/webservices/chebi">
<soapenv:Body>
<ns1:getLiteEntityResponse>
<ns1:return>
<ns1:ListElement>
<ns1:chebiId>CHEBI:16551</ns1:chebiId>
<ns1:chebiAsciiName>alpha,alpha-trehalose</ns1:chebiAsciiName>
</ns1:ListElement>
</ns1:return>
</ns1:getLiteEntityResponse>
</soapenv:Body>
</soapenv:Envelope>
Is this a bug or a problem in the response itself?
Thanks!
Frank
____________________________________________________________________________________
OMG, Sweet deal for Yahoo! users/friends:Get A Month of Blockbuster Total Access, No Cost. W00t
http://tc.deals.yahoo.com/tc/blockbuster/text2.com
---------------------------------------------------------------------
To unsubscribe, e-mail: axis-c-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-c-dev-help@ws.apache.org
Re: Namespace in response root element not declared
Posted by Dimuthu Gamage <di...@gmail.com>.
On Sat, Mar 29, 2008 at 4:04 PM, Dimuthu Gamage <di...@gmail.com> wrote:
> Hi Frank,
> It is an identified issue, use axiom_node_serialize_sub_tree instead,
>
> I think the rational is axiom_node_serialize assumes that it is the
> root node it serialize, so it to the job with better performance.
> axiom_node_serialize_sub_tree aware that it is the sub tree it is
> serializing, but less performance than the axiom_node_serialize.
>
> Thanks
> Dimuthu
>
>
>
> On Sat, Mar 29, 2008 at 5:55 AM, Frank Zhou <fc...@yahoo.com> wrote:
> > Hi, All,
> >
> > I run into an issue that has to do with namespace. I
> > called a web service and get a response using the
> > following method:
> >
> > axiom_node_t * node =
> > axis2_svc_client_send_receive(_wsf_service_client,
> > _env, payload);
> >
> > However, when I serialize the node to xml, I noticed
> > that the root element has a namespace abbreviation but
> > no namespace is declared, hence the xml is invalid.
> > Here is an example:
> >
> > <ns1:getLiteEntityResponse>
> > <ns1:return>
> > <ns1:ListElement>
> > <ns1:chebiId>CHEBI:16551</ns1:chebiId>
> >
> > <ns1:chebiAsciiName>alpha,alpha-trehalose</ns1:chebiAsciiName>
> > </ns1:ListElement>
> > </ns1:return>
> > </ns1:getLiteEntityResponse>
> >
> >
> > I used the following method to serialize the node:
> >
> > axiom_node_serialize(node, _env, om_output);
> >
> > When I used soapUI to look at the response, I got the
> > following (the namespace is declared in
> > soapEnv:Envelope node):
> >
> > <soapenv:Envelope
> > xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
> > xmlns:xsd="http://www.w3.org/2001/XMLSchema"
> > xmlns:ns1="http://www.ebi.ac.uk/webservices/chebi">
> > <soapenv:Body>
> > <ns1:getLiteEntityResponse>
> > <ns1:return>
> > <ns1:ListElement>
> > <ns1:chebiId>CHEBI:16551</ns1:chebiId>
> >
> > <ns1:chebiAsciiName>alpha,alpha-trehalose</ns1:chebiAsciiName>
> > </ns1:ListElement>
> > </ns1:return>
> > </ns1:getLiteEntityResponse>
> > </soapenv:Body>
> > </soapenv:Envelope>
> >
> > Is this a bug or a problem in the response itself?
And it is not a problem in the response. it is 100% correct. just use
axiom_node_serialize_sub_tree.
> >
> > Thanks!
> > Frank
> >
> >
> >
> >
> > ____________________________________________________________________________________
> > OMG, Sweet deal for Yahoo! users/friends:Get A Month of Blockbuster Total Access, No Cost. W00t
> > http://tc.deals.yahoo.com/tc/blockbuster/text2.com
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: axis-c-dev-unsubscribe@ws.apache.org
> > For additional commands, e-mail: axis-c-dev-help@ws.apache.org
> >
> >
>
---------------------------------------------------------------------
To unsubscribe, e-mail: axis-c-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-c-dev-help@ws.apache.org
Re: Namespace in response root element not declared
Posted by Dimuthu Gamage <di...@gmail.com>.
Hi Frank,
It is an identified issue, use axiom_node_serialize_sub_tree instead,
I think the rational is axiom_node_serialize assumes that it is the
root node it serialize, so it to the job with better performance.
axiom_node_serialize_sub_tree aware that it is the sub tree it is
serializing, but less performance than the axiom_node_serialize.
Thanks
Dimuthu
On Sat, Mar 29, 2008 at 5:55 AM, Frank Zhou <fc...@yahoo.com> wrote:
> Hi, All,
>
> I run into an issue that has to do with namespace. I
> called a web service and get a response using the
> following method:
>
> axiom_node_t * node =
> axis2_svc_client_send_receive(_wsf_service_client,
> _env, payload);
>
> However, when I serialize the node to xml, I noticed
> that the root element has a namespace abbreviation but
> no namespace is declared, hence the xml is invalid.
> Here is an example:
>
> <ns1:getLiteEntityResponse>
> <ns1:return>
> <ns1:ListElement>
> <ns1:chebiId>CHEBI:16551</ns1:chebiId>
>
> <ns1:chebiAsciiName>alpha,alpha-trehalose</ns1:chebiAsciiName>
> </ns1:ListElement>
> </ns1:return>
> </ns1:getLiteEntityResponse>
>
>
> I used the following method to serialize the node:
>
> axiom_node_serialize(node, _env, om_output);
>
> When I used soapUI to look at the response, I got the
> following (the namespace is declared in
> soapEnv:Envelope node):
>
> <soapenv:Envelope
> xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
> xmlns:xsd="http://www.w3.org/2001/XMLSchema"
> xmlns:ns1="http://www.ebi.ac.uk/webservices/chebi">
> <soapenv:Body>
> <ns1:getLiteEntityResponse>
> <ns1:return>
> <ns1:ListElement>
> <ns1:chebiId>CHEBI:16551</ns1:chebiId>
>
> <ns1:chebiAsciiName>alpha,alpha-trehalose</ns1:chebiAsciiName>
> </ns1:ListElement>
> </ns1:return>
> </ns1:getLiteEntityResponse>
> </soapenv:Body>
> </soapenv:Envelope>
>
> Is this a bug or a problem in the response itself?
>
> Thanks!
> Frank
>
>
>
>
> ____________________________________________________________________________________
> OMG, Sweet deal for Yahoo! users/friends:Get A Month of Blockbuster Total Access, No Cost. W00t
> http://tc.deals.yahoo.com/tc/blockbuster/text2.com
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: axis-c-dev-unsubscribe@ws.apache.org
> For additional commands, e-mail: axis-c-dev-help@ws.apache.org
>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: axis-c-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-c-dev-help@ws.apache.org