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.