Do you have an endpointInterface attribute defined on your @WebService?

i.e. you should have:

@WebService(endpointInterface="foo.bar.IUserService",
serviceName="UserService")
public class UserService ....

(Note: the serviceName can only go on the impl class)

@WebService
public class IUserService

Regards,
- Dan

On 7/14/07, Brad O'Hearne <[EMAIL PROTECTED]> wrote:

Additionally, I don't know if this helps, but I found this line higher
up in my log before the error occurs:

INFO: Creating Service {http://user.brad.com/}UserServiceService from
class com.brad.user.UserService

The service "UserServiceService" looks a little weird, as I don't have
it specified as that anywhere.

B

Dan Diephouse wrote:
> Hi Brad,
> Don't you think you're being a little impatient here? Your message is
> from 6
> PM on a FRIDAY (now 12 AM Saturday) and pretty much everyone has gone
> home.
> While I sympathize with your problem & timeline, I think you're being
> quite
> unrealistic in your expectations. I'm the one who wrote the code and
> probably no one else around really feels qualified to answer this
> question,
> so everyone else is probably going to wait a reasonable amount of time
> for
> me to come back online. And I've been busy travelling.
>
> As to your error, it seems for some reason CXF isn't finding your
> @httpresource annotation. What does the @WebService attribute look
> like on
> your CustomerService class? You could possibly try adding a serviceClass
> attribute to your <jaxws:endpoint> and see if that will help:
>
> <jaxws:endpoint serviceClass="...IUserService"/>
>
> - Dan
>
>
> On 7/13/07, Brad O'Hearne <[EMAIL PROTECTED]> wrote:
>>
>> Hello,
>>
>> I don't want to cross the line on asking questions to the dev list, but
>> I'm in a bit of a bind here, and I need to get this worked out, and I
>> think that posting this to the dev list may be appropriate for the
>> following reasons:
>>
>> 1) It is in the realm where the documentation says the functionality
>> exists, but doesn't say how to configure (i.e. a hole in the
>> documentation).
>> 2) The stack trace / error I am receiving I am guessing only a
developer
>> is going to likely understand -- it makes absolutely no sense at a user
>> level.
>> 3) The only reference I found to this error on Google was from last
>> month on the developer list.
>>
>> The forwarded email explains my problem and stack trace, but in a
>> nutshell, I just need to configure annotation based, SOAP-Free, Restful
>> Http/xml services in Spring. Nothing tricky -- simple, standard,
>> boilerplate need. I am having no luck, as my service loading fails. The
>> stack trace is attached. Here is my web.xml file:
>>
>> <!DOCTYPE web-app
>>    PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
>>    "http://java.sun.com/dtd/web-app_2_3.dtd";>
>>
>> <web-app>
>>
>>    <context-param>
>>        <param-name>contextConfigLocation</param-name>
>>        <param-value>WEB-INF/beans.xml</param-value>
>>    </context-param>
>>
>>    <listener>
>>        <listener-class>
>>            org.springframework.web.context.ContextLoaderListener
>>        </listener-class>
>>    </listener>
>>
>>    <servlet>
>>        <servlet-name>CXFServlet</servlet-name>
>>        <display-name>CXF Servlet</display-name>
>>        <servlet-class>
>>            org.apache.cxf.transport.servlet.CXFServlet
>>        </servlet-class>
>>        <load-on-startup>1</load-on-startup>
>>    </servlet>
>>
>>    <servlet-mapping>
>>        <servlet-name>CXFServlet</servlet-name>
>>        <url-pattern>/*</url-pattern>
>>    </servlet-mapping>
>>
>> </web-app>
>>
>> Here is my beans.xml file:
>>
>> <beans xmlns="http://www.springframework.org/schema/beans";
>>    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
>>    xmlns:jaxws="http://cxf.apache.org/jaxws";
>>    xsi:schemaLocation="
>>        http://www.springframework.org/schema/beans
>>        http://www.springframework.org/schema/beans/spring-beans.xsd
>>        http://cxf.apache.org/jaxws
>>        http://cxf.apache.org/schemas/jaxws.xsd
>>        ">
>>
>>    <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-extension-http-binding.xml" />
>>    <import resource="classpath:META-INF/cxf/cxf-servlet.xml" />
>>
>>    <bean id="JaxWsServiceFactoryBean"
>>        class="org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean">
>>        <property name="wrapped" value="false" />
>>    </bean>
>>
>>    <jaxws:endpoint id="userService"
>>        implementor="com.brad.user.UserService"
>>        address="/UserService"
>>        bindingUri="http://apache.org/cxf/binding/http";
>>        >
>>        <jaxws:serviceFactory>
>>            <ref bean="JaxWsServiceFactoryBean" />
>>        </jaxws:serviceFactory>
>>    </jaxws:endpoint>
>>
>> </beans>
>>
>> Here is my UserService interface:
>>
>> package com.brad.user;
>>
>> import javax.jws.WebService;
>>
>> import org.codehaus.jra.Get;
>> import org.codehaus.jra.HttpResource;
>>
>> import com.brad.service.ServiceRequest;
>> import com.brad.service.ServiceResponse;
>>
>> @WebService
>> public interface IUserService {
>>
>>    @Get
>>    @HttpResource(location = "/users")
>>    ServiceResponse getUsers(ServiceRequest request);
>> }
>>
>> Thanks in advance for the help. I'm to the end of my rope, with regards
>> to my timeline, and I need to get this working, and qualify CXF as a
>> service stack that can be used for this project, or else I'm going to
>> have to punt this weekend and incur a ton of work basically duplicating
>> what CXF already purports to do.
>>
>> Cheers,
>>
>> Brad
>>
>>
>> ---------- Forwarded message ----------
>> From: Brad O'Hearne <[EMAIL PROTECTED]>
>> To: [EMAIL PROTECTED]
>> Date: Fri, 13 Jul 2007 17:09:28 -0700
>> Subject: Re: Exception loading CXF service in Spring with HTTP Binding
>> I'm appealing to anyone out there who can please help me with this
>> problem. All I'm trying to do is standard configuration of a single
>> service, with a single method, using Http binding, using Spring. If I
>> cannot get this problem resolved soon, as much as I do not want to, I'm
>> going to have to punt usage of both CXF and XFire, which I am migrating
>> from. Simple, SOAP-free, RESTful HTTP service invocations configured in
>> Spring -- that's it. The documentation says that this can be done, but
>> doesn't give a complete description of how this can be done; Google
>> gives a reference from last month about this, but no answers, and the
>> API samples don't shed any light on it. It seems my configuration is
>> close, but I'm starting to wonder if Http Binding in CXF actually
works,
>> as the there is little to no information available on it.
>>
>> If anyone is in the know about how to get this to work, I'd greatly
>> appreciate it. I'm up against a deadline and I'll have to roll my own
>> service stack if I have to wait several days to get this resolved.
>>
>> Thanks in advance for your help.
>>
>> Brad
>>
>> Brad O'Hearne wrote:
>> > I am loading a simple CXF service using Spring, and an HTTP Binding.
>> > It is throwing an Exception, which unfortunately is very cryptic,
>> > gives me no idea of what the problem is, or how to fix it, and
there's
>> > not any solution I can find in the documentation or by searching in
>> > Google. Does anyone have any idea what this Exception means and/or
how
>> > to fix it? Thanks...output is below:
>> >
>> > ERROR [main] (ContextLoader.java:203) - Context initialization failed
>> > org.springframework.beans.factory.BeanCreationException: Error
>> > creating bean with name 'userService': Invocation of init method
>> > failed; nested exception is java.lang.IndexOutOfBoundsException: No
>> > group 1
>> > Caused by:
>> > java.lang.IndexOutOfBoundsException: No group 1
>> >   at java.util.regex.Matcher.group(Matcher.java:463)
>> >   at java.util.regex.Matcher.appendReplacement(Matcher.java:730)
>> >   at java.util.regex.Matcher.replaceAll(Matcher.java:806)
>> >   at
>> >
>> org.apache.cxf.binding.http.strategy.Inflector.pluralize(Inflector.java
>> :72)
>> >
>> >   at
>> > org.apache.cxf.binding.http.strategy.ConventionStrategy.extractNoun(
>> ConventionStrategy.java:148)
>> >
>> >   at
>> > org.apache.cxf.binding.http.strategy.ConventionStrategy.map(
>> ConventionStrategy.java:88)
>> >
>> >   at
>> > org.apache.cxf.binding.http.HttpBindingFactory.createBindingInfo(
>> HttpBindingFactory.java:100)
>> >
>> >   at
>> > org.apache.cxf.frontend.AbstractEndpointFactory.createBindingInfo(
>> AbstractEndpointFactory.java:274)
>> >
>> >   at
>> > org.apache.cxf.jaxws.JaxWsServerFactoryBean.createBindingInfo(
>> JaxWsServerFactoryBean.java:124)
>> >
>> >   at
>> > org.apache.cxf.frontend.AbstractEndpointFactory.createEndpointInfo(
>> AbstractEndpointFactory.java:191)
>> >
>> >   at
>> > org.apache.cxf.frontend.AbstractEndpointFactory.createEndpoint(
>> AbstractEndpointFactory.java:105)
>> >
>> >   at
>> >
>> org.apache.cxf.frontend.ServerFactoryBean.create(ServerFactoryBean.java
>> :89)
>> >
>> >   at
>> > org.apache.cxf.jaxws.JaxWsServerFactoryBean.create(
>> JaxWsServerFactoryBean.java:142)
>> >
>> >   at
>> org.apache.cxf.jaxws.EndpointImpl.getServer(EndpointImpl.java:277)
>> >   at
>> org.apache.cxf.jaxws.EndpointImpl.doPublish(EndpointImpl.java:223)
>> >   at org.apache.cxf.jaxws.EndpointImpl.publish(EndpointImpl.java:175)
>> >   at org.apache.cxf.jaxws.EndpointImpl.publish(EndpointImpl.java:329)
>> >   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>> >   at
>> > sun.reflect.NativeMethodAccessorImpl.invoke(
>> NativeMethodAccessorImpl.java:39)
>> >
>> >   at
>> > sun.reflect.DelegatingMethodAccessorImpl.invoke(
>> DelegatingMethodAccessorImpl.java:25)
>> >
>> >   at java.lang.reflect.Method.invoke(Method.java:585)
>> >   at
>> >
>>
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeCustomInitMethod
>>
>> (AbstractAutowireCapableBeanFactory.java:1240)
>> >
>> >   at
>> >
>>
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods
>>
>> (AbstractAutowireCapableBeanFactory.java:1205)
>> >
>> >   at
>> >
>>
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean
>>
>> (AbstractAutowireCapableBeanFactory.java:1171)
>> >
>> >   at
>> >
>>
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean
>>
>> (AbstractAutowireCapableBeanFactory.java:425)
>> >
>> >   at
>> >
>>
org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(
>>
>> AbstractBeanFactory.java:251)
>> >
>> >   at
>> >
>>
org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton
>>
>> (DefaultSingletonBeanRegistry.java:156)
>> >
>> >   at
>> > org.springframework.beans.factory.support.AbstractBeanFactory.getBean
(
>> AbstractBeanFactory.java:248)
>> >
>> >   at
>> > org.springframework.beans.factory.support.AbstractBeanFactory.getBean
(
>> AbstractBeanFactory.java:160)
>> >
>> >   at
>> >
>>
org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons
>>
>> (DefaultListableBeanFactory.java:287)
>> >
>> >   at
>> >
>> org.springframework.context.support.AbstractApplicationContext.refresh(
>> AbstractApplicationContext.java:352)
>> >
>> >   at
>> >
>>
org.springframework.web.context.ContextLoader.createWebApplicationContext(
>>
>> ContextLoader.java:244)
>> >
>> >   at
>> >
>> org.springframework.web.context.ContextLoader.initWebApplicationContext
(
>> ContextLoader.java:187)
>> >
>> >   at
>> >
>>
org.springframework.web.context.ContextLoaderListener.contextInitialized
>> (ContextLoaderListener.java:49)
>> >
>> >   at
>> > org.apache.catalina.core.StandardContext.listenerStart(
>> StandardContext.java:3826)
>> >
>> >   at
>> > org.apache.catalina.core.StandardContext.start(StandardContext.java
>> :4335)
>> >   at
>> > org.apache.catalina.core.ContainerBase.addChildInternal(
>> ContainerBase.java:759)
>> >
>> >   at
>> >
>> org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:739)
>> >   at
>> > org.apache.catalina.core.StandardHost.addChild(StandardHost.java:524)
>> >   at
>> > org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:824)
>> >   at
>> > org.apache.catalina.startup.HostConfig.deployWARs(HostConfig.java
:713)
>> >   at
>> > org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java
:489)
>> >   at
>> org.apache.catalina.startup.HostConfig.start(HostConfig.java:1137)
>> >   at
>> > org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java
>> :310)
>> >
>> >   at
>> > org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(
>> LifecycleSupport.java:119)
>> >
>> >   at
>> > org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1021)
>> >   at
>> org.apache.catalina.core.StandardHost.start(StandardHost.java:718)
>> >   at
>> > org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1013)
>> >   at
>> > org.apache.catalina.core.StandardEngine.start(StandardEngine.java
:442)
>> >   at
>> >
>> org.apache.catalina.core.StandardService.start(StandardService.java
:450)
>> >   at
>> > org.apache.catalina.core.StandardServer.start(StandardServer.java
:709)
>> >   at org.apache.catalina.startup.Catalina.start(Catalina.java:551)
>> >   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>> >   at
>> > sun.reflect.NativeMethodAccessorImpl.invoke(
>> NativeMethodAccessorImpl.java:39)
>> >
>> >   at
>> > sun.reflect.DelegatingMethodAccessorImpl.invoke(
>> DelegatingMethodAccessorImpl.java:25)
>> >
>> >   at java.lang.reflect.Method.invoke(Method.java:585)
>> >   at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:287)
>> >   at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:412)
>>
>>
>>
>>
>
>




--
Dan Diephouse
Envoi Solutions
http://envoisolutions.com | http://netzooid.com/blog

Reply via email to