I'm running Java2WSDL and getting an odd exception. One webservice
interface uses just beans & things, where as the other uses some
pre-defined types from the package org.biojava.bio.seq - the beany
service works fine. The other one barfs.
I run Java2WSDL as:
java org.apache.axis.wsdl.Java2WSDL -o tmp/FeatureDB_interface.wsdl -O
tmp/FeatureDB_implementation.wsdl -l
http://localhost:8080/axis/FeatureDB -n
http://microbase.org.uk/webservices/FeatureDB_interface -N
http://microbase.org.uk/webservices/FeatureDB_implementation -i
uk.org.microbase.genomepoolws.FeatureDB -w all -y RPC
uk.org.microbase.genomepoolws.FeatureDB
This gives me an exception:
WSDLException: faultCode=OTHER_EROR: Can't find prefix for
'http://seq.bio.biojava.org. Namespace prefixes must be set on the
Definition object using the addNamespace(...) method.:
at com.ibm.wsdl.util.xml.DOMUtils.getPrefix(Unknown Source)
at com.ibm.wsdl.util.xml.DOMUtils.getQualifiedValue(Unknown Source)
at
com.ibm.wsdl.util.xml.DOMUtils.PrintQualifiedAttribute(Unknown Source)
at com.ibm.wsdl.xml.WSDLWriterImpl.printParts(Unknown Source)
at com.ibm.wsdl.xml.WSDLWriterImpl.printMessages(Unknown Source)
at com.ibm.wsdl.xml.WSDLWriterImpl.printDefinition(Unknown Source)
at com.ibm.wsdl.xml.WSDLWriterImpl.writeWSDL(Unknown Source)
at com.ibm.wsdl.xml.WSDLWriterImpl.getDocument(Unknown Source)
at org.apache.axis.wsdl.fromJava.Emitter.emit(Emitter.java:220)
at org.apache.axis.wsdl.Java2WSDL.run(Java2WSDL.java:506)
at org.apache.axis.wsdl.Java2WSDL.main(Java2WSDL.java:542)
If I add -porg.biojava.bio.seq=urn:biojava:type:seq then the exception
message changes to "Can't find prefix for 'urn:biojava:type:seq' " instead.
Ideas?
Matthew
