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 SANLAVILLE Remy RD-BIZZ-GRE <re...@francetelecom.com> on 2005/03/23 15:07:13 UTC

Axis - .NET - Namespace

Hi All,

I'm using Axis version 1.2RC3 for my Web Service on the server side
We have to accept both Axis client (v1.2RC3) and .NET client (v1.1).
You will find the wsdl and wsdd in attachment
 <<MultiDiffusionWS.wsdl>>  <<deploy.wsdd>> 
I am facing with the following interoperability problem.

If the .NET client invoke the getVersion method, our Web Service return this soap message :
<?xml version="1.0" encoding="utf-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
	<soapenv:Body>
		<getVersionResponse xmlns="http://mdws.rd.francetelecom.com">
			<getVersionReturn>
				<version>v1.0</version>
			</getVersionReturn>
		</getVersionResponse>
	</soapenv:Body>
</soapenv:Envelope>

But the .NET client need this soap message
<?xml version="1.0" encoding="utf-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
	<soapenv:Body>
		<getVersionResponse xmlns="http://mdws.rd.francetelecom.com">
			<getVersionReturn>
				<version xmlns="http://model.mdws.rd.francetelecom.com">v1.0</version>
			</getVersionReturn>
		</getVersionResponse>
	</soapenv:Body>
</soapenv:Envelope>

I don't understand why Axis does not generate the namespace http://model.mdws.rd.francetelecom.com for the node version (cf. wsdl).
(Perhaps we also need a namespace for the node getVersionReturn).

Is there any way to force the generation of the namespace with Axis ?
(In the wsdl elementFormDefault="qualified")

Thanks for any help.

Rémy


Re: Axis - .NET - Namespace

Posted by Anne Thomas Manes <at...@gmail.com>.
I think this is a bug in Axis. (please report it) .NET's
interpretation of the schema is correct.
getVersionReturn is in the http://mdws.rd.francetelecom.com namespace,
and version is in the http://model.mdws.rd.francetelecom.com
namespace.

As a workaround, either define the getVersionReturn element in the
second namespace, or define the type in the first namespace. You also
might try removing the elementFormDefault attribute from the second
schema, which would put version in no namespace.

Anne

On Wed, 23 Mar 2005 15:07:13 +0100, SANLAVILLE Remy RD-BIZZ-GRE
<re...@francetelecom.com> wrote:
>  
> 
> Hi All, 
> 
> I'm using Axis version 1.2RC3 for my Web Service on the server side 
> We have to accept both Axis client (v1.2RC3) and .NET client (v1.1). 
> You will find the wsdl and wsdd in attachment 
>  <<MultiDiffusionWS.wsdl>> <<deploy.wsdd>> 
> I am facing with the following interoperability problem. 
> 
> If the .NET client invoke the getVersion method, our Web Service return this
> soap message : 
> <?xml version="1.0" encoding="utf-8"?> 
> <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
> xmlns:xsd="http://www.w3.org/2001/XMLSchema"
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> 
> 
>         <soapenv:Body> 
>                 <getVersionResponse
> xmlns="http://mdws.rd.francetelecom.com"> 
>                         <getVersionReturn> 
>                                 <version>v1.0</version> 
>                         </getVersionReturn> 
>                 </getVersionResponse> 
>         </soapenv:Body> 
> </soapenv:Envelope> 
> 
> But the .NET client need this soap message 
> <?xml version="1.0" encoding="utf-8"?> 
> <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
> xmlns:xsd="http://www.w3.org/2001/XMLSchema"
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> 
> 
>         <soapenv:Body> 
>                 <getVersionResponse
> xmlns="http://mdws.rd.francetelecom.com"> 
>                         <getVersionReturn> 
>                                 <version
> xmlns="http://model.mdws.rd.francetelecom.com">v1.0</version> 
>                         </getVersionReturn> 
>                 </getVersionResponse> 
>         </soapenv:Body> 
> </soapenv:Envelope> 
> 
> I don't understand why Axis does not generate the namespace
> http://model.mdws.rd.francetelecom.com for the node version (cf. wsdl). 
> 
> (Perhaps we also need a namespace for the node getVersionReturn). 
> 
> Is there any way to force the generation of the namespace with Axis ? 
> (In the wsdl elementFormDefault="qualified") 
> 
> Thanks for any help. 
> 
> Rémy 
>