axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "John Busfield (JIRA)" <axis-...@ws.apache.org>
Subject [jira] Commented: (AXIS-1529) Bad namespaces in serialized beans in doc/literal
Date Tue, 30 May 2006 14:22:31 GMT
    [ http://issues.apache.org/jira/browse/AXIS-1529?page=comments#action_12413837 ] 

John Busfield commented on AXIS-1529:
-------------------------------------

AXIS-2473 and AXIS-2449 describe the same issue and are also unresolved.

> Bad namespaces in serialized beans in doc/literal
> -------------------------------------------------
>
>          Key: AXIS-1529
>          URL: http://issues.apache.org/jira/browse/AXIS-1529
>      Project: Apache Axis
>         Type: Bug

>   Components: Serialization/Deserialization
>     Versions: current (nightly)
>  Environment: win xp, jdk 1.4.2, jboss 3.2.5
>     Reporter: Tudor Teusan

>
> It seems that AXIS (latest CVS) doesn't serialize properly complex
> objects (beans) when in doc/literal.
> More precisely  it doesn't handle as it should a SOAP body with multiple namespaces,
as shown in the following exemple :
> (I've come upon this problem trying to return a tree structure from a
> web service)
> The service is a TreeProvider defined as
> ---
> class TreeProvider {
>    private Node root;
>    ...      
>    public Node getTree(){ return root; }
>    ...
> }
> ---
> Node being a very simple bean with two attributes : id and name.
> ---
> class Node {
>    private String id, name;
>    public string getName(){ return name; }
>    ...
> }
> ---
> Node and TreeProvider are in 2 different packages
> "com.knowesis.ws.TreeProvider" and "com.knowesis.tree.Node" ( left out for brevity).
> In the constructor of TreeProvider the root node is initilized as
> id="root", name="root".
> The deploy.wsdd is :
> ---
> ...
> <service name="TreeProvider" style="document" use="literal">
> <namespace>urn:AthanorWS:ws</namespace>
>  <parameter name="className" value="com.knowesis.ws.TreeProvider"/>
>  <parameter name="allowedMethods" value="getTree"/>
>  <beanMapping xmlns:data="urn:AthanorWS:data" qname="data:Node"
>     languageSpecificType="java:com.knowesis.tree.Node"/>
> </service>
> ...
> ---
> the service gets deployed ok and the types section in the auto-generated wsdl looks like
this :
> ---
> ...
> <wsdl:types>
>    <schema elementFormDefault="qualified"
>         targetNamespace="urn:AthanorWS:data"
>         xmlns="http://www.w3.org/2001/XMLSchema">
>       
>         <complexType name="Node">
>            <sequence>
>                <element name="id" nillable="true" type="xsd:string" />
>                <element name="name" nillable="true" type="xsd:string"
> />
>            </sequence>
>        </complexType>
>    </schema>
>    <schema elementFormDefault="qualified"
>         targetNamespace="urn:AthanorWS:ws"
>         xmlns="http://www.w3.org/2001/XMLSchema">
>        <import namespace="urn:AthanorWS:data" />
>        <element name="getTreeReturn" type="tns1:Node" />
>    </schema>
> </wsdl:types>
> ...
> ---
> notice the the two namespaces (and this is how it should be) and the
> elementFormDefault="qualified" for the two schemas.
> A getTree() invocation results in :
> ---
> ...
> <soapenv:Body>
>    <getTreeReturn xmlns="urn:AthanorWS:ws">
>       <id>root</id>
>       <name>root</name>
>    </getTreeReturn>
> </soapenv:Body>
> ...
> ---
> The contents of the generated body is not valid with respect to the wsdl specified schemas.
> "id" and "root" elements are in the same namespace as "getTreeReturn" 
> (urn:AthanorWS:ws) instead of being in their own "urn:AthanorWS:data" 
> namespace :
> <getTreeReturn xmlns="urn:AthanorWS:ws">
>    <id xmlns="urn:AthanorWS:data">root</id>
>    <name xmlns="urn:AthanorWS:data">root</name>
> </getTreeReturn>
> As a direct consequence a generated .Net client simply refuses to
> deserialize the response and always returns an empty answer.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira


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


Mime
View raw message