cxf-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From jan.minarovi...@external.t-mobile.at
Subject Antwort: RE: Output wsdl missing the imported xsd [Virus checked]
Date Thu, 24 Jul 2008 18:55:21 GMT
could you try to validate your wsdl first e.g. using "WS-I Testing Tools"?




"Santosh Kulkarni" <skulkarn@jcpenney.com> 
07/24/2008 20:22
Bitte antworten an
users@cxf.apache.org


An
<users@cxf.apache.org>
Kopie

Thema
RE: Output wsdl missing the imported xsd  [Virus checked]






Thanks for the replies Daniel and Jano.

Daniel: I tried putting this in my spring configuration the wsdl
location being the changed part and I get errors.

<jaxws:endpoint 
        id="doubleit"
        implementor="com.jcpenney.DoubleIt"
        wsdlLocation="WEB-INF/wsdl/doubleIt.wsdl"
        address="/DoubleIt">
    </jaxws:endpoint>




Caused by: org.apache.cxf.service.factory.ServiceConstructionException:
Could not find definition for service
{http://jcpenney.com/}DoubleItService.
                 at
org.apache.cxf.wsdl11.WSDLServiceFactory.create(WSDLServiceFactory.java:
114)
                 at
org.apache.cxf.service.factory.ReflectionServiceFactoryBean.buildService
FromWSDL(ReflectionServiceFactoryBean.java:276)
                 at
org.apache.cxf.service.factory.ReflectionServiceFactoryBean.initializeSe
rviceModel(ReflectionServiceFactoryBean.java:368)
                 at
org.apache.cxf.service.factory.ReflectionServiceFactoryBean.create(Refle
ctionServiceFactoryBean.java:162)
                 at
org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean.create(JaxWsService
FactoryBean.java:97)
                 at
org.apache.cxf.frontend.AbstractWSDLBasedEndpointFactory.createEndpoint(
AbstractWSDLBasedEndpointFactory.java:74)
                 at
org.apache.cxf.frontend.ServerFactoryBean.create(ServerFactoryBean.java:
114)
                 at
org.apache.cxf.jaxws.JaxWsServerFactoryBean.create(JaxWsServerFactoryBea
n.java:160)
                 at
org.apache.cxf.jaxws.EndpointImpl.getServer(EndpointImpl.java:313)
                 at
org.apache.cxf.jaxws.EndpointImpl.doPublish(EndpointImpl.java:235)
                 ... 39 more


-----Original Message-----
From: Daniel Kulp [mailto:dkulp@apache.org] 
Sent: Wednesday, July 23, 2008 2:17 PM
To: users@cxf.apache.org
Subject: Re: Output wsdl missing the imported xsd


You aren't specifying a wsdlLocation when you are deploying.   Check 
you @WebService annotation to see if there is a wsdlLocation and/or 
add the wsdlLocation attribute to the spring configuration you are 
using to configure your service.

Dan



On Jul 23, 2008, at 2:56 PM, Santosh Kulkarni wrote:

> Is there a way I can output the exact wsdl that I started with?
> I am using contract first method to generate the web service with 
> CXF 2.0.6 and Spring.
> The web service is working but when I get the wsdl by using "?wsdl" 
> it is missing the type information.
> Using the maven plugin to generate sources and running it on tomcat 
> 5.5 inside of eclipse.
>
> Starting wsdl
>
> <?xml version="1.0" encoding="UTF-8"?>
> <wsdl:definitions name="DoubleIt"
>    xmlns:xsd="http://www.w3.org/2001/XMLSchema"
>    xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
>    xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
>    xmlns:tns="http://www.jcpenney.com/DoubleIt"
>    targetNamespace="http://www.jcpenney.com/DoubleIt">
>    <wsdl:types>
>    <xsd:schema targetNamespace="http://www.jcpenney.com/ 
> PaymentService">
>
>             <xsd:import namespace="http://www.jcpenney.com/ 
> PaymentXsd" schemaLocation="DoubleIt.xsd"/>
>
>         </xsd:schema>
>
>    </wsdl:types>
>    <wsdl:message name="DoubleItRequest">
>       <wsdl:part element="tns:DoubleIt" name="parameters" />
>    </wsdl:message>
>    <wsdl:message name="DoubleItResponse">
>       <wsdl:part element="tns:DoubleItResponse" name="parameters" />
>    </wsdl:message>
>    <wsdl:portType name="DoubleItPortType">
>       <wsdl:operation name="DoubleIt">
>          <wsdl:input message="tns:DoubleItRequest" />
>          <wsdl:output message="tns:DoubleItResponse" />
>       </wsdl:operation>
>    </wsdl:portType>
>    <wsdl:binding name="DoubleItBinding" type="tns:DoubleItPortType">
>       <soap:binding style="document"
>          transport="http://schemas.xmlsoap.org/soap/http" />
>       <wsdl:operation name="DoubleIt">
>          <soap:operation soapAction=""/>
>          <wsdl:input><soap:body use="literal"/></wsdl:input>
>          <wsdl:output><soap:body use="literal"/></wsdl:output>
>       </wsdl:operation>
>    </wsdl:binding>
>    <wsdl:service name="DoubleItService">
>       <wsdl:port name="DoubleItPort" binding="tns:DoubleItBinding">
>          <soap:address
>             location="http://localhost:8080/payment/doubleit"/>
>       </wsdl:port>
>    </wsdl:service>
> </wsdl:definitions>
>
>
>
> Wsdl from the "?wsdl"
>
> <?xml version='1.0' encoding='UTF-8'?><wsdl:definitions 
> name="DoubleItServiceService" targetNamespace="http://jcpenney.com/" 
> xmlns:ns1="http://www.jcpenney.com/DoubleIt"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/ 
> " xmlns:tns="http://jcpenney.com/"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/ 
> " xmlns:xsd="http://www.w3.org/2001/XMLSchema">
>   <wsdl:import
location="http://localhost:8080/payment/DoubleItService?wsdl=DoubleItPor
tType.wsdl 
> " namespace="http://www.jcpenney.com/DoubleIt">
>     </wsdl:import>
>   <wsdl:binding name="DoubleItServiceServiceSoapBinding" 
> type="ns1:DoubleItPortType">
>     <soap:binding style="document"
transport="http://schemas.xmlsoap.org/soap/http 
> " />
>     <wsdl:operation name="DoubleIt">
>       <soap:operation soapAction="" style="document" />
>       <wsdl:input name="DoubleIt">
>         <soap:body use="literal" />
>       </wsdl:input>
>       <wsdl:output name="DoubleItResponse">
>         <soap:body use="literal" />
>       </wsdl:output>
>     </wsdl:operation>
>   </wsdl:binding>
>   <wsdl:service name="DoubleItServiceService">
>     <wsdl:port binding="tns:DoubleItServiceServiceSoapBinding" 
> name="DoubleItServicePort">
>       <soap:address
location="http://localhost:8080/payment/DoubleItService 
> " />
>     </wsdl:port>
>   </wsdl:service>
> </wsdl:definitions>
>
>
>
>
>
>
> The information transmitted is intended only for the person or 
> entity to
> which it is addressed and may contain confidential and/or privileged
> material.  If the reader of this message is not the intended 
> recipient,
> you are hereby notified that your access is unauthorized, and any 
> review,
> dissemination, distribution or copying of this message including any
> attachments is strictly prohibited.   If you are not the intended
> recipient, please contact the sender and delete the material from any
> computer.

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




The information transmitted is intended only for the person or entity to
which it is addressed and may contain confidential and/or privileged
material.  If the reader of this message is not the intended recipient,
you are hereby notified that your access is unauthorized, and any review,
dissemination, distribution or copying of this message including any
attachments is strictly prohibited.   If you are not the intended
recipient, please contact the sender and delete the material from any
computer.


Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message