Syed

I see where my problem was.. 

the port number was a red herring, I needed to be more explicit in referencing 
the wsdl location when invoking the service

I can now invoke a getRegistry request and get the correct response back over 
the wire

the jaxb mappings created by CXF wsdl2java still arent converting this to a 
List of Marts  - but that is another story...

thanks again

Trevor Paterson  

 

> -----Original Message-----
> From: trevor paterson (RI) 

> 
> you are correct - removing the port numer from the schem 
> namespace doesn't fix the problem....
> 
> the package generated by CXF wsdl2java is now named sensibly 
> as -- org.biomart.martservicesoap;
> 
> and the namespace in the SOAP request is given as --
> 
>       <ns1:getRegistry 
> xmlns:ns1="http://martservicesoap.biomart.org"; />
> 
> 
> 
> whereas in order to reference the schema ttypes it needs to 
> be  <ns1:getRegistry 
> xmlns:ns1="http://www.biomart.org/MartServiceSoap"/>
> and I can't work out whther this is configurable....
> 
> the getRegistry service is obviously OK as both Taverna and 
> http://soapclient.com/soaptest.html can access it, and they 
> specify the schema namespace correctly - see below
> 
> <?xml version="1.0" encoding="UTF-8" standalone="no"?> 
> <SOAP-ENV:Envelope 
> xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"; 
> xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"; 
> xmlns:tns="http://www.biomart.org/MartServiceSoap"; 
> xmlns:xsd="http://www.w3.org/2001/XMLSchema"; 
> xmlns:sawsdl="http://www.w3.org/ns/sawsdl"; 
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
> ><SOAP-ENV:Body><mns1:getRegistry 
> xmlns:mns1="http://www.biomart.org/MartServiceSoap";></mns1:get
Registry>
> </SOAP-ENV:Body>
> </SOAP-ENV:Envelope>
> 
> it also it looks to me like the CXF wsdl2java is not properly 
> creating the complex Query type required for a queryRequest either....
> 
> so maybe I will just resort to posting XML to the service or 
> construct vanilla SOAP requests without wsdl stub generation 
> 
> ta
> 
> trevor
> 

> 
> > -----Original Message-----
> > From: Syed Haider [mailto:[email protected]]

> > 
> > Hi Trevor,
> > 
> > I am not sure if its really the port number.
> > 
> > However, for your testing and convenience, I have removed the port 
> > number (:80) from wsdl and associated xsd from the live server
> > (www.biomart.org) - please test against it and see if that helps,
> > 
> > 
> > Best,
> > Syed
> > 
> > 
> > trevor paterson (RI) wrote:
> > > Syed et al
> > >  
> > > I posted the following to the CXF users list.... 
> > > 
> > 
> http://www.nabble.com/portnumbers-in-target-namespaces-td22701556.html
> > >  
> > > I am not sure whether (some of) my problems connecting to
> > martsoap are caused by this!
> > > 
> > > Do you know if the port number in the namespace is 
> problematic when 
> > > autogenerating client code and whether I have to do some
> > munging to get round this?
> > >  
> > > CROSS-POST>>
> > >  
> > > 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"; 
> > >                       schemaLocation="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
> > >  
> > > <<END CROSS-POST
> > > 
> > > 
> > > Trevor Paterson PhD
> > > new email [email protected] 
> > > <mailto:[email protected]>
> > > 
> > > Bioinformatics
> > > The Roslin Institute
> > > Edinburgh University
> > > Scotland EH25 9PS
> > > phone +44 (0)131 5274477
> > > http://www.roslin.ed.ac.uk <http://www.roslin.ed.ac.uk/> 
> > > http://www.comparagrid.org <http://www.comparagrid.org/> 
> > > http://www.thearkdb.org <http://www.thearkdb.org/>
> > > 
> > > Please consider the environment before printing this e-mail
> > > 
> > > The University of Edinburgh is a charitable body, registered in 
> > > Scotland with registration number SC005336 Disclaimer:This
> > e-mail and any attachments are confidential and intended solely for 
> > the use of the recipient(s) to whom they are addressed. If you have 
> > received it in error, please destroy all copies and inform 
> the sender.
> > 

Reply via email to