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