You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@cxf.apache.org by Santosh Kulkarni <sk...@jcpenney.com> on 2008/07/23 20:56:10 UTC

Output wsdl missing the imported xsd

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>

 

 

 

 

 

 


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

Posted by Santosh Kulkarni <sk...@jcpenney.com>.
I checked and yes there was a typo. I started from scratch again
following the steps in http://www.jroller.com/gmazza/date/20080417 and
it worked. 
Thanks for pointing me in the right direction.

-----Original Message-----
From: jan.minaroviech@external.t-mobile.at
[mailto:jan.minaroviech@external.t-mobile.at] 
Sent: Thursday, July 24, 2008 1:55 PM
To: users@cxf.apache.org
Cc: users@cxf.apache.org
Subject: Antwort: RE: Output wsdl missing the imported xsd [Virus
checked]

could you try to validate your wsdl first e.g. using "WS-I Testing
Tools"?




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


An
<us...@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.


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

Posted by ja...@external.t-mobile.at.
could you try to validate your wsdl first e.g. using "WS-I Testing Tools"?




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


An
<us...@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.


RE: Output wsdl missing the imported xsd

Posted by Santosh Kulkarni <sk...@jcpenney.com>.
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





Re: Output wsdl missing the imported xsd

Posted by Daniel Kulp <dk...@apache.org>.
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=DoubleItPortType.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





Antwort: Output wsdl missing the imported xsd [Virus checked]

Posted by ja...@external.t-mobile.at.
Hi,

did you send complete input wsdl? I cannot see elements definition there.

best regards
jano




"Santosh Kulkarni" <sk...@jcpenney.com> 
07/23/2008 20:56
Bitte antworten an
users@cxf.apache.org


An
<us...@cxf.apache.org>
Kopie

Thema
Output wsdl missing the imported xsd  [Virus checked]






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=DoubleItPortType.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.