You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@cxf.apache.org by Trevor Paterson <tr...@roslin.ed.ac.uk> on 2009/03/25 14:13:45 UTC

portnumbers in target namespaces

I am having problems generating client code from a WSDL, which I suspect may
be because the WSDL imports a schema which has a targetNamespace which
includes a port number.

the WSDL types:

<types>
  <xsd:schema>
    <xsd:import namespace="http://www.biomart.org:80/MartServiceSoap"
                        ="martxsd" />
  </xsd:schema>
</types>

the schema declaration:

<xs:schema
xmlns:tns="http://www.biomart.org:80/MartServiceSoap"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:sawsdl="http://www.w3.org/ns/sawsdl"
targetNamespace="http://www.biomart.org:80/MartServiceSoap" version="1.0">

wsdl2java by default generates client code in the package
org.biomart._80.martservicesoap

a SOAP request generated from client code generated using wsdl2java:

   <soap:Body>
      <ns1:getRegistry xmlns:ns1="http://martservicesoap._80.biomart.org" />
   </soap:Body>

Am I naïve in thinking that xmlns:ns1 should =
"http://www.biomart.org:80/MartServiceSoap" in order to  match the schema
namespace for the service?

Is the namespace in the SOAP request made on the fly from the package name
of the code? and therefore is the “:80” insurmountable?

Is there a way to set the namespaces generated?

thanks
Trevor Paterson, Roslin Institute 
-- 
View this message in context: http://www.nabble.com/portnumbers-in-target-namespaces-tp22701556p22701556.html
Sent from the cxf-user mailing list archive at Nabble.com.


Re: portnumbers in target namespaces

Posted by Trevor Paterson <tr...@roslin.ed.ac.uk>.
Hi

the port numbers turned out to be a red herring...

I just needed to invoke the service differently, referencing the wsdl
explicitly.

I'm now having problems correctly mapping my webservice response - but that
will be another post possibly ;)

trevor


dkulp wrote:
> 
> 
> 
> What version of CXF are you using?   I just tried with 2.2 and modified
> the 
> "wsdl_first" sample to put :80 on the schema targetNamespace and it
> properly 
> resulted in the soap message:
> 
> 
> <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
> <soap:Body>
> <sayHi xmlns="http://apache.org:80/hello_world_soap_http/types"/>
> </soap:Body>
> </soap:Envelope>
> 
> 
> 
> Dan
> 
> 
> 
> On Wed March 25 2009 9:13:45 am Trevor Paterson wrote:
>> I am having problems generating client code from a WSDL, which I suspect
>> may be because the WSDL imports a schema which has a targetNamespace
>> which
>> includes a port number.
>>
>> the WSDL types:
>>
>> <types>
>>   <xsd:schema>
>>     <xsd:import namespace="http://www.biomart.org:80/MartServiceSoap"
>>                         ="martxsd" />
>>   </xsd:schema>
>> </types>
>>
>> the schema declaration:
>>
>> <xs:schema
>> xmlns:tns="http://www.biomart.org:80/MartServiceSoap"
>> xmlns:xs="http://www.w3.org/2001/XMLSchema"
>> xmlns:sawsdl="http://www.w3.org/ns/sawsdl"
>> targetNamespace="http://www.biomart.org:80/MartServiceSoap"
>> version="1.0">
>>
>> wsdl2java by default generates client code in the package
>> org.biomart._80.martservicesoap
>>
>> a SOAP request generated from client code generated using wsdl2java:
>>
>>    <soap:Body>
>>       <ns1:getRegistry xmlns:ns1="http://martservicesoap._80.biomart.org"
>> /> </soap:Body>
>>
>> Am I naïve in thinking that xmlns:ns1 should =
>> "http://www.biomart.org:80/MartServiceSoap" in order to  match the schema
>> namespace for the service?
>>
>> Is the namespace in the SOAP request made on the fly from the package
>> name
>> of the code? and therefore is the “:80” insurmountable?
>>
>> Is there a way to set the namespaces generated?
>>
>> thanks
>> Trevor Paterson, Roslin Institute
> 
> -- 
> Daniel Kulp
> dkulp@apache.org
> http://www.dankulp.com/blog
> 
> 

-- 
View this message in context: http://www.nabble.com/portnumbers-in-target-namespaces-tp22701556p22720478.html
Sent from the cxf-user mailing list archive at Nabble.com.


Re: portnumbers in target namespaces

Posted by Daniel Kulp <dk...@apache.org>.

What version of CXF are you using?   I just tried with 2.2 and modified the 
"wsdl_first" sample to put :80 on the schema targetNamespace and it properly 
resulted in the soap message:


<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<sayHi xmlns="http://apache.org:80/hello_world_soap_http/types"/>
</soap:Body>
</soap:Envelope>



Dan



On Wed March 25 2009 9:13:45 am Trevor Paterson wrote:
> I am having problems generating client code from a WSDL, which I suspect
> may be because the WSDL imports a schema which has a targetNamespace which
> includes a port number.
>
> the WSDL types:
>
> <types>
>   <xsd:schema>
>     <xsd:import namespace="http://www.biomart.org:80/MartServiceSoap"
>                         ="martxsd" />
>   </xsd:schema>
> </types>
>
> the schema declaration:
>
> <xs:schema
> xmlns:tns="http://www.biomart.org:80/MartServiceSoap"
> xmlns:xs="http://www.w3.org/2001/XMLSchema"
> xmlns:sawsdl="http://www.w3.org/ns/sawsdl"
> targetNamespace="http://www.biomart.org:80/MartServiceSoap" version="1.0">
>
> wsdl2java by default generates client code in the package
> org.biomart._80.martservicesoap
>
> a SOAP request generated from client code generated using wsdl2java:
>
>    <soap:Body>
>       <ns1:getRegistry xmlns:ns1="http://martservicesoap._80.biomart.org"
> /> </soap:Body>
>
> Am I naïve in thinking that xmlns:ns1 should =
> "http://www.biomart.org:80/MartServiceSoap" in order to  match the schema
> namespace for the service?
>
> Is the namespace in the SOAP request made on the fly from the package name
> of the code? and therefore is the “:80” insurmountable?
>
> Is there a way to set the namespaces generated?
>
> thanks
> Trevor Paterson, Roslin Institute

-- 
Daniel Kulp
dkulp@apache.org
http://www.dankulp.com/blog