Hi Trevor,

glad to hear that its heading in the right direction. Just for everyone's clarity, the solution is to type the URL in your Java client as :

http://www.biomart.org:80/biomart/martwsdl


right ?

please confirm,
Thanks
Syed


trevor paterson (RI) wrote:
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