cxf-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Daniel Kulp <dk...@apache.org>
Subject Re: How to use xmlbeans databinding in CXF wsdl2java?
Date Fri, 20 May 2011 02:41:42 GMT

This looks like a bug in the XMLBeans databinding.   It looks like it cannot 
handle the collections/arrays for the unwrapping cases.  Can you log an issue?

You can flip it to BARE mode by creating a small binding file containing:

<jaxws:bindings
    wsdlLocation="CustomerService.wsdl"
    xmlns:jaxws="http://java.sun.com/xml/ns/jaxws">
    <jaxws:enableWrapperStyle>false</jaxws:enableWrapperStyle>
</jaxws:bindings>

and passing that to wsdl2java via the -b flag.   That would force the BARE 
mode and wouldn't attempt the unwrapping.

Dan




On Thursday, May 19, 2011 3:43:56 PM Chun Zhang wrote:
> Hello,
> 
> I need to generate Java code using CXF wsdl2java with xmlbeans databinding.
> 
> I tried it using the CustomerService.wsdl file from the wsdl_first sample.
> See attached file.
> 
> I got the following generated code for the CustomerService interface.  Here
> is partial code. See attached CustomerService.java file for complete code
> listing.
> 
> @WebService(targetNamespace = "http://customerservice.example.com/", name =
> "CustomerService")
> @DataBinding(org.apache.cxf.xmlbeans.XmlBeansDataBinding.class)
> public interface CustomerService {
> 
>     @WebResult(name = "return", targetNamespace = "")
>     @RequestWrapper(localName = "getCustomersByName", targetNamespace =
> "http://customerservice.example.com/", className =
> "com.example.customerservice.GetCustomersByNameDocument")
>     @WebMethod
>     @ResponseWrapper(localName = "getCustomersByNameResponse",
> targetNamespace = "http://customerservice.example.com/", className =
> "com.example.customerservice.GetCustomersByNameResponseDocument")
>     public com.example.customerservice.Customer getCustomersByName(
>         @WebParam(name = "name", targetNamespace = "")
>         String name
>     ) throws NoSuchCustomerException;
> }
> 
> Note that in the generated code, the getCustomersByName () method returns
> Customer object. Based on the CusotmerService.wsdl, it should return a list
> of Customers or the wrapper GetCustomersByNameResponse object.  What can I
> do to make wsdl2java generate the correct interface.
> 
> Thank you for your help!
> Regards,
> Chun Zhang

-- 
Daniel Kulp
dkulp@apache.org
http://dankulp.com/blog
Talend - http://www.talend.com

Mime
View raw message