Thanks Daniel.
So I added the wsdllocation attribute and now I get this error on deploying:
Invocation of init method failed; nested exception is
javax.xml.ws.WebServiceException:
org.apache.cxf.service.factory.ServiceConstructionException: Could not find
definition for service {http://_
2011_05_27.exemptcert.services.tax.sabrix.com/}CreateUpdateExemptionCertificatePortTypeImplService
.
The name of my service Impl is: CreateUpdateExemptionCertificatePortTypeImpl
Here's what my bean looks like:
<import resource="classpath:META-INF/cxf/cxf.xml"/>
<import resource="classpath:META-INF/cxf/cxf-extension-soap.xml"/>
<import resource="classpath:META-INF/cxf/cxf-servlet.xml"/>
<bean id="createUpdateExemptionCertificatePortTypeImpl"
class="com.sabrix.tax.services.exemptcert._2011_05_27.CreateUpdateExemptionCertificatePortTypeImpl">
<property name="merchantFinder" ref="MerchantFinder"/>
</bean>
<jaxws:endpoint id="createUpdateExemptionCertificateEndPoint"
implementor="#createUpdateExemptionCertificatePortTypeImpl"
address="/exemptioncertificateservice/2011-05-27/createupdateexemptioncertificate"
wsdlLocation="ExemptionCertificateService.wsdl">
<jaxws:properties>
<entry key="schema-validation-enabled" value="true"/>
</jaxws:properties>
<jaxws:schemaLocations>
<jaxws:schemaLocation>ExemptionCertificateService.xsd</jaxws:schemaLocation>
</jaxws:schemaLocations>
</jaxws:endpoint>
Any idea what I'm missing now?
Thanks,
Dipti
On Wed, Jan 19, 2011 at 2:27 PM, Daniel Kulp <[email protected]> wrote:
> On Wednesday 19 January 2011 4:46:06 pm diptiv wrote:
> > Daniel,
> >
> > Thanks for your prompt reply. You are exactly correct. I see in my logs
> > that:
> > "Creating Service {namespace}name from class com.foo.blah.Snarf"
> > Can you please tell me where in my bean file should I put the
> wsdlocation?
>
>
>
> <jaxws:endpoint id="createUpdateExemptionCertificateEndPoint"
> implementor="#createUpdateExemptionCertificatePortTypeImpl"
> wsdlLocation="MyWsdl.wsdl"
> address="/exemptioncertificateservice/20....."
> >
> etc....
>
>
> > Another thing I just noted was:
> > If I include in my spring bean file for the service the schema location
> > with the XSD name, I can see the documentation from the XSD...
>
> Yep. In this case, you aren't using your wsdl. You are still in a code
> first
> scenario, but it's generating a wsdl and using existing schema.
>
> Dan
>
>
> >
> > Here's what my bean config looks like:
> >
> > <jaxws:endpoint id="createUpdateExemptionCertificateEndPoint"
> > implementor="#createUpdateExemptionCertificatePortTypeImpl"
> >
> >
> address="/exemptioncertificateservice/2011-05-27/createupdateexemptioncert
> > ificate"> <jaxws:properties>
> > <entry key="schema-validation-enabled" value="true"/>
> > </jaxws:properties>
> > <jaxws:schemaLocations>
> >
> >
> <jaxws:schemaLocation>ExemptionCertificateService.xsd</jaxws:schemaLocatio
> > n> <jaxws:schemaLocation>ExemptionCertificate.xsd</jaxws:schemaLocation>
> > <jaxws:schemaLocation>Customer.xsd</jaxws:schemaLocation>
> > <jaxws:schemaLocation>Money.xsd</jaxws:schemaLocation>
> > <jaxws:schemaLocation>CustomerGroup.xsd</jaxws:schemaLocation>
> > </jaxws:schemaLocations>
> > </jaxws:endpoint>
> >
> >
> > I really appreciate your input.
> >
> > Thanks,
> > Dipti
> >
> > On Wed, Jan 19, 2011 at 12:44 PM, Daniel Kulp [via CXF] <
> > [email protected]<ml-node%[email protected]>
> <ml-node%2B3348517-152437548-
> > [email protected]>
> >
> > > wrote:
> > > On Wednesday 19 January 2011 2:33:41 pm diptiv wrote:
> > > > I'm using CXF and wsdl2java to generate my java docs.
> > > > The WSDL importes a XSD:
> > > >
> > > > <xs:include schemaLocation="ExemptionCertificateService.xsd"/>
> > > >
> > > > When the wsdl is served up, I see the WSDL has an import location
> which
> > > > points to the CXF generated WSDL.
> > >
> > >
> http://localhost:8080/service/operation?wsdl=CreateUpdateExemptionCertifi
> > > ca
> > >
> > > > tePortType.wsdl I was happy to see my schema inlined in the generated
> > >
> > > WSDL.
> > >
> > > If it's inlined, I'm pretty sure it's not using your wsdl at runtime.
> > > Can
> > >
> > > you check the logs for the server. Look for a line like:
> > >
> > > "Creating Service {namespace}name from WSDL: /path/to/wsdl"
> > > or
> > > "Creating Service {namespace}name from class com.foo.blah.Snarf"
> > >
> > > My gut feeling it that it's the latter which means it's a code first
> > > scenario
> > > and the WSDL isn't being picked up. Make sure your spring config
> > > specifies
> > > a wsdlLocation or use the wsdlLocation attribute on the @WebService
> > > annotation
> > > on the implementation bean.
> > >
> > > Dan
> > >
> > > > But I could not see the schema annotations in this inlined XSD.
> > > >
> > > > My XSD has:
> > > > <xs:complexType name="ExemptionCertificate">
> > > > xs:annotation>
> > > > <xs:documentation>
> > > > <![CDATA[
> > > >
> > > > An Exemption Certificate is a document that is issued
> > > > by
> > >
> > > a
> > >
> > > > taxing authority that provides ..a ]]>
> > > > </xs:documentation>
> > > > </xs:annotation>
> > > > ...</complexType>
> > > >
> > > > Is it possible to see the documentation in the generated WSDL?
> > >
> > > --
> > > Daniel Kulp
> > > [hidden email] <http://user/SendEmail.jtp?type=node&node=3348517&i=0>
> > > http://dankulp.com/blog
> > >
> > >
> > > ------------------------------
> > >
> > > If you reply to this email, your message will be added to the
> discussion
> > >
> > > below:
> > >
> > >
> http://cxf.547215.n5.nabble.com/How-to-include-Schema-Annotation-Document
> > > ation-in-the-WSDL-tp3348398p3348517.html To unsubscribe from How to
> > > include Schema Annotation/Documentation in the WSDL, click
> > > here<
> http://cxf.547215.n5.nabble.com/template/NamlServlet.jtp?macro=unsu
> > >
> bscribe_by_code&node=3348398&code=ZHZhaWR5YUBnbWFpbC5jb218MzM0ODM5OHwxMjg
> > > zNjM1Mzg1>.
> >
> > --
>
> --
> Daniel Kulp
> [email protected]
> http://dankulp.com/blog
>
--