You need to fix the bug in the service that requires specific namespace
prefixes. Most soap toolkits won't give you the flexibility to specific
specific namespace prefixes (because they don't matter).

Cheers
Simon 

-----Original Message-----
From: Raphael Jacquemin [mailto:[EMAIL PROTECTED] 
Sent: Thursday, August 11, 2005 6:10 AM
To: [email protected]
Subject: Namespace and prefix issues

Hello, 

I use Axis for creating Web Services.

I' ve some troubles with my namespace. 
I use a the tool wsdl2java for generating my java class.

Here is the beginning of my wsdl file, where are defined the different
namespace  :

<wsdl:definitions
    targetNamespace='http://schemas.xmlsoap.org/ws/2004/09/mex'
    xmlns:wsm='http://schemas.xmlsoap.org/ws/2004/09/mex'
    xmlns:wsa='http://schemas.xmlsoap.org/ws/2004/08/addressing'
    xmlns:wsdl='http://schemas.xmlsoap.org/wsdl/'
    xmlns:xs='http://www.w3.org/2001/XMLSchema'
    xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/";>
....
________________________________________________________________

My troubles are with my the prefix "wsm". I have to use this specific
prefix.But with my generate java code, I don't find this prefix in my
SOAP messages.
First I will show you the required SOAP message and then the SOAP
message obtain with my code. I'm sure I use the good wsdl file


Here is a well formed SOAP message : 

<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope
xmlns:SOAP-ENV="http://www.w3.org/2003/05/soap-envelope";
xmlns:SOAP-ENC="http://www.w3.org/2003/05/soap-encoding";
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing";
xmlns:wdp="http://schemas.xmlsoap.org/ws/2004/08/devprof";
xmlns:wsm="http://schemas.xmlsoap.org/ws/2004/09/mex";
xmlns:wsd="http://schemas.xmlsoap.org/ws/2004/02/discovery";>

<SOAP-ENV:Header>
<wsa:To>uuid:00001f90-0000-1000-8000-000bcd4ab3de</wsa:To>
<wsa:Action>http://schemas.xmlsoap.org/ws/2004/09/mex/MetadataExchange/G
etMetadataRequest</wsa:Action>
<wsa:MessageId>uuid:65cb6464-d758-11d9-b16f-000bcd4ab3de</wsa:MessageId>
<wsa:ReplyTo><wsa:Address>http://schemas.xmlsoap.org/ws/2004/08/addressi
ng/role/anonymous</wsa:Address></wsa:ReplyTo>
</SOAP-ENV:Header>
<SOAP-ENV:Body id="_0">
<wsm:GetMetadata>
<wsm:Dialect>http://schemas.xmlsoap.org/ws/2004/08/devprof/Relationship<
/wsm:Dialect>
</wsm:GetMetadata>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>


Here, is my obtained 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";
xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing";>
<soapenv:Header>
<wsa:MessageID
soapenv:mustUnderstand="0">uuid:7ed58220-0a64-11da-aa4d-bc6f8a64de0c</ws
a:MessageID>
<wsa:To soapenv:mustUnderstand="0">http://localhost:8085/</wsa:To>
<wsa:Action
soapenv:mustUnderstand="0">http://schemas.xmlsoap.org/ws/2004/09/mex/Met
adataExchange/GetMetadataRequest</wsa:Action>
<wsa:From soapenv:mustUnderstand="0">           
<wsa:Address>http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anony
mous</wsa:Address>
</wsa:From>
<wsa:ReplyTo soapenv:mustUnderstand="0">           
<wsa:Address>http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anony
mous</wsa:Address>
</wsa:ReplyTo>
</soapenv:Header>
<soapenv:Body>
<GetMetadata xmlns="">
<ns1:Dialect
xmlns:ns1="http://schemas.xmlsoap.org/ws/2004/09/mex";>http://schemas.xml
soap.org/ws/2004/08/devprof/ThisModel</ns1:Dialect>
</GetMetadata>
</soapenv:Body>
</soapenv:Envelope>



So, As you can see in my SOAP message the "wsm" prefix is replaced by
the ns1.
I know that normally a translation is made and only the URL :
"http://schemas.xmlsoap.org/ws/2004/09/mex"; is important. But I need an
exact matching with wsm for my application :
<wsm:GetMetadata>
<wsm:Dialect>http://schemas.xmlsoap.org/ws/2004/08/devprof/Relationship<
/wsm:Dialect>
</wsm:GetMetadata>

What 's possible in order to force the "wsm" prefix.
Do I modify the Wsdl2java tools or modify the wsdl file  ?

I can send my complete wsdl file if you need.

Thanks in advance.

Regards
Raphael Jacquemin


Reply via email to