It has to do with the namespaces.....    

The @WebService annotation on the "impl" class likely either doesn't have a 
targetNamespace attribute (in which case it will derive from the package name 
for the impl) or it's different than the targetNamespace for the SEI 
interface.    Thus, the WSDL get's "split" with the stuff from the SEI going 
into one (the portType and messages and such) and the stuff from the service 
impl (binding and service) going into the other.   This is correct per jaxws 
spec.

The easy "fix" is to add a targetNamespace attribute to the @WebService 
annotation  to make it match the SEI.

Dan


On Wednesday, September 28, 2011 1:50:52 PM [email protected] wrote:
> Hi Freeman,
> 
> thank you very much!!!
> 
> After using http://x.x.x.x/xyz/services/RepurchaseResellNoReturnRequester?
> wsdl=RepurchaseResellNoReturnRequester.wsdl instead of
> http://x.x.x.x/xyz/services/
 RepurchaseResellNoReturnRequester?wsdl I got
> the complete WSDL.
> 
> I thought the "?wsdl" after the Service name is enough to get the complete
> WSDL. Why do I get only the binding part? That is diffenrent to the XFire
> behaviour or different to many other Web Services I know. However...with
> the other URL I got the complete WSDL and that´s wat I need. Thanks again!
> 
> Greetings
> André
> 
> -----Ursprüngliche Nachricht-----
> Von: Freeman Fang [mailto:[email protected]]
> Gesendet: Mittwoch, 28. September 2011 12:17
> An: [email protected]
> Betreff: Re: AW: Missing Method/Opeartion Parameters in WSDL
> 
> No, it's not the complete wsdl, there must be wsdl:types and wsdl:messages
> and wsdl:portType in <wsdl:import location="http://x.x.x.x/xyz/services/
> RepurchaseResellNoReturnRequester?
> wsdl=RepurchaseResellNoReturnRequester.wsdl"
> namespace="http://repurchaseresellnoreturn.xyz.de/
 ">
> You can find your parameters from wsdl:types.
> 
> Freeman
> On 2011-9-28, at 下午5:49, <[email protected]> <Andre.Janus@t-systems
> .com> wrote:
 
