I'm over my head.

On Fri, Dec 19, 2008 at 10:04 AM, Christian Landbo Frederiksen
<[email protected]> wrote:
>
>
>    <jaxws:endpoint
>        id="EchoService"
>        implementor="dk.something.EchoServiceImpl"
>        address="/EchoService">
>    </jaxws:endpoint>
>
>
> The EchoService class:
>
> @WebService(name="EchoService", targetNamespace="http://echo/2008/11/16";)
> public interface EchoService {
>
>        @WebMethod
>        public String echo(
>                                @WebParam(name = "hello") String hello) throws 
> WebServiceException ;
>
> ...
>
> The EchoServiceImpl class:
>
>
> @WebService(endpointInterface = "dk.something.EchoService", serviceName = 
> "EchoService", targetNamespace = "http://echo/2008/11/16";)
> public class EchoServiceImpl implements EchoService {
>
>        @Resource
>        private WebServiceContext context;
>
>        public String echo(String hello) throws WebServiceException {
>
> ....
>
>
>
> -----Original Message-----
> From: Benson Margulies [mailto:[email protected]]
> Sent: 19. december 2008 15:53
> To: [email protected]
> Subject: Re: Figuring out why params turn to null
>
> Hmm. Can I see your spring endpoint configuration?
>
> On Fri, Dec 19, 2008 at 9:32 AM, Christian Landbo Frederiksen
> <[email protected]> wrote:
>> Yes that is exactly the situation.
>>
>> And yes the package-info.class is right there next to the other classes.
>>
>> It is not mentioned anywhere in any spring xml file.
>>
>> /Chr
>>
>>
>> -----Original Message-----
>> From: Benson Margulies [mailto:[email protected]]
>> Sent: 19. december 2008 15:22
>> To: [email protected]
>> Subject: Re: Figuring out why params turn to null
>>
>> So, the net is that you add the package-info.java, compile it, and the
>> wsdl from ?wsdl does not change? You're sure that the
>> package-info.class is sitting there with your other .class files?
>>
>> Dan, am I missing something? Is there a JAX-WS versus JAX-B issue here?
>>
>> On Fri, Dec 19, 2008 at 9:11 AM, Christian Landbo Frederiksen
>> <[email protected]> wrote:
>>> Version 2.1
>>>
>>> We don't use java2wsdl directly.
>>>
>>> We use Spring and the jaxws:endpoint tag
>>>
>>> /Chr
>>>
>>>
>>>
>>> -----Original Message-----
>>> From: Benson Margulies [mailto:[email protected]]
>>> Sent: 19. december 2008 14:43
>>> To: [email protected]
>>> 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
>>> <[email protected]> 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:[email protected]]
>>>> Sent: 15. december 2008 17:52
>>>> To: [email protected]
>>>> 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
>>>> [email protected]
>>>> http://dankulp.com/blog
>>>>
>>>
>>
>

Reply via email to