Hi Harm, I used to work for Ciber UK (the old ECsoft strand) a couple of years ago.
I don't have a solution for this but I found a few threads of people with the same problem: http://www.activebpel.org/code/tracker/view.php?id=131 http://www.newsarch.com/archive/mailinglist/axis/user/msg07098.html http://www.newsarch.com/archive/mailinglist/axis/user/msg08090.html If you find the solution, please let me know. Regards, Patrick. On Mon, 24 Jan 2005 13:14:00 +0100, Harm de Laat <[EMAIL PROTECTED]> wrote: > Thanks for the quick reply... > > Okay I'll try to provide as much info as possible: > > This is the interface / class from which I'm trying to generate a WSDL from > (Using Java2Wsdl): > > package nl.vodafone.cal.webservices; > > import nl.vodafone.quicksilver.jaxb.CreditVettingRequest; > import nl.vodafone.quicksilver.jaxb.CreditVettingResponse; > > public interface CreditService { > public CreditVettingResponse checkCredit(CreditVettingRequest request); > public CreditVettingResponse checkValid(CreditVettingRequest request); > } > > These are my arguments to Java2Wsdl: > > -o xml/CreditService.wsdl > -yRPC > -uLITERAL > -lhttp://localhost:8080/axis/services/CreditService > --PkgtoNS nl.vodafone.quicksilver.jaxb=http://jaxb.quicksilver.vodafone.nl > --PkgtoNS nl.vodafone.cal.webservices=http://webservices.cal.vodafone.nl > -n http://webservices.cal.vodafone.nl > nl.vodafone.cal.webservices.CreditService > > When I run this, I get the following output: > > - The class nl.vodafone.quicksilver.jaxb.CreditVettingRequest does not > contain a default constructor, which is a requirement for a bean class. The > class cannot be converted into an xml schema type. An xml schema anyType > will be used to define this class in the wsdl file. > > - The class nl.vodafone.quicksilver.jaxb.CreditVettingResponse does not > contain a default constructor, which is a requirement for a bean class. The > class cannot be converted into an xml schema type. An xml schema anyType > will be used to define this class in the wsdl file. > > WSDLException: faultCode=OTHER_ERROR: Can't find prefix for > 'http://jaxb.quicksilver.vodafone.nl'. 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:267) > > at org.apache.axis.wsdl.fromJava.Emitter.emit(Emitter.java:334) > > at org.apache.axis.wsdl.Java2WSDL.run(Java2WSDL.java:504) > > at org.apache.axis.wsdl.Java2WSDL.main(Java2WSDL.java:542) > > Can you please help? > > Regards, > > Harm de Laat > Ciber > The Netherlands > > > -----Original Message----- > From: Patrick Cogan [mailto:[EMAIL PROTECTED] > Sent: Mon 1/24/2005 12:41 PM > To: [EMAIL PROTECTED] > Cc: > Subject: Re: Java2Wsdl issue > With the limited information that you have supplied, I would think > that you have to do --PkgtoNS for the User class as well. > > Might be best to create the wsdl first and generate the java sources > from the wsdl, if you are able to. > > Regards, > > Patrick. > > P.S. Wasn't aware Vodaphone was outsourcing to the Netherlands!! ;-) > > On Mon, 24 Jan 2005 10:56:19 +0100, Harm de Laat <[EMAIL PROTECTED]> wrote: > > Hi all, > > > > I'm trying to generate an WSDL file using the following Java class: > > > > package nl.mycomp.quicksilver.jaxb.dataservices; > > > > import nl.vodafone.quicksilver.jaxb.User; > > > > public class ChangeSimFormService { > > public User getString() { > > return null; > > } > > > > public void echo( User user ) { > > return; > > } > > } > > > > I'm running the following command: > > > > java2wsdl -o webservices/ChangeSimFormService.wsdl -yRPC -uLITERAL -l > > http://localhost:8080/WEO/webservices/ChangeSimFormService -n > > http://dataservices.weo.mycomp.nl/SOAP/ChangeSimFormService --PkgtoNS > > nl.mycomp.quicksilver.jaxb=http://axistypes.quicksilver.mycomp.nl/ > > nl.mycomp.weo.dataservides.ChangeSimFormService > > > > I get the following exception: > > > > WSDLException: faultCode=OTHER_ERROR: Can't find prefix for > > 'http://axistypes.quicksilver.mycomp.nl/'. Namespace prefixes must be set > > on the Definition object using the addNamespace(...) method. > > > > If I change my class to: > > > > package nl.mycomp.quicksilver.jaxb.dataservices; > > > > public class ChangeSimFormService { > > public Object getString() { > > return null; > > } > > > > public void echo( Object user ) { > > return; > > } > > } > > > > everything runs just fine... > > > > I'm realy puzzled by this. It seems that Axis doesn't like my User object? > > This User object is an class generated by JAXB. Can somebody please explain > > why I'm getting the error mentioned above? > > > > Many thanks, > > > > Regards, > > > > Harm de Laat > > Ciber > > The Netherlands > > > > > >