> 
> > Hello Freeman,
> >
> >
> >
> > here´s the complete WSDL:
> >
> >
> >
> > <?xml version='1.0' encoding='UTF-8'?><wsdl:definitions
> > name="RepurchaseResellNoReturnRequester"
> > targetNamespace="http://www.springframework.org/schema/beans
> > " xmlns:ns1="http://repurchaseresellnoreturn.xyz.de/";
> > xmlns:ns3="http://schemas.xmlsoap.org/soap/http
> > " xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/";
> > xmlns:tns="http://www.springframework.org/schema/beans
> > " xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/";
> > xmlns:xsd="http://www.w3.org/2001/XMLSchema
> > ">
> > 
> >  <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>
> >    <wsdl:operation name="resell">
> >    
> >      <soap:operation soapAction="" style="document"/>
> >      <wsdl:input name="resell">
> >      
> >        <soap:body use="literal"/>
> >      
> >      </wsdl:input>
> >      <wsdl:output name="resellResponse">
> >      
> >        <soap:body use="literal"/>
> >      
> >      </wsdl:output>
> >    
> >    </wsdl:operation>
> >    <wsdl:operation name="closeWithNoResale1">
> >    
> >      <soap:operation soapAction="" style="document"/>
> >      <wsdl:input name="closeWithNoResale1">
> >      
> >        <soap:body use="literal"/>
> >      
> >      </wsdl:input>
> >      <wsdl:output name="closeWithNoResale1Response">
> >      
> >        <soap:body use="literal"/>
> >      
> >      </wsdl:output>
> >    
> >    </wsdl:operation>
> >    <wsdl:operation name="closeWithNoResale2">
> >    
> >      <soap:operation soapAction="" style="document"/>
> >      <wsdl:input name="closeWithNoResale2">
> >      
> >        <soap:body use="literal"/>
> >      
> >      </wsdl:input>
> >      <wsdl:output name="closeWithNoResale2Response">
> >      
> >        <soap:body use="literal"/>
> >      
> >      </wsdl:output>
> >    
> >    </wsdl:operation>
> >    <wsdl:operation name="cancelResell1">
> >    
> >      <soap:operation soapAction="" style="document"/>
> >      <wsdl:input name="cancelResell1">
> >      
> >        <soap:body use="literal"/>
> >      
> >      </wsdl:input>
> >      <wsdl:output name="cancelResell1Response">
> >      
> >        <soap:body use="literal"/>
> >      
> >      </wsdl:output>
> >    
> >    </wsdl:operation>
> >    <wsdl:operation name="closeWithNoReturn">
> >    
> >      <soap:operation soapAction="" style="document"/>
> >      <wsdl:input name="closeWithNoReturn">
> >      
> >        <soap:body use="literal"/>
> >      
> >      </wsdl:input>
> >      <wsdl:output name="closeWithNoReturnResponse">
> >      
> >        <soap:body use="literal"/>
> >      
> >      </wsdl:output>
> >    
> >    </wsdl:operation>
> >    <wsdl:operation name="closeWithNoReturn21">
> >    
> >      <soap:operation soapAction="" style="document"/>
> >      <wsdl:input name="closeWithNoReturn21">
> >      
> >        <soap:body use="literal"/>
> >      
> >      </wsdl:input>
> >      <wsdl:output name="closeWithNoReturn21Response">
> >      
> >        <soap:body use="literal"/>
> >      
> >      </wsdl:output>
> >    
> >    </wsdl:operation>
> >    <wsdl:operation name="cancelRepurchase1">
> >    
> >      <soap:operation soapAction="" style="document"/>
> >      <wsdl:input name="cancelRepurchase1">
> >      
> >        <soap:body use="literal"/>
> >      
> >      </wsdl:input>
> >      <wsdl:output name="cancelRepurchase1Response">
> >      
> >        <soap:body use="literal"/>
> >      
> >      </wsdl:output>
> >    
> >    </wsdl:operation>
> >    <wsdl:operation name="repurchase1">
> >    
> >      <soap:operation soapAction="" style="document"/>
> >      <wsdl:input name="repurchase1">
> >      
> >        <soap:body use="literal"/>
> >      
> >      </wsdl:input>
> >      <wsdl:output name="repurchase1Response">
> >      
> >        <soap:body use="literal"/>
> >      
> >      </wsdl:output>
> >    
> >    </wsdl:operation>
> >    <wsdl:operation name="cancelCloseWithNoReturn">
> >    
> >      <soap:operation soapAction="" style="document"/>
> >      <wsdl:input name="cancelCloseWithNoReturn">
> >      
> >        <soap:body use="literal"/>
> >      
> >      </wsdl:input>
> >      <wsdl:output name="cancelCloseWithNoReturnResponse">
> >      
> >        <soap:body use="literal"/>
> >      
> >      </wsdl:output>
> >    
> >    </wsdl:operation>
> >    <wsdl:operation name="cancelCloseWithNoResale">
> >    
> >      <soap:operation soapAction="" style="document"/>
> >      <wsdl:input name="cancelCloseWithNoResale">
> >      
> >        <soap:body use="literal"/>
> >      
> >      </wsdl:input>
> >      <wsdl:output name="cancelCloseWithNoResaleResponse">
> >      
> >        <soap:body use="literal"/>
> >      
> >      </wsdl:output>
> >    
> >    </wsdl:operation>
> >    <wsdl:operation name="cancelCloseWithNoResale1">
> >    
> >      <soap:operation soapAction="" style="document"/>
> >      <wsdl:input name="cancelCloseWithNoResale1">
> >      
> >        <soap:body use="literal"/>
> >      
> >      </wsdl:input>
> >      <wsdl:output name="cancelCloseWithNoResale1Response">
> >      
> >        <soap:body use="literal"/>
> >      
> >      </wsdl:output>
> >    
> >    </wsdl:operation>
> >    <wsdl:operation name="close1">
> >    
> >      <soap:operation soapAction="" style="document"/>
> >      <wsdl:input name="close1">
> >      
> >        <soap:body use="literal"/>
> >      
> >      </wsdl:input>
> >      <wsdl:output name="close1Response">
> >      
> >        <soap:body use="literal"/>
> >      
> >      </wsdl:output>
> >    
> >    </wsdl:operation>
> >    <wsdl:operation name="cancelCloseWithNoResale2">
> >    
> >      <soap:operation soapAction="" style="document"/>
> >      <wsdl:input name="cancelCloseWithNoResale2">
> >      
> >        <soap:body use="literal"/>
> >      
> >      </wsdl:input>
> >      <wsdl:output name="cancelCloseWithNoResale2Response">
> >      
> >        <soap:body use="literal"/>
> >      
> >      </wsdl:output>
> >    
> >    </wsdl:operation>
> >    <wsdl:operation name="cancelCloseWithNoReturn21">
> >    
> >      <soap:operation soapAction="" style="document"/>
> >      <wsdl:input name="cancelCloseWithNoReturn21">
> >      
> >        <soap:body use="literal"/>
> >      
> >      </wsdl:input>
> >      <wsdl:output name="cancelCloseWithNoReturn21Response">
> >      
> >        <soap:body use="literal"/>
> >      
> >      </wsdl:output>
> >    
> >    </wsdl:operation>
> >    <wsdl:operation name="close">
> >    
> >      <soap:operation soapAction="" style="document"/>
> >      <wsdl:input name="close">
> >      
> >        <soap:body use="literal"/>
> >      
> >      </wsdl:input>
> >      <wsdl:output name="closeResponse">
> >      
> >        <soap:body use="literal"/>
> >      
> >      </wsdl:output>
> >    
> >    </wsdl:operation>
> >    <wsdl:operation name="repurchase">
> >    
> >      <soap:operation soapAction="" style="document"/>
> >      <wsdl:input name="repurchase">
> >      
> >        <soap:body use="literal"/>
> >      
> >      </wsdl:input>
> >      <wsdl:output name="repurchaseResponse">
> >      
> >        <soap:body use="literal"/>
> >      
> >      </wsdl:output>
> >    
> >    </wsdl:operation>
> >    <wsdl:operation name="cancelResell">
> >    
> >      <soap:operation soapAction="" style="document"/>
> >      <wsdl:input name="cancelResell">
> >      
> >        <soap:body use="literal"/>
> >      
> >      </wsdl:input>
> >      <wsdl:output name="cancelResellResponse">
> >      
> >        <soap:body use="literal"/>
> >      
> >      </wsdl:output>
> >    
> >    </wsdl:operation>
> >    <wsdl:operation name="closeWithNoReturn1">
> >    
> >      <soap:operation soapAction="" style="document"/>
> >      <wsdl:input name="closeWithNoReturn1">
> >      
> >        <soap:body use="literal"/>
> >      
> >      </wsdl:input>
> >      <wsdl:output name="closeWithNoReturn1Response">
> >      
> >        <soap:body use="literal"/>
> >      
> >      </wsdl:output>
> >    
> >    </wsdl:operation>
> >    <wsdl:operation name="closeWithNoReturn2">
> >    
> >      <soap:operation soapAction="" style="document"/>
> >      <wsdl:input name="closeWithNoReturn2">
> >      
> >        <soap:body use="literal"/>
> >      
> >      </wsdl:input>
> >      <wsdl:output name="closeWithNoReturn2Response">
> >      
> >        <soap:body use="literal"/>
> >      
> >      </wsdl:output>
> >    
> >    </wsdl:operation>
> >    <wsdl:operation name="cancelCloseWithNoReturn2">
> >    
> >      <soap:operation soapAction="" style="document"/>
> >      <wsdl:input name="cancelCloseWithNoReturn2">
> >      
> >        <soap:body use="literal"/>
> >      
> >      </wsdl:input>
> >      <wsdl:output name="cancelCloseWithNoReturn2Response">
> >      
> >        <soap:body use="literal"/>
> >      
> >      </wsdl:output>
> >    
> >    </wsdl:operation>
> >    <wsdl:operation name="cancelCloseWithNoReturn1">
> >    
> >      <soap:operation soapAction="" style="document"/>
> >      <wsdl:input name="cancelCloseWithNoReturn1">
> >      
> >        <soap:body use="literal"/>
> >      
> >      </wsdl:input>
> >      <wsdl:output name="cancelCloseWithNoReturn1Response">
> >      
> >        <soap:body use="literal"/>
> >      
> >      </wsdl:output>
> >    
> >    </wsdl:operation>
> >    <wsdl:operation name="closeWithNoResale">
> >    
> >      <soap:operation soapAction="" style="document"/>
> >      <wsdl:input name="closeWithNoResale">
> >      
> >        <soap:body use="literal"/>
> >      
> >      </wsdl:input>
> >      <wsdl:output name="closeWithNoResaleResponse">
> >      
> >        <soap:body use="literal"/>
> >      
> >      </wsdl:output>
> >    
> >    </wsdl:operation>
> >    <wsdl:operation name="closeWithNoResale21">
> >    
> >      <soap:operation soapAction="" style="document"/>
> >      <wsdl:input name="closeWithNoResale21">
> >      
> >        <soap:body use="literal"/>
> >      
> >      </wsdl:input>
> >      <wsdl:output name="closeWithNoResale21Response">
> >      
> >        <soap:body use="literal"/>
> >      
> >      </wsdl:output>
> >    
> >    </wsdl:operation>
> >    <wsdl:operation name="cancelCloseWithNoResale21">
> >    
> >      <soap:operation soapAction="" style="document"/>
> >      <wsdl:input name="cancelCloseWithNoResale21">
> >      
> >        <soap:body use="literal"/>
> >      
> >      </wsdl:input>
> >      <wsdl:output name="cancelCloseWithNoResale21Response">
> >      
> >        <soap:body use="literal"/>
> >      
> >      </wsdl:output>
> >    
> >    </wsdl:operation>
> >    <wsdl:operation name="cancelRepurchase">
> >    
> >      <soap:operation soapAction="" style="document"/>
> >      <wsdl:input name="cancelRepurchase">
> >      
> >        <soap:body use="literal"/>
> >      
> >      </wsdl:input>
> >      <wsdl:output name="cancelRepurchaseResponse">
> >      
> >        <soap:body use="literal"/>
> >      
> >      </wsdl:output>
> >    
> >    </wsdl:operation>
> >  
> >  </wsdl:binding>
> >  <wsdl:service name="RepurchaseResellNoReturnRequester">
> >  
> >    <wsdl:port
> > 
> > binding="tns:RepurchaseResellNoReturnRequesterSoapBinding"
> > name="RepurchaseResellNoReturnRequesterImplPort">
> > 
> >      <soap:address location="http://x.x.x.x/xyz/services/
> > 
> > RepurchaseResellNoReturnRequester"/>
> > 
> >    </wsdl:port>
> >  
> >  </wsdl:service>
> > 
> > </wsdl:definitions>
> >
> >
> >
> > -----Ursprüngliche Nachricht-----
> > Von: Freeman Fang [mailto:[email protected]]
> > Gesendet: Mittwoch, 28. September 2011 11:35
> > An: [email protected]
> > Betreff: Re: Missing Method/Opeartion Parameters in WSDL
> >
> >
> >
> > Hi,
> >
> >
> >
> > I can't see the operations parameters are missing, what you pasted
> > here is only the binding part.
> > I believe you can find all your parameters from http://x.x.x.x/xyz/
> > services/RepurchaseResellNoReturnRequester?
> > wsdl=RepurchaseResellNoReturnRequester.wsdl where should have schema
> > and message part.
> >
> >
> >
> > Freeman
> > On 2011-9-28, at 下午4:17, <[email protected]>
> > <Andre.Janus@t-systems .com> wrote:
> >
> >
> >
> >> 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:oper
> >>                               ation
> >>                               name="res
> >>                               ell1">
> >>                               
> >>                                       <
> >>                                       s
> >>                                       o
> >>                                       a
> >>                                       p
> >>                                       :
> >>                                       o
> >>                                       p
> >>                                       e
> >>                                       r
> >>                                       a
> >>                                       t
> >>                                       i
> >>                                       o
> >>                                       n
> >>                                       
> >>                                       s
> >>                                       o
> >>                                       a
> >>                                       p
> >>                                       A
> >>                                       c
> >>                                       t
> >>                                       i
> >>                                       o
> >>                                       n
> >>                                       =
> >>                                       "
> >>                                       "
> >>                                       
> >> 
> >> style="document"/>
> >> 
> >>                                       <
> >>                                       w
> >>                                       s
> >>                                       d
> >>                                       l
> >>                                       :
> >>                                       i
> >>                                       n
> >>                                       p
> >>                                       u
> >>                                       t
> >>                                       
> >>                                       n
> >>                                       a
> >>                                       m
> >>                                       e
> >>                                       =
> >>                                       "
> >>                                       r
> >>                                       e
> >>                                       s
> >>                                       e
> >>                                       l
> >>                                       l
> >>                                       1
> >>                                       "
> >>                                       >
> >>                                       
> >>                                       
> >>                                               <
> >>                                               s
> >>                                               o
> >>                                               a
> >>                                               p
> >>                                               :
> >>                                               b
> >>                                               o
> >>                                               d
> >>                                               y
> >>                                               
> >> 
> >> use="literal"/>
> >> 
> >>                                       <
> >>                                       /
> >>                                       w
> >>                                       s
> >>                                       d
> >>                                       l
> >>                                       :
> >>                                       i
> >>                                       n
> >>                                       p
> >>                                       u
> >>                                       t
> >>                                       >
> >>                                       
> >>                                       <
> >>                                       w
> >>                                       s
> >>                                       d
> >>                                       l
> >>                                       :
> >>                                       o
> >>                                       u
> >>                                       t
> >>                                       p
> >>                                       u
> >>                                       t
> >>                                       
> >> 
> >> name="resell1Response">
> >> 
> >>                                               <
> >>                                               s
> >>                                               o
> >>                                               a
> >>                                               p
> >>                                               :
> >>                                               b
> >>                                               o
> >>                                               d
> >>                                               y
> >>                                               
> >> 
> >> use="literal"/>
> >> 
> >>                                       <
> >>                                       /
> >>                                       w
> >>                                       s
> >>                                       d
> >>                                       l
> >>                                       :
> >>                                       o
> >>                                       u
> >>                                       t
> >>                                       p
> >>                                       u
> >>                                       t
> >>                                       >
> >>                                       
> >>                               
> >>                               </wsdl:ope
> >>                               ration>
> >>                               [...]
> >>
> >>
> >>
> >> 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="/RepurchaseResellNoReturnRequeste
> >>               r">
> >>               <jaxws:implementor>
> >>               
> >>                       <bean
> >>
> >>
> >>
> >> class
> >> =
> >> "de
> >> .xyz
> >> .repurchaseresellnoreturn
> >> .impl.RepurchaseResellNoReturnRequesterImpl" />
> >> 
> >>               </jaxws:implementor>
> >>               <jaxws:serviceFactory>
> >>               
> >>                       <ref
> >>                       bean='jaxws-and-aegis-ser
> >>                       vice-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é
> >>
> >>

-- 
Daniel Kulp
[email protected]
http://dankulp.com/blog
Talend - http://www.talend.com

Reply via email to