axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Alexander Vaagan (JIRA)" <>
Subject [jira] Updated: (AXIS-2449) Axis does not supply correct namespace in SOAP message
Date Fri, 31 Mar 2006 07:39:28 GMT
     [ ]

Alexander Vaagan updated AXIS-2449:

    Attachment: SampleWS.wsdl

Thanks for looking in to this problem. It's a real showstopper for me sinse a lot of the consumers
of the services I write are .NET.
The WSDL file I attached is not the exact same one that I used in my previous post, but it
has the same problem. As far as I can see,
unless the WebService and the data objects are in the same namespace, Axis will always get
this wrong.

I downloaded the latest CVS snapshot and it has the same problem.


> Axis does not supply correct namespace in SOAP message
> ------------------------------------------------------
>          Key: AXIS-2449
>          URL:
>      Project: Apache Axis
>         Type: Bug
>   Components: Basic Architecture, Serialization/Deserialization
>  Environment: Windows XP, JBoss 4.0.3
>     Reporter: Alexander Vaagan
>  Attachments: SampleWS.wsdl
> Hi.
> I have a WebService running on axis and are trying to consume it from a .NET (C#) client,
but all I get back is NULL values.
> I have search both this mailing list and others and I can see that I am not the only
one having this problem, but I can't seem to find a real fix to the problem.
> Some people says I should manually edit the wsdl file and some mean I should manualy
edit the .NET proxy, but I don't like either solution sinse it fixes the
> symptom not the real problem. 
> The service takes a complex type and an int as input and returns å complex type.
> In the .wsdd file I have adden a beanMapping that looks like this:
> 		<beanMapping 
> 			xmlns:bedriftws=""
> 			qname="companyws:FoobarDO" 
> 			languageSpecificType=""
> 		/>
> which puts the type in the namespace. 
> The default namespace is namespace.
> The wsdl file is automatically generated from axis like this: http://hostname/webapp/services/FoobarWS?wsdl
> The schema definition of the returned object in the wsdl looks like this: (The extension
base i found in the "" namespace)
>             <schema elementFormDefault="qualified" targetNamespace=""
>                <import namespace=""/>   
>                <complexType name="FoobarDO">    
>                   <complexContent>     
>                      <extension base="tns1:Data">      
>                         <sequence>       
>                            <element name="signatur" nillable="true" type="xsd:string"/>
>                            <element name="kommentar" nillable="true" type="xsd:string"/>
>                         </sequence>     
>                      </extension>    
>                   </complexContent>   
>                </complexType>   
> To me it looks like it's located in the correkt namespace as defines in the beanMapping
in the wsdd file.
> The problem is that axis does not send the response in the correkt namespace:
> Eg. Soap response from axis:
> <?xml version="1.0" encoding="utf-8"?>
>    <soapenv:Envelope xmlns:soapenv="" xmlns:xsd=""
>       <soapenv:Body>
>          <hentFoobarResponse xmlns="">
>             <hentFoobarReturn>
>                <signatur xsi:nil="true"/>
>                <kommentar>Viskom testing testing testing</kommentar>
>             </hentFoobarReturn>
>          </hentFoobarResponse>
>       </soapenv:Body>
>    </soapenv:Envelope>
> Here the .NET client clearly is trying to find objects and values in the wrong namespace.
The wsdl says it's in and axis sends it in
> I have deployed the same app on a Websphere server (without axis) and this works fine.
The return message from Websphere looks like this:
> <?xml version="1.0" encoding="utf-8"?>
>    <soapenv:Envelope xmlns:soapenv="" xmlns:soapenc=""
xmlns:xsd="" xmlns:xsi="">
>       <soapenv:Header/>
>       <soapenv:Body>
>          <hentFoobarResponse xmlns="">
>             <hentFoobarReturn>
>                <signatur xsi:nil="true" xmlns=""/>
>                <kommentar xmlns="">Viskom testing testing
>             </hentFoobarReturn>
>          </hentFoobarResponse >
>       </soapenv:Body>
>    </soapenv:Envelope>
> Here the correkt namespace is supplied and the .NET client can read and deserialize it
> Axis version: Implementation-Version: 1.3 2244 October 5 2005
> Java version: java full version "1.4.2_08-b03"

This message is automatically generated by JIRA.
If you think it was sent incorrectly contact one of the administrators:
For more information on JIRA, see:

View raw message