You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@cxf.apache.org by Darrell Esau <da...@gmail.com> on 2009/10/12 07:52:48 UTC

No WSDL displayed using HTTP Servlet Transport

Hi all,
I'm following the "A simple JAX-WS service" section from the overview,
piecing together bits from the "Servlet Transport" doc.
I'm not using Spring.

I've created a simple web service.  The class name is "BaseService".

I created a class "WebServicePublisher", which extends
CXFNonSpringServlet.  There's one method, the overridden loadBus
method.  That method has the following code:

  super.loadBus(servletConfig);
  Bus bus = this.getBus();
  BusFactory.setDefaultBus(bus);
  Endpoint.publish("BaseService", new BaseService());

In my web.xml, I added:

  <servlet-mapping>
    <servlet-name>WebServicePublisher</servlet-name>
    <url-pattern>/WSPub</url-pattern>
  </servlet-mapping>

When I start tomcat and navigate to /contextname/WSPub, I see a page
titled "CXF - Service list", which shows my the "BaseService" and the
public methods in that class.

Great so far.

However, there's a WSDL link, which I click on that, it goes to:
/contextname/BaseService?wsdl

Which gives me a 404 error.  And rightly so .. there's nothing in my
web.xml that configured that URL.

What am I missing?

-d

Re: No WSDL displayed using HTTP Servlet Transport

Posted by Darrell Esau <da...@gmail.com>.
Thanks Dan!
That got it working for me -- I just wasn't using the correct URL.

I'm using 2.2.3, looking good now!

-d


On Mon, Oct 12, 2009 at 10:04 AM, Daniel Kulp <dk...@apache.org> wrote:

>
> What version of CXF?
>
> It SHOULD be at:
> /contextname/WSPub/BaseService?wsdl
>
> and there was a bug in some of the earlier versions of CXF that if you went
> to:
> /contextname/WSPub
> it was wrong, but:
> /contextname/WSPub/
> would be correct.
>
> In anycase, definitely try 2.2.3 (or 2.2.4 which should hit maven central
> tonight and be officially released/announced tomorrow).
>
> Dan
>
>
> On Mon October 12 2009 1:52:48 am Darrell Esau wrote:
> > Hi all,
> > I'm following the "A simple JAX-WS service" section from the overview,
> > piecing together bits from the "Servlet Transport" doc.
> > I'm not using Spring.
> >
> > I've created a simple web service.  The class name is "BaseService".
> >
> > I created a class "WebServicePublisher", which extends
> > CXFNonSpringServlet.  There's one method, the overridden loadBus
> > method.  That method has the following code:
> >
> >   super.loadBus(servletConfig);
> >   Bus bus = this.getBus();
> >   BusFactory.setDefaultBus(bus);
> >   Endpoint.publish("BaseService", new BaseService());
> >
> > In my web.xml, I added:
> >
> >   <servlet-mapping>
> >     <servlet-name>WebServicePublisher</servlet-name>
> >     <url-pattern>/WSPub</url-pattern>
> >   </servlet-mapping>
> >
> > When I start tomcat and navigate to /contextname/WSPub, I see a page
> > titled "CXF - Service list", which shows my the "BaseService" and the
> > public methods in that class.
> >
> > Great so far.
> >
> > However, there's a WSDL link, which I click on that, it goes to:
> > /contextname/BaseService?wsdl
> >
> > Which gives me a 404 error.  And rightly so .. there's nothing in my
> > web.xml that configured that URL.
> >
> > What am I missing?
> >
> > -d
> >
>
> --
> Daniel Kulp
> dkulp@apache.org
> http://www.dankulp.com/blog
>

Re: No WSDL displayed using HTTP Servlet Transport

Posted by Daniel Kulp <dk...@apache.org>.
What version of CXF? 

It SHOULD be at:
/contextname/WSPub/BaseService?wsdl

and there was a bug in some of the earlier versions of CXF that if you went 
to:
/contextname/WSPub
it was wrong, but:
/contextname/WSPub/
would be correct.

In anycase, definitely try 2.2.3 (or 2.2.4 which should hit maven central 
tonight and be officially released/announced tomorrow).

Dan


On Mon October 12 2009 1:52:48 am Darrell Esau wrote:
> Hi all,
> I'm following the "A simple JAX-WS service" section from the overview,
> piecing together bits from the "Servlet Transport" doc.
> I'm not using Spring.
> 
> I've created a simple web service.  The class name is "BaseService".
> 
> I created a class "WebServicePublisher", which extends
> CXFNonSpringServlet.  There's one method, the overridden loadBus
> method.  That method has the following code:
> 
>   super.loadBus(servletConfig);
>   Bus bus = this.getBus();
>   BusFactory.setDefaultBus(bus);
>   Endpoint.publish("BaseService", new BaseService());
> 
> In my web.xml, I added:
> 
>   <servlet-mapping>
>     <servlet-name>WebServicePublisher</servlet-name>
>     <url-pattern>/WSPub</url-pattern>
>   </servlet-mapping>
> 
> When I start tomcat and navigate to /contextname/WSPub, I see a page
> titled "CXF - Service list", which shows my the "BaseService" and the
> public methods in that class.
> 
> Great so far.
> 
> However, there's a WSDL link, which I click on that, it goes to:
> /contextname/BaseService?wsdl
> 
> Which gives me a 404 error.  And rightly so .. there's nothing in my
> web.xml that configured that URL.
> 
> What am I missing?
> 
> -d
> 

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