Hi,

I got a question regarding the WSDL generated by CXF:

Using a Java-first approach I want to use the generated WSDL (availabe under 
.../services/...?wsdl) to give third-party systems an description of my web 
service methods. But the WSDL looks very poor, because the Method/Operation 
Parameters are missing:

<wsdl:definitions name="RepurchaseResellNoReturnRequester" 
targetNamespace="http://www.springframework.org/schema/beans";>
        <wsdl:import 
location="http://x.x.x.x/xyz/services/RepurchaseResellNoReturnRequester?wsdl=RepurchaseResellNoReturnRequester.wsdl";
 namespace="http://repurchaseresellnoreturn.xyz.de/";>
        </wsdl:import>
                <wsdl:binding 
name="RepurchaseResellNoReturnRequesterSoapBinding" 
type="ns1:RepurchaseResellNoReturnRequester">
                        <soap:binding style="document" 
transport="http://schemas.xmlsoap.org/soap/http"/>
                                <wsdl:operation name="resell1">
                                        <soap:operation soapAction="" 
style="document"/>
                                        <wsdl:input name="resell1">
                                                <soap:body use="literal"/>
                                        </wsdl:input>
                                        <wsdl:output name="resell1Response">
                                                <soap:body use="literal"/>
                                        </wsdl:output>
                                </wsdl:operation>
[...]

Here is the Java Source:

@WebService
public interface RepurchaseResellNoReturnRequester

[...]

@WebResult(name = "out", targetNamespace = "")
    @RequestWrapper(localName = "resell1", targetNamespace = 
"http://repurchaseresellnoreturn.xyz.de";)
    @WebMethod(operationName = "resell1")
    @ResponseWrapper(localName = "resell1", targetNamespace = 
"http://repurchaseresellnoreturn.xyz.de";)
    VORepurchaseResellNoReturnTransferContainer resell(@WebParam(name = "in0", 
targetNamespace = "") String fileNumber,
            @WebParam(name = "in1", targetNamespace = "") Date salesDate,
            @WebParam(name = "in2", targetNamespace = "") BigDecimal salesPrice,
            @WebParam(name = "in3", targetNamespace = "") String 
resellingCenter,
            @WebParam(name = "in4", targetNamespace = "") String centerIdType,
            @WebParam(name = "in5", targetNamespace = "") String sourceSystem);

And here is a part of the services.xml:

<bean id="aegisBean" class="org.apache.cxf.aegis.databinding.AegisDatabinding"
                scope="prototype" />

        <bean id="jaxws-and-aegis-service-factory" 
class="org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean"
                scope="prototype">
                <property name="dataBinding" ref="aegisBean" />
        </bean>

<jaxws:endpoint serviceName="RepurchaseResellNoReturnRequester"
                address="/RepurchaseResellNoReturnRequester">
                <jaxws:implementor>
                        <bean
                                
class="de.xyz.repurchaseresellnoreturn.impl.RepurchaseResellNoReturnRequesterImpl"
 />
                </jaxws:implementor>
                <jaxws:serviceFactory>
                        <ref bean='jaxws-and-aegis-service-factory' />
                </jaxws:serviceFactory>

        </jaxws:endpoint>

Has anyone an idea, what I can do? I previouisly used XFire for the same Source 
and got an WSDL with definitions of all Parameters.

Thanks in advance!
André

Reply via email to