UPDATE: I figured out the cause of my "service not found" error. I was missing the ServiceName attribute in my @WebService in the Impl code.
Thanks, Dipti On Wed, Jan 19, 2011 at 3:06 PM, dipti vaidya <[email protected]> wrote: > 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<http://2011_05_27.exemptcert.services.tax.sabrix.com/%7DCreateUpdateExemptionCertificatePortTypeImplService> > . > > > 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 >> > > > > -- > -- I love being married. It's so great to find that one special person you want to annoy for the rest of your life.
