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



Reply via email to