On Friday 19 December 2008 9:11:40 am Christian Landbo Frederiksen wrote: > Version 2.1
Update to 2.1.3. That MAY help. Dan > > We don't use java2wsdl directly. > > We use Spring and the jaxws:endpoint tag > > /Chr > > > > -----Original Message----- > From: Benson Margulies [mailto:bimargul...@gmail.com] > Sent: 19. december 2008 14:43 > To: users@cxf.apache.org > Subject: Re: Figuring out why params turn to null > > What version of CXF? What command-line args to java2wsdl? > > On Thu, Dec 18, 2008 at 5:41 PM, Christian Landbo Frederiksen > > <c...@ementor.dk> wrote: > > OK Thanks. > > > > So now I try change it to qualified, since I have a client (Delphi) that > > cannot handle this. > > > > Searching for how to do this I saw the package-info.java thing. > > > > So I put a package-info.java file into the package of the service with > > this content: > > > > @javax.xml.bind.annotation.XmlSchema( > > namespace = "http://echo/2008/11/16", > > > > attributeFormDefault=javax.xml.bind.annotation.XmlNsForm.UNQUALIFIED, > > > > elementFormDefault=javax.xml.bind.annotation.XmlNsForm.QUALIFIED) > > package dk.something; > > > > > > But nothing happens to the generated WSDL it still has both set to > > unqualified. > > > > Am I missing something or is there another way? > > > > /Chr > > > > -----Original Message----- > > From: Daniel Kulp [mailto:dk...@apache.org] > > Sent: 15. december 2008 17:52 > > To: users@cxf.apache.org > > Cc: Christian Landbo Frederiksen > > Subject: Re: Figuring out why params turn to null > > > > > > The schema has: > > > > <xs:schema attributeFormDefault="unqualified" > > elementFormDefault="unqualified" > > > > Thus, the "hello" child element MUST be unqualified. That's per the > > schema > > rules. If it's sent qualified, then it doesn't match the schema. > > > > Dan > > > > > > > > > > On Monday 15 December 2008 9:57:19 am Christian Landbo Frederiksen > > > > wrote: > >> I am using CXF 2.1 > >> > >> > >> > >> I expose a java class/method like this > >> > >> > >> > >> @WebService(name="EchoService", > >> targetNamespace="http://echo.dk/2008/11/16") > >> > >> public interface EchoService { > >> > >> > >> > >> @WebMethod > >> > >> public String echo(@WebParam(name = "hello") String hello) > >> > >> > >> > >> > >> > >> This turns into this wsdl: > >> > >> > >> > >> <xs:schema attributeFormDefault="unqualified" > >> elementFormDefault="unqualified" > >> targetNamespace="http://echo.dk/2008/11/16" > >> xmlns="http://echo.dk/2008/11/16" > >> xmlns:xs="http://www.w3.org/2001/XMLSchema"> > >> > >> <xs:element name="echo" type="echo"/> > >> > >> <xs:complexType name="echo"> > >> > >> <xs:sequence> > >> > >> <xs:element minOccurs="0" name="hello" type="xs:string"/> > >> > >> </xs:sequence> > >> > >> </xs:complexType> > >> > >> <xs:element name="echoResponse" type="echoResponse"/> > >> > >> <xs:complexType name="echoResponse"> > >> > >> <xs:sequence> > >> > >> <xs:element minOccurs="0" name="return" type="xs:string"/> > >> > >> </xs:sequence> > >> > >> </xs:complexType> > >> > >> </xs:schema> > >> > >> > >> > >> > >> > >> Can successfully be called in SOAP-UI: > >> > >> > >> > >> <soapenv:Envelope > >> xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" > >> xmlns:ns="http://optagelse.dk/2008/11/16"> > >> > >> <soapenv:Header/> > >> > >> <soapenv:Body> > >> > >> <ns:echo> > >> > >> <hello>Champ</hello> > >> > >> </ns:echo> > >> > >> </soapenv:Body> > >> > >> </soapenv:Envelope> > >> > >> > >> > >> But another client generates this: > >> > >> > >> > >> <soapenv:Envelope > >> xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" > > >> > >> <soapenv:Header/> > >> > >> <soapenv:Body> > >> > >> <echo xmlns="http://optagelse.dk/2008/11/16"> > >> > >> <hello>Champ</hello> > >> > >> </echo> > >> > >> </soapenv:Body> > >> > >> </soapenv:Envelope> > >> > >> > >> > >> And this results in the param being null in the method > >> > >> > >> > >> The problem is that the param only works when it is given without > >> namespace. > >> > >> ns:hello gives the same result in the first example. > >> > >> > >> > >> Is this not a bug? The schema in the wsdl has targetNamespace set so > > > > you > > > >> would assume that the client namespace on the param would work. > >> > >> > >> > >> /Chr > > > > -- > > Daniel Kulp > > dk...@apache.org > > http://dankulp.com/blog -- Daniel Kulp dk...@apache.org http://dankulp.com/blog