You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@cxf.apache.org by Brad O'Hearne <br...@neurofire.com> on 2007/07/14 02:37:29 UTC

[Fwd: Re: Exception loading CXF service in Spring with HTTP Binding]

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

Re: [Fwd: Re: Exception loading CXF service in Spring with HTTP Binding]

Posted by kawanka <ka...@nbnet.nb.ca>.

I was quite encouraged when I saw this e-mail as I'm having a similar issue.
I'm in the middle of a project which uses Hibernate, XFire and Spring. I
refactored the project quite a bit a week ago. During that process, I was
browsing the XFire related site announcements. I was on the site to make
sure I had the latest API etc...  I saw the news that XFire is now CXF.
After some initial "this is going to screw up my schedule thoughts", I
browsed the CXF site, downloaded the version 2 release and started porting
the application.. which doesn't seem like a big deal until I ran into the
issue in this e-mail. 

My first impression is that CXF seems like it's going to be quite the SOAP
toolkit. Merging two existing projects must have its issues. However, the
end result will probably be more functionality for the end user.

Anyways, back to the problem... I started porting my project to CXF.. This
was about a week ago. I did a lot of Googling this week. Last night I found
this post. Since the begining of the week, I've done some tests with Hessian
(There are issues with Hibernate.. I know, it's a binary protocol...). Axis2
(too xml aware) and CXF. 

Moving to CXF from XFire is the natural choice. However, If I cannot get
past this issue, I'm dead in the water and will have to use Axis2 which
seems overly concerned with serializing the data. I just want to use the
SOAP toolkit. I could not care less about WSDL serialization etc... Maybe
once my  project prototype is complete, I can look at performance issues
related to WSDL generation on the fly.... if there are performance issues
that is.

There was talk about having the issue in this post fixed and in SVN. Would I
find this issue resolved in the SVN repository? 

Are there other methods to wire my SOAP services which are possibly more
finished in the version 2 of the CXF release? I also have to use MTOM to
upload huge files.. this was working in the xfire version. Hopefully, this
is still working in the CXF version. 

R.



Brad O'Hearne wrote:
> 
> I should also mention that with both services loaded, even if I try to 
> invoke the first service, which appears to have loaded as normal, CXF 
> barfs with the following exception -- keep in mind, the first service 
> has not been changed from its working state:
> 
> INFO: URIParameterInterceptor handle message on path [/authenticate] 
> with content-type [application/xml]
> Jul 16, 2007 4:11:03 PM org.apache.cxf.phase.PhaseInterceptorChain 
> doIntercept
> INFO: Interceptor has thrown exception, unwinding now
> org.apache.cxf.interceptor.Fault: object is not an instance of declaring 
> class
>     at 
> org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:88)
>     at 
> org.apache.cxf.jaxws.JAXWSMethodInvoker.invoke(JAXWSMethodInvoker.java:82)
>     at 
> org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:56)
>     at 
> org.apache.cxf.interceptor.ServiceInvokerInterceptor$1.run(ServiceInvokerInterceptor.java:56)
>     at 
> org.apache.cxf.workqueue.SynchronousExecutor.execute(SynchronousExecutor.java:37)
>     at 
> org.apache.cxf.interceptor.ServiceInvokerInterceptor.handleMessage(ServiceInvokerInterceptor.java:87)
>     at 
> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:206)
>     at 
> org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:67)
>     at 
> org.apache.cxf.transport.servlet.ServletDestination.doMessage(ServletDestination.java:100)
>     at 
> org.apache.cxf.transport.servlet.ServletController.invokeDestination(ServletController.java:224)
>     at 
> org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:103)
>     at 
> org.apache.cxf.transport.servlet.CXFServlet.invoke(CXFServlet.java:261)
>     at 
> org.apache.cxf.transport.servlet.CXFServlet.doPost(CXFServlet.java:239)
>     at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
>     at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
>     at 
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:270)
>     at 
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:191)
>     at 
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:227)
>     at 
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
>     at 
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
>     at 
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
>     at 
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
>     at 
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:211)
>     at 
> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:817)
>     at 
> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:623)
>     at 
> org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:444)
>     at java.lang.Thread.run(Thread.java:595)
> 
> 
> Brad O'Hearne wrote:
>> Dan, (and anyone else)
>>
>> I mentioned that I'd let you know how testing of this went. Well, good 
>> news / bad news. The good news is, that except for some labors to get 
>> databinding to work in places, I got my service working. The bad news, 
>> is that I added a second service to my beans.xml file, and I'm back at 
>> ground zero, as it seems only one service will load properly. If you 
>> recall, the original xml in the beans.xml file we came to in order to 
>> properly load the first service was as follows:
>>
>>    <bean id="userService"
>>        class="org.apache.cxf.jaxws.JaxWsServerFactoryBean"
>>        init-method="create">
>>        <property name="serviceClass"
>>            value="com.brad.user.IUserService" />
>>        <property name="serviceBean">
>>            <bean class="com.brad.user.UserService" />
>>        </property>
>>        <property name="address" value="/UserService" />
>>        <property name="bindingId"
>>            value="http://apache.org/cxf/binding/http" />
>>        <property name="serviceFactory" ref="JaxWsServiceFactoryBean" />
>>    </bean>
>>
>> This loads and is invoked successfully. But now I've added a second 
>> service to my beans.xml, as follows:
>>
>>    <bean id="sponsorService"
>>        class="org.apache.cxf.jaxws.JaxWsServerFactoryBean"
>>        init-method="create">
>>        <property name="serviceClass"
>>            value="com.brad.sponsor.ISponsorService" />
>>        <property name="serviceBean">
>>            <bean class="com.brad.sponsor.SponsorService" />
>>        </property>
>>        <property name="address" value="/SponsorService" />
>>        <property name="bindingId"
>>            value="http://apache.org/cxf/binding/http" />
>>        <property name="serviceFactory" ref="JaxWsServiceFactoryBean" />
>>    </bean>
>>
>> When I deploy and start my server, on load I get no errors. But I also 
>> do not see this new service load like the first one. The first 
>> service, I see this in the logs:
>>
>> INFO: Creating Service {http://user.brad.com/}IUserServiceService from 
>> class com.brad.user.IUserService
>>
>> But I do not see this for my second (ISponsorService) service. I have 
>> no idea why this is happening, but obviously I need to ability to load 
>> multiple services. Any idea why this is happening, and how to load 
>> more than one service?
>>
>> Brad
>>
>> Brad O'Hearne wrote:
>>> Dan,
>>>
>>> Thanks so much for your help. There was one minor change -- there is 
>>> no "implementor" property that can be set. You have to set the 
>>> "serviceBean" class instead. All appears to load cleanly. Now off to 
>>> test if I can actually hit the service from the outside. I'll let you 
>>> know how that goes. Feel free to ping me when the endpoint config bug 
>>> you mentioned is fixed, and when I should revert to the 
>>> jaxws:endpoint specification again in my beans.xml configuration.
>>>
>>> Thanks a ton for your help. Hopefully, all is well, and I'll be able 
>>> to be a daily consumer of this API via its usage in this project, and 
>>> can maybe pitch in here down the road.
>>>
>>> Cheers,
>>>
>>> Brad
>>>
>>> Dan Diephouse wrote:
>>>> Oops, my bad. Well it seems our schema is missing the approrpriate
>>>> bindingUri/bindingId element. Argh... Alrighty, we'll have to fall 
>>>> back to
>>>> the old spring syntax:
>>>>
>>>> <bean class="org.apache.cxf.jaxws.JaxWsServerFactoryBean"
>>>> init-method="create">
>>>>  <property name="serviceClass"
>>>> value="com.brad.user.IUserService<http://apache.org/cxf/binding/http>
>>>> "/>
>>>>  <property name="implementor">
>>>>     <bean class="com.brad.UserService"/>
>>>>  </property>
>>>>  <property name="serviceClass" value="com.brad.user.IUserService"/>
>>>>  <property name="address" value="/UserService"/>
>>>>  <property name="bindingId" 
>>>> value="http://apache.org/cxf/binding/http"/>
>>>>  <property name="serviceFactory" ref="JaxWsServiceFactoryBean"/>
>>>> </bean>
>>>>
>>>> I've made the schema fix in SVN and am working on fixing the other 
>>>> bug you
>>>> ran into now...
>>>> - Dan
>>>>
>>>> On 7/14/07, Brad O'Hearne <br...@neurofire.com> wrote:
>>>>>
>>>>> Dan,
>>>>>
>>>>> That is what I tried first, at your original recommendation. The 
>>>>> problem
>>>>> is that the jaxws:server element according to the schema doesn't have
>>>>> either "implementor" or "bindingUri" attributes. It instead has an
>>>>> "implementor" element, and a "binding" element, which I tried 
>>>>> using, in
>>>>> the markup I sent you, but had no luck, and got the exception. The
>>>>> schema isn't any clue as to what I'm supposed to have there.
>>>>>
>>>>> Brad
>>>>>
>>>>> Dan Diephouse wrote:
>>>>> > What you want is this:
>>>>> >
>>>>> > <jaxws:server id="userService"
>>>>> >       serviceClass="com.brad.user.IUserService"
>>>>> >       address="/UserService"
>>>>> >       bindingUri="http://apache.org/cxf/binding/http"
>>>>> >       implementor="com.brad.UserService">
>>>>> >       <jaxws:serviceFactory>
>>>>> >           <ref bean="JaxWsServiceFactoryBean" />
>>>>> >       </jaxws:serviceFactory>
>>>>> >   </jaxws:server>
>>>>> >
>>>>> > Regards,
>>>>> >
>>>>> > - Dan
>>>>> >
>>>>> > On 7/14/07, Brad O'Hearne <br...@neurofire.com> wrote:
>>>>> >>
>>>>> >> Dan,
>>>>> >>
>>>>> >> Thanks so much for tracking this down. Unfortunately, I'm still 
>>>>> having
>>>>> >> some problems, because in the jaxws:server element markup you
>>>>> suggested,
>>>>> >> neither the implementor or bindingUri attributes are legal. I 
>>>>> popped
>>>>> >> open the jaxws.xsd schema, to try to see if I could resolve it, and
>>>>> here
>>>>> >> is what I put together:
>>>>> >>
>>>>> >>     <jaxws:server id="userService"
>>>>> >>         serviceClass="com.brad.user.IUserService"
>>>>> >>         address="/UserService">
>>>>> >>
>>>>> >> <jaxws:binding>http://apache.org/cxf/binding/http</jaxws:binding>
>>>>> >>         <jaxws:implementor>com.brad.UserService</jaxws:implementor>
>>>>> >>         <jaxws:serviceFactory>
>>>>> >>             <ref bean="JaxWsServiceFactoryBean" />
>>>>> >>         </jaxws:serviceFactory>
>>>>> >>     </jaxws:server>
>>>>> >>
>>>>> >>
>>>>> >> but unfortunately, that doesn't work either. I'm failing on the 
>>>>> binding
>>>>> >> it appears. I figured it probably wanted a class name rather than a
>>>>> uri,
>>>>> >> but the error output I got suggests that there's probably more info
>>>>> >> needed to create the binding. The schema wasn't any clue on what 
>>>>> to put
>>>>> >> for this element. Here is the output below:
>>>>> >>
>>>>> >> ERROR [main] (ContextLoader.java:203) - Context initialization 
>>>>> failed
>>>>> >> org.springframework.beans.factory.BeanDefinitionStoreException:
>>>>> >> Unexpected exception parsing XML document from ServletContext 
>>>>> resource
>>>>> >> [/WEB-INF/beans.xml]; nested exception is
>>>>> >> java.lang.IllegalStateException: bindingConfig property must 
>>>>> have child
>>>>> >> elements!
>>>>> >> Caused by:
>>>>> >> java.lang.IllegalStateException: bindingConfig property must 
>>>>> have child
>>>>> >> elements!
>>>>> >>
>>>>> >> Brad
>>>>> >>
>>>>> >> Dan Diephouse wrote:
>>>>> >> > OK, I wrote a test case and I see whats happening now. 
>>>>> Unfortunately
>>>>> >> when
>>>>> >> > using EndpointImpl (which <jaxws:endpoint> does), somehow the 
>>>>> HTTP
>>>>> >> > Binding
>>>>> >> > seems to be looking for the annotations on the impl class instead
>>>>> >> of the
>>>>> >> > interface class :-\.
>>>>> >> >
>>>>> >> > Try this instead:
>>>>> >> >
>>>>> >> >
>>>>> >> >   <jaxws:server id="userService"
>>>>> >> >       serviceClass="com.brad.user.IUserService"
>>>>> >> >       implementor="com.brad.user.UserService"
>>>>> >> >       address="/UserService"
>>>>> >> >       bindingUri="http://apache.org/cxf/binding/http">
>>>>> >> >       <jaxws:serviceFactory>
>>>>> >> >           <ref bean="JaxWsServiceFactoryBean" />
>>>>> >> >       </jaxws:serviceFactory>
>>>>> >> >   </jaxws:server>
>>>>> >> >
>>>>> >> > Notice that its jaxws:server, not jaxws:endpoint. (This 
>>>>> creates a CXF
>>>>> >> > Server
>>>>> >> > object instead of a JAX-WS Endpoint object and allows more 
>>>>> control of
>>>>> >> how
>>>>> >> > CXF creates the service). This will tell CXF to look at the
>>>>> >> > IUserService for
>>>>> >> > annotations.
>>>>> >> >
>>>>> >> > I'll fix this bug in SVN later today, but in the meantime that 
>>>>> should
>>>>> >> > work.
>>>>> >> >
>>>>> >> > Cheers,
>>>>> >> > - Dan
>>>>> >> >
>>>>> >> > On 7/14/07, Brad O'Hearne <br...@neurofire.com> wrote:
>>>>> >> >>
>>>>> >> >> Dan,
>>>>> >> >>
>>>>> >> >> I just tried the endpointInterface attribute now on my
>>>>> implementation
>>>>> >> >> class, while leaving just the @WebService and method annotations
>>>>> >> on my
>>>>> >> >> interface class, as follows:
>>>>> >> >>
>>>>> >> >> @WebService (endpointInterface = "com.brad.user.IUserService")
>>>>> >> >> public class UserService implements IUserService {...
>>>>> >> >>
>>>>> >> >> @WebService
>>>>> >> >> public interface IUserService {
>>>>> >> >>
>>>>> >> >> As stated, I left the annotations on my one method in 
>>>>> IUserService.
>>>>> I
>>>>> >> >> annotated no methods in UserService. The full output / error 
>>>>> I get
>>>>> is
>>>>> >> >> below. The interesting thing is that these methods that the log
>>>>> shows
>>>>> >> >> are being set up exist only in the implementation class, and 
>>>>> are not
>>>>> >> >> annotated. They do not exist in the interface class. The one 
>>>>> method
>>>>> >> that
>>>>> >> >> is annotated in my interface class, getUsers(), is never 
>>>>> mentioned.
>>>>> >> >>
>>>>> >> >> INFO: Creating Service 
>>>>> {http://user.brad.com/}UserServiceServicefrom
>>>>> >> >> class com.brad.user.UserService
>>>>> >> >> DEBUG [main] (AbstractBeanFactory.java:203) - Returning cached
>>>>> >> instance
>>>>> >> >> of singleton bean '
>>>>> >> >> org.apache.cxf.transport.servlet.ServletTransportFactory'
>>>>> >> >> DEBUG [main] (AbstractBeanFactory.java:203) - Returning cached
>>>>> >> instance
>>>>> >> >> of singleton bean '
>>>>> >> >> org.apache.cxf.transport.servlet.ServletTransportFactory'
>>>>> >> >> DEBUG [main] (AbstractBeanFactory.java:203) - Returning cached
>>>>> >> instance
>>>>> >> >> of singleton bean '
>>>>> >> >> org.apache.cxf.transport.servlet.ServletTransportFactory'
>>>>> >> >> DEBUG [main] (AbstractBeanFactory.java:203) - Returning cached
>>>>> >> instance
>>>>> >> >> of singleton bean '
>>>>> >> >> org.apache.cxf.transport.servlet.ServletTransportFactory'
>>>>> >> >> DEBUG [main] (AbstractBeanFactory.java:203) - Returning cached
>>>>> >> instance
>>>>> >> >> of singleton bean '
>>>>> >> >> org.apache.cxf.transport.servlet.ServletTransportFactory'
>>>>> >> >> DEBUG [main] (AbstractBeanFactory.java:203) - Returning cached
>>>>> >> instance
>>>>> >> >> of singleton bean '
>>>>> >> >> org.apache.cxf.transport.servlet.ServletTransportFactory'
>>>>> >> >> Jul 14, 2007 10:01:59 AM
>>>>> >> >> org.apache.cxf.binding.http.strategy.ConventionStrategy map
>>>>> >> >> INFO: Mapping method createUser to resource /eUsers and verb 
>>>>> POST
>>>>> >> >> Jul 14, 2007 10:01:59 AM
>>>>> >> >> org.apache.cxf.binding.http.strategy.ConventionStrategy map
>>>>> >> >> INFO: Mapping method modifyUser to resource /modifyUser and verb
>>>>> POST
>>>>> >> >> Jul 14, 2007 10:01:59 AM
>>>>> >> >> org.apache.cxf.binding.http.strategy.ConventionStrategy map
>>>>> >> >> INFO: Mapping method authenticate to resource /authenticate 
>>>>> and verb
>>>>> >> >> POST
>>>>> >> >> Jul 14, 2007 10:01:59 AM
>>>>> >> >> org.apache.cxf.binding.http.strategy.ConventionStrategy map
>>>>> >> >> INFO: Mapping method deleteUser to resource /users and verb 
>>>>> DELETE
>>>>> >> >> INFO [main] (DefaultSingletonBeanRegistry.java:285) - Destroying
>>>>> >> >> singletons in
>>>>> >> >>
>>>>> >> >>
>>>>> >>
>>>>> org.springframework.beans.factory.support.DefaultListableBeanFactory@1248979 
>>>>>
>>>>> >>
>>>>> >> >>
>>>>> >> >> :
>>>>> >> >> defining beans
>>>>> >> >> [cxf,org.apache.cxf.bus.spring.Jsr250BeanPostProcessor,
>>>>> >> >> org.apache.cxf.bus.spring.BusExtensionPostProcessor,
>>>>> >> >> org.apache.cxf.resource.ResourceManager,
>>>>> >> >> org.apache.cxf.binding.BindingFactoryManager,
>>>>> >> >> org.apache.cxf.transport.DestinationFactoryManager,
>>>>> >> >> org.apache.cxf.transport.ConduitInitiatorManager,
>>>>> >> >> 
>>>>> org.apache.cxf.wsdl.WSDLManager,org.apache.cxf.phase.PhaseManager,
>>>>> >> >> org.apache.cxf.workqueue.WorkQueueManager,
>>>>> >> >> org.apache.cxf.buslifecycle.BusLifeCycleManager,
>>>>> >> >> org.apache.cxf.endpoint.ServerRegistry,
>>>>> >> >> org.apache.cxf.endpoint.ServerLifeCycleManager,
>>>>> >> >> org.apache.cxf.endpoint.ClientLifeCycleManager,
>>>>> >> >> org.apache.cxf.transports.http.QueryHandlerRegistry,
>>>>> >> >> org.apache.cxf.endpoint.EndpointResolverRegistry,
>>>>> >> >> org.apache.cxf.headers.HeaderManager,
>>>>> >> >> org.apache.cxf.catalog.OASISCatalogManager,
>>>>> >> >> org.apache.cxf.binding.http.HttpBindingFactory,
>>>>> >> >> org.apache.cxf.transport.servlet.ServletTransportFactory
>>>>> >> >> ,JaxWsServiceFactoryBean,userService];
>>>>> >> >> root of factory hierarchy
>>>>> >> >> DEBUG [main] (DefaultSingletonBeanRegistry.java:337) - Retrieved
>>>>> >> >> dependent beans for bean 'JaxWsServiceFactoryBean': 
>>>>> [userService]
>>>>> >> >> DEBUG [main] (DefaultSingletonBeanRegistry.java:337) - Retrieved
>>>>> >> >> dependent beans for bean
>>>>> >> >> 'org.apache.cxf.configuration.spring.SpringBeanMap#1c2a1ed':
>>>>> >> >> [org.apache.cxf.transport.ConduitInitiatorManager]
>>>>> >> >> DEBUG [main] (DefaultSingletonBeanRegistry.java:337) - Retrieved
>>>>> >> >> dependent beans for bean
>>>>> >> >> 'org.apache.cxf.configuration.spring.SpringBeanMap#7ab40c':
>>>>> >> >> [org.apache.cxf.transport.DestinationFactoryManager]
>>>>> >> >> DEBUG [main] (DefaultSingletonBeanRegistry.java:337) - Retrieved
>>>>> >> >> dependent beans for bean
>>>>> >> >> 'org.apache.cxf.configuration.spring.SpringBeanMap#117c0eb':
>>>>> >> >> [org.apache.cxf.binding.BindingFactoryManager]
>>>>> >> >> DEBUG [main] (DefaultSingletonBeanRegistry.java:337) - Retrieved
>>>>> >> >> dependent beans for bean
>>>>> >> >> 'org.apache.cxf.resource.ClassLoaderResolver#19c5048':
>>>>> >> >> [org.apache.cxf.resource.ResourceManager]
>>>>> >> >> DEBUG [main] (DefaultSingletonBeanRegistry.java:337) - Retrieved
>>>>> >> >> dependent beans for bean
>>>>> >> >> 'org.apache.cxf.resource.ClasspathResolver#17d2f0e':
>>>>> >> >> [org.apache.cxf.resource.ResourceManager]
>>>>> >> >> 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)
>>>>> >> >> Jul 14, 2007 10:01:59 AM 
>>>>> org.apache.catalina.core.StandardContext
>>>>> >> >> listenerStart
>>>>> >> >> SEVERE: Exception sending context initialized event to listener
>>>>> >> instance
>>>>> >> >> of class org.springframework.web.context.ContextLoaderListener
>>>>> >> >> 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)
>>>>> >> >> Jul 14, 2007 10:01:59 AM 
>>>>> org.apache.catalina.core.StandardContext
>>>>> >> start
>>>>> >> >> SEVERE: Error listenerStart
>>>>> >> >> Jul 14, 2007 10:01:59 AM org.a
>>>>> >> >>
>>>>> >> >>
>>>>> >> >> Brad O'Hearne wrote:
>>>>> >> >> > Dan,
>>>>> >> >> >
>>>>> >> >> > I just tried the endpointInterface attribute on my interface
>>>>> class,
>>>>> >> as
>>>>> >> >> > follows:
>>>>> >> >> >
>>>>> >> >> > @WebService (endpointInterface = "com.brad.user.IUserService")
>>>>> >> >> > public interface IUserService {
>>>>> >> >> >
>>>>> >> >> > and here is the error I receive:
>>>>> >> >> >
>>>>> >> >> > 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 javax.xml.ws.WebServiceException:
>>>>> >> >> > Attributes portName, serviceName and endpointInterface are not
>>>>> >> allowed
>>>>> >> >> > in the @WebService annotation of an SEI.
>>>>> >> >> > Caused by:
>>>>> >> >> > javax.xml.ws.WebServiceException: Attributes portName, 
>>>>> serviceName
>>>>> >> and
>>>>> >> >> > endpointInterface are not allowed in the @WebService 
>>>>> annotation
>>>>> >> of an
>>>>> >> >> > SEI.
>>>>> >> >> >    at
>>>>> >> >> > org.apache.cxf.jaxws.support.JaxWsImplementorInfo.initialise(
>>>>> >> >> JaxWsImplementorInfo.java:279)
>>>>> >> >> >
>>>>> >> >> >    at
>>>>> >> >> > org.apache.cxf.jaxws.support.JaxWsImplementorInfo.<init>(
>>>>> >> >> JaxWsImplementorInfo.java:57)
>>>>> >> >> >
>>>>> >> >> >
>>>>> >> >> > I think this probably goes back to the design pattern 
>>>>> mentioned
>>>>> >> in my
>>>>> >> >> > previous post (annotations on the interface, none of the
>>>>> >> >> > implementation class). I'm guessing we are on the cusp of 
>>>>> having
>>>>> >> this
>>>>> >> >> > solved.
>>>>> >> >> >
>>>>> >> >> > Thanks,
>>>>> >> >> >
>>>>> >> >> > Brad
>>>>> >> >> >
>>>>> >> >> > Brad O'Hearne wrote:
>>>>> >> >> >> Dan,
>>>>> >> >> >>
>>>>> >> >> >> I think you may have hit on the mystery here. I do not 
>>>>> have an
>>>>> >> >> >> endpoint interface defined on my @WebService. But the rest of
>>>>> your
>>>>> >> >> >> answer below suggests that I may have done something else 
>>>>> wrong
>>>>> in
>>>>> >> >> >> general. My annotations occur entirely in my interface, i.e.
>>>>> >> >> >>
>>>>> >> >> >> @WebService
>>>>> >> >> >> public interface IUserService ...
>>>>> >> >> >>
>>>>> >> >> >> and my implementing class has no annotations whatsoever, 
>>>>> i.e.:
>>>>> >> >> >>
>>>>> >> >> >> public class UserService extends IUserService ...
>>>>> >> >> >>
>>>>> >> >> >> and from the past posts I have, you'll see that my 
>>>>> beans.xml file
>>>>> >> >> >> references the implementation class, i.e.
>>>>> >> >> >>
>>>>> >> >> >>   <jaxws:endpoint id="userService"
>>>>> >> >> >>       serviceClass="com.brad.user.IUserService"
>>>>> >> >> >>       implementor="com.brad.user.UserService"
>>>>> >> >> >>       address="/UserService"
>>>>> >> >> >>       bindingUri="http://apache.org/cxf/binding/http"
>>>>> >> >> >>       >
>>>>> >> >> >>       <jaxws:serviceFactory>
>>>>> >> >> >>           <ref bean="JaxWsServiceFactoryBean" />
>>>>> >> >> >>       </jaxws:serviceFactory>
>>>>> >> >> >>   </jaxws:endpoint>
>>>>> >> >> >>
>>>>> >> >> >> This was the pattern used in XFire which worked, and the
>>>>> >> pattern set
>>>>> >> >> >> forth in the CXF user's guide, as in:
>>>>> >> >> >> http://cwiki.apache.org/CXF20DOC/http-binding.html
>>>>> >> >> >>
>>>>> >> >> >> But perhaps I've read it wrong. So I'll ask...
>>>>> >> >> >>
>>>>> >> >> >> 1. Should my annotations be on my implementation class or my
>>>>> >> >> >> interface class?
>>>>> >> >> >> 2. Depending on the answer to 1), if annotations are put 
>>>>> in the
>>>>> >> >> >> interface, the endpointInterface attribute would logically
>>>>> >> always be
>>>>> >> >> >> the same name as that interface. Is this accurate?
>>>>> >> >> >> 3. Should the implementor attribute in the beans.xml
>>>>> >> jaxws:endpoint
>>>>> >> >> >> element reference the interface, or the imlementation?
>>>>> >> >> >>
>>>>> >> >> >> Thanks a ton for helping out Dan, it is sincerely 
>>>>> appreciated.
>>>>> >> I'll
>>>>> >> >> >> throw that endpointInterface attribute on my @WebService
>>>>> >> annotation
>>>>> >> >> >> right now (which presently sits in my interface) and see what
>>>>> >> >> happens.
>>>>> >> >> >>
>>>>> >> >> >> Brad
>>>>> >> >> >>
>>>>> >> >> >> Dan Diephouse wrote:
>>>>> >> >> >>> 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 <br...@neurofire.com> 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 <br...@neurofire.com> 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 <br...@neurofire.com>
>>>>> >> >> >>>> >> To: cxf-user@incubator.apache.org
>>>>> >> >> >>>> >> 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)
>>>>> >> >> >>>> >>
>>>>> >> >> >>>> >>
>>>>> >> >> >>>> >>
>>>>> >> >> >>>> >>
>>>>> >> >> >>>> >
>>>>> >> >> >>>> >
>>>>> >> >> >>>>
>>>>> >> >> >>>>
>>>>> >> >> >>>
>>>>> >> >> >>>
>>>>> >> >> >>
>>>>> >> >> >
>>>>> >> >>
>>>>> >> >>
>>>>> >> >>
>>>>> >> >
>>>>> >> >
>>>>> >>
>>>>> >>
>>>>> >
>>>>> >
>>>>>
>>>>>
>>>>
>>>>
>>>
>>
> 
> 
> 

-- 
View this message in context: http://www.nabble.com/-Fwd%3A-Re%3A-Exception-loading-CXF-service-in-Spring-with-HTTP-Binding--tf4077582.html#a11809669
Sent from the cxf-dev mailing list archive at Nabble.com.


Re: [Fwd: Re: Exception loading CXF service in Spring with HTTP Binding]

Posted by Brad O'Hearne <br...@neurofire.com>.
I should also mention that with both services loaded, even if I try to 
invoke the first service, which appears to have loaded as normal, CXF 
barfs with the following exception -- keep in mind, the first service 
has not been changed from its working state:

INFO: URIParameterInterceptor handle message on path [/authenticate] 
with content-type [application/xml]
Jul 16, 2007 4:11:03 PM org.apache.cxf.phase.PhaseInterceptorChain 
doIntercept
INFO: Interceptor has thrown exception, unwinding now
org.apache.cxf.interceptor.Fault: object is not an instance of declaring 
class
    at 
org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:88)
    at 
org.apache.cxf.jaxws.JAXWSMethodInvoker.invoke(JAXWSMethodInvoker.java:82)
    at 
org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:56)
    at 
org.apache.cxf.interceptor.ServiceInvokerInterceptor$1.run(ServiceInvokerInterceptor.java:56)
    at 
org.apache.cxf.workqueue.SynchronousExecutor.execute(SynchronousExecutor.java:37)
    at 
org.apache.cxf.interceptor.ServiceInvokerInterceptor.handleMessage(ServiceInvokerInterceptor.java:87)
    at 
org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:206)
    at 
org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:67)
    at 
org.apache.cxf.transport.servlet.ServletDestination.doMessage(ServletDestination.java:100)
    at 
org.apache.cxf.transport.servlet.ServletController.invokeDestination(ServletController.java:224)
    at 
org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:103)
    at 
org.apache.cxf.transport.servlet.CXFServlet.invoke(CXFServlet.java:261)
    at 
org.apache.cxf.transport.servlet.CXFServlet.doPost(CXFServlet.java:239)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:270)
    at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:191)
    at 
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:227)
    at 
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
    at 
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
    at 
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
    at 
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
    at 
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:211)
    at 
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:817)
    at 
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:623)
    at 
org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:444)
    at java.lang.Thread.run(Thread.java:595)


Brad O'Hearne wrote:
> Dan, (and anyone else)
>
> I mentioned that I'd let you know how testing of this went. Well, good 
> news / bad news. The good news is, that except for some labors to get 
> databinding to work in places, I got my service working. The bad news, 
> is that I added a second service to my beans.xml file, and I'm back at 
> ground zero, as it seems only one service will load properly. If you 
> recall, the original xml in the beans.xml file we came to in order to 
> properly load the first service was as follows:
>
>    <bean id="userService"
>        class="org.apache.cxf.jaxws.JaxWsServerFactoryBean"
>        init-method="create">
>        <property name="serviceClass"
>            value="com.brad.user.IUserService" />
>        <property name="serviceBean">
>            <bean class="com.brad.user.UserService" />
>        </property>
>        <property name="address" value="/UserService" />
>        <property name="bindingId"
>            value="http://apache.org/cxf/binding/http" />
>        <property name="serviceFactory" ref="JaxWsServiceFactoryBean" />
>    </bean>
>
> This loads and is invoked successfully. But now I've added a second 
> service to my beans.xml, as follows:
>
>    <bean id="sponsorService"
>        class="org.apache.cxf.jaxws.JaxWsServerFactoryBean"
>        init-method="create">
>        <property name="serviceClass"
>            value="com.brad.sponsor.ISponsorService" />
>        <property name="serviceBean">
>            <bean class="com.brad.sponsor.SponsorService" />
>        </property>
>        <property name="address" value="/SponsorService" />
>        <property name="bindingId"
>            value="http://apache.org/cxf/binding/http" />
>        <property name="serviceFactory" ref="JaxWsServiceFactoryBean" />
>    </bean>
>
> When I deploy and start my server, on load I get no errors. But I also 
> do not see this new service load like the first one. The first 
> service, I see this in the logs:
>
> INFO: Creating Service {http://user.brad.com/}IUserServiceService from 
> class com.brad.user.IUserService
>
> But I do not see this for my second (ISponsorService) service. I have 
> no idea why this is happening, but obviously I need to ability to load 
> multiple services. Any idea why this is happening, and how to load 
> more than one service?
>
> Brad
>
> Brad O'Hearne wrote:
>> Dan,
>>
>> Thanks so much for your help. There was one minor change -- there is 
>> no "implementor" property that can be set. You have to set the 
>> "serviceBean" class instead. All appears to load cleanly. Now off to 
>> test if I can actually hit the service from the outside. I'll let you 
>> know how that goes. Feel free to ping me when the endpoint config bug 
>> you mentioned is fixed, and when I should revert to the 
>> jaxws:endpoint specification again in my beans.xml configuration.
>>
>> Thanks a ton for your help. Hopefully, all is well, and I'll be able 
>> to be a daily consumer of this API via its usage in this project, and 
>> can maybe pitch in here down the road.
>>
>> Cheers,
>>
>> Brad
>>
>> Dan Diephouse wrote:
>>> Oops, my bad. Well it seems our schema is missing the approrpriate
>>> bindingUri/bindingId element. Argh... Alrighty, we'll have to fall 
>>> back to
>>> the old spring syntax:
>>>
>>> <bean class="org.apache.cxf.jaxws.JaxWsServerFactoryBean"
>>> init-method="create">
>>>  <property name="serviceClass"
>>> value="com.brad.user.IUserService<http://apache.org/cxf/binding/http>
>>> "/>
>>>  <property name="implementor">
>>>     <bean class="com.brad.UserService"/>
>>>  </property>
>>>  <property name="serviceClass" value="com.brad.user.IUserService"/>
>>>  <property name="address" value="/UserService"/>
>>>  <property name="bindingId" 
>>> value="http://apache.org/cxf/binding/http"/>
>>>  <property name="serviceFactory" ref="JaxWsServiceFactoryBean"/>
>>> </bean>
>>>
>>> I've made the schema fix in SVN and am working on fixing the other 
>>> bug you
>>> ran into now...
>>> - Dan
>>>
>>> On 7/14/07, Brad O'Hearne <br...@neurofire.com> wrote:
>>>>
>>>> Dan,
>>>>
>>>> That is what I tried first, at your original recommendation. The 
>>>> problem
>>>> is that the jaxws:server element according to the schema doesn't have
>>>> either "implementor" or "bindingUri" attributes. It instead has an
>>>> "implementor" element, and a "binding" element, which I tried 
>>>> using, in
>>>> the markup I sent you, but had no luck, and got the exception. The
>>>> schema isn't any clue as to what I'm supposed to have there.
>>>>
>>>> Brad
>>>>
>>>> Dan Diephouse wrote:
>>>> > What you want is this:
>>>> >
>>>> > <jaxws:server id="userService"
>>>> >       serviceClass="com.brad.user.IUserService"
>>>> >       address="/UserService"
>>>> >       bindingUri="http://apache.org/cxf/binding/http"
>>>> >       implementor="com.brad.UserService">
>>>> >       <jaxws:serviceFactory>
>>>> >           <ref bean="JaxWsServiceFactoryBean" />
>>>> >       </jaxws:serviceFactory>
>>>> >   </jaxws:server>
>>>> >
>>>> > Regards,
>>>> >
>>>> > - Dan
>>>> >
>>>> > On 7/14/07, Brad O'Hearne <br...@neurofire.com> wrote:
>>>> >>
>>>> >> Dan,
>>>> >>
>>>> >> Thanks so much for tracking this down. Unfortunately, I'm still 
>>>> having
>>>> >> some problems, because in the jaxws:server element markup you
>>>> suggested,
>>>> >> neither the implementor or bindingUri attributes are legal. I 
>>>> popped
>>>> >> open the jaxws.xsd schema, to try to see if I could resolve it, and
>>>> here
>>>> >> is what I put together:
>>>> >>
>>>> >>     <jaxws:server id="userService"
>>>> >>         serviceClass="com.brad.user.IUserService"
>>>> >>         address="/UserService">
>>>> >>
>>>> >> <jaxws:binding>http://apache.org/cxf/binding/http</jaxws:binding>
>>>> >>         <jaxws:implementor>com.brad.UserService</jaxws:implementor>
>>>> >>         <jaxws:serviceFactory>
>>>> >>             <ref bean="JaxWsServiceFactoryBean" />
>>>> >>         </jaxws:serviceFactory>
>>>> >>     </jaxws:server>
>>>> >>
>>>> >>
>>>> >> but unfortunately, that doesn't work either. I'm failing on the 
>>>> binding
>>>> >> it appears. I figured it probably wanted a class name rather than a
>>>> uri,
>>>> >> but the error output I got suggests that there's probably more info
>>>> >> needed to create the binding. The schema wasn't any clue on what 
>>>> to put
>>>> >> for this element. Here is the output below:
>>>> >>
>>>> >> ERROR [main] (ContextLoader.java:203) - Context initialization 
>>>> failed
>>>> >> org.springframework.beans.factory.BeanDefinitionStoreException:
>>>> >> Unexpected exception parsing XML document from ServletContext 
>>>> resource
>>>> >> [/WEB-INF/beans.xml]; nested exception is
>>>> >> java.lang.IllegalStateException: bindingConfig property must 
>>>> have child
>>>> >> elements!
>>>> >> Caused by:
>>>> >> java.lang.IllegalStateException: bindingConfig property must 
>>>> have child
>>>> >> elements!
>>>> >>
>>>> >> Brad
>>>> >>
>>>> >> Dan Diephouse wrote:
>>>> >> > OK, I wrote a test case and I see whats happening now. 
>>>> Unfortunately
>>>> >> when
>>>> >> > using EndpointImpl (which <jaxws:endpoint> does), somehow the 
>>>> HTTP
>>>> >> > Binding
>>>> >> > seems to be looking for the annotations on the impl class instead
>>>> >> of the
>>>> >> > interface class :-\.
>>>> >> >
>>>> >> > Try this instead:
>>>> >> >
>>>> >> >
>>>> >> >   <jaxws:server id="userService"
>>>> >> >       serviceClass="com.brad.user.IUserService"
>>>> >> >       implementor="com.brad.user.UserService"
>>>> >> >       address="/UserService"
>>>> >> >       bindingUri="http://apache.org/cxf/binding/http">
>>>> >> >       <jaxws:serviceFactory>
>>>> >> >           <ref bean="JaxWsServiceFactoryBean" />
>>>> >> >       </jaxws:serviceFactory>
>>>> >> >   </jaxws:server>
>>>> >> >
>>>> >> > Notice that its jaxws:server, not jaxws:endpoint. (This 
>>>> creates a CXF
>>>> >> > Server
>>>> >> > object instead of a JAX-WS Endpoint object and allows more 
>>>> control of
>>>> >> how
>>>> >> > CXF creates the service). This will tell CXF to look at the
>>>> >> > IUserService for
>>>> >> > annotations.
>>>> >> >
>>>> >> > I'll fix this bug in SVN later today, but in the meantime that 
>>>> should
>>>> >> > work.
>>>> >> >
>>>> >> > Cheers,
>>>> >> > - Dan
>>>> >> >
>>>> >> > On 7/14/07, Brad O'Hearne <br...@neurofire.com> wrote:
>>>> >> >>
>>>> >> >> Dan,
>>>> >> >>
>>>> >> >> I just tried the endpointInterface attribute now on my
>>>> implementation
>>>> >> >> class, while leaving just the @WebService and method annotations
>>>> >> on my
>>>> >> >> interface class, as follows:
>>>> >> >>
>>>> >> >> @WebService (endpointInterface = "com.brad.user.IUserService")
>>>> >> >> public class UserService implements IUserService {...
>>>> >> >>
>>>> >> >> @WebService
>>>> >> >> public interface IUserService {
>>>> >> >>
>>>> >> >> As stated, I left the annotations on my one method in 
>>>> IUserService.
>>>> I
>>>> >> >> annotated no methods in UserService. The full output / error 
>>>> I get
>>>> is
>>>> >> >> below. The interesting thing is that these methods that the log
>>>> shows
>>>> >> >> are being set up exist only in the implementation class, and 
>>>> are not
>>>> >> >> annotated. They do not exist in the interface class. The one 
>>>> method
>>>> >> that
>>>> >> >> is annotated in my interface class, getUsers(), is never 
>>>> mentioned.
>>>> >> >>
>>>> >> >> INFO: Creating Service 
>>>> {http://user.brad.com/}UserServiceServicefrom
>>>> >> >> class com.brad.user.UserService
>>>> >> >> DEBUG [main] (AbstractBeanFactory.java:203) - Returning cached
>>>> >> instance
>>>> >> >> of singleton bean '
>>>> >> >> org.apache.cxf.transport.servlet.ServletTransportFactory'
>>>> >> >> DEBUG [main] (AbstractBeanFactory.java:203) - Returning cached
>>>> >> instance
>>>> >> >> of singleton bean '
>>>> >> >> org.apache.cxf.transport.servlet.ServletTransportFactory'
>>>> >> >> DEBUG [main] (AbstractBeanFactory.java:203) - Returning cached
>>>> >> instance
>>>> >> >> of singleton bean '
>>>> >> >> org.apache.cxf.transport.servlet.ServletTransportFactory'
>>>> >> >> DEBUG [main] (AbstractBeanFactory.java:203) - Returning cached
>>>> >> instance
>>>> >> >> of singleton bean '
>>>> >> >> org.apache.cxf.transport.servlet.ServletTransportFactory'
>>>> >> >> DEBUG [main] (AbstractBeanFactory.java:203) - Returning cached
>>>> >> instance
>>>> >> >> of singleton bean '
>>>> >> >> org.apache.cxf.transport.servlet.ServletTransportFactory'
>>>> >> >> DEBUG [main] (AbstractBeanFactory.java:203) - Returning cached
>>>> >> instance
>>>> >> >> of singleton bean '
>>>> >> >> org.apache.cxf.transport.servlet.ServletTransportFactory'
>>>> >> >> Jul 14, 2007 10:01:59 AM
>>>> >> >> org.apache.cxf.binding.http.strategy.ConventionStrategy map
>>>> >> >> INFO: Mapping method createUser to resource /eUsers and verb 
>>>> POST
>>>> >> >> Jul 14, 2007 10:01:59 AM
>>>> >> >> org.apache.cxf.binding.http.strategy.ConventionStrategy map
>>>> >> >> INFO: Mapping method modifyUser to resource /modifyUser and verb
>>>> POST
>>>> >> >> Jul 14, 2007 10:01:59 AM
>>>> >> >> org.apache.cxf.binding.http.strategy.ConventionStrategy map
>>>> >> >> INFO: Mapping method authenticate to resource /authenticate 
>>>> and verb
>>>> >> >> POST
>>>> >> >> Jul 14, 2007 10:01:59 AM
>>>> >> >> org.apache.cxf.binding.http.strategy.ConventionStrategy map
>>>> >> >> INFO: Mapping method deleteUser to resource /users and verb 
>>>> DELETE
>>>> >> >> INFO [main] (DefaultSingletonBeanRegistry.java:285) - Destroying
>>>> >> >> singletons in
>>>> >> >>
>>>> >> >>
>>>> >>
>>>> org.springframework.beans.factory.support.DefaultListableBeanFactory@1248979 
>>>>
>>>> >>
>>>> >> >>
>>>> >> >> :
>>>> >> >> defining beans
>>>> >> >> [cxf,org.apache.cxf.bus.spring.Jsr250BeanPostProcessor,
>>>> >> >> org.apache.cxf.bus.spring.BusExtensionPostProcessor,
>>>> >> >> org.apache.cxf.resource.ResourceManager,
>>>> >> >> org.apache.cxf.binding.BindingFactoryManager,
>>>> >> >> org.apache.cxf.transport.DestinationFactoryManager,
>>>> >> >> org.apache.cxf.transport.ConduitInitiatorManager,
>>>> >> >> 
>>>> org.apache.cxf.wsdl.WSDLManager,org.apache.cxf.phase.PhaseManager,
>>>> >> >> org.apache.cxf.workqueue.WorkQueueManager,
>>>> >> >> org.apache.cxf.buslifecycle.BusLifeCycleManager,
>>>> >> >> org.apache.cxf.endpoint.ServerRegistry,
>>>> >> >> org.apache.cxf.endpoint.ServerLifeCycleManager,
>>>> >> >> org.apache.cxf.endpoint.ClientLifeCycleManager,
>>>> >> >> org.apache.cxf.transports.http.QueryHandlerRegistry,
>>>> >> >> org.apache.cxf.endpoint.EndpointResolverRegistry,
>>>> >> >> org.apache.cxf.headers.HeaderManager,
>>>> >> >> org.apache.cxf.catalog.OASISCatalogManager,
>>>> >> >> org.apache.cxf.binding.http.HttpBindingFactory,
>>>> >> >> org.apache.cxf.transport.servlet.ServletTransportFactory
>>>> >> >> ,JaxWsServiceFactoryBean,userService];
>>>> >> >> root of factory hierarchy
>>>> >> >> DEBUG [main] (DefaultSingletonBeanRegistry.java:337) - Retrieved
>>>> >> >> dependent beans for bean 'JaxWsServiceFactoryBean': 
>>>> [userService]
>>>> >> >> DEBUG [main] (DefaultSingletonBeanRegistry.java:337) - Retrieved
>>>> >> >> dependent beans for bean
>>>> >> >> 'org.apache.cxf.configuration.spring.SpringBeanMap#1c2a1ed':
>>>> >> >> [org.apache.cxf.transport.ConduitInitiatorManager]
>>>> >> >> DEBUG [main] (DefaultSingletonBeanRegistry.java:337) - Retrieved
>>>> >> >> dependent beans for bean
>>>> >> >> 'org.apache.cxf.configuration.spring.SpringBeanMap#7ab40c':
>>>> >> >> [org.apache.cxf.transport.DestinationFactoryManager]
>>>> >> >> DEBUG [main] (DefaultSingletonBeanRegistry.java:337) - Retrieved
>>>> >> >> dependent beans for bean
>>>> >> >> 'org.apache.cxf.configuration.spring.SpringBeanMap#117c0eb':
>>>> >> >> [org.apache.cxf.binding.BindingFactoryManager]
>>>> >> >> DEBUG [main] (DefaultSingletonBeanRegistry.java:337) - Retrieved
>>>> >> >> dependent beans for bean
>>>> >> >> 'org.apache.cxf.resource.ClassLoaderResolver#19c5048':
>>>> >> >> [org.apache.cxf.resource.ResourceManager]
>>>> >> >> DEBUG [main] (DefaultSingletonBeanRegistry.java:337) - Retrieved
>>>> >> >> dependent beans for bean
>>>> >> >> 'org.apache.cxf.resource.ClasspathResolver#17d2f0e':
>>>> >> >> [org.apache.cxf.resource.ResourceManager]
>>>> >> >> 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)
>>>> >> >> Jul 14, 2007 10:01:59 AM 
>>>> org.apache.catalina.core.StandardContext
>>>> >> >> listenerStart
>>>> >> >> SEVERE: Exception sending context initialized event to listener
>>>> >> instance
>>>> >> >> of class org.springframework.web.context.ContextLoaderListener
>>>> >> >> 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)
>>>> >> >> Jul 14, 2007 10:01:59 AM 
>>>> org.apache.catalina.core.StandardContext
>>>> >> start
>>>> >> >> SEVERE: Error listenerStart
>>>> >> >> Jul 14, 2007 10:01:59 AM org.a
>>>> >> >>
>>>> >> >>
>>>> >> >> Brad O'Hearne wrote:
>>>> >> >> > Dan,
>>>> >> >> >
>>>> >> >> > I just tried the endpointInterface attribute on my interface
>>>> class,
>>>> >> as
>>>> >> >> > follows:
>>>> >> >> >
>>>> >> >> > @WebService (endpointInterface = "com.brad.user.IUserService")
>>>> >> >> > public interface IUserService {
>>>> >> >> >
>>>> >> >> > and here is the error I receive:
>>>> >> >> >
>>>> >> >> > 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 javax.xml.ws.WebServiceException:
>>>> >> >> > Attributes portName, serviceName and endpointInterface are not
>>>> >> allowed
>>>> >> >> > in the @WebService annotation of an SEI.
>>>> >> >> > Caused by:
>>>> >> >> > javax.xml.ws.WebServiceException: Attributes portName, 
>>>> serviceName
>>>> >> and
>>>> >> >> > endpointInterface are not allowed in the @WebService 
>>>> annotation
>>>> >> of an
>>>> >> >> > SEI.
>>>> >> >> >    at
>>>> >> >> > org.apache.cxf.jaxws.support.JaxWsImplementorInfo.initialise(
>>>> >> >> JaxWsImplementorInfo.java:279)
>>>> >> >> >
>>>> >> >> >    at
>>>> >> >> > org.apache.cxf.jaxws.support.JaxWsImplementorInfo.<init>(
>>>> >> >> JaxWsImplementorInfo.java:57)
>>>> >> >> >
>>>> >> >> >
>>>> >> >> > I think this probably goes back to the design pattern 
>>>> mentioned
>>>> >> in my
>>>> >> >> > previous post (annotations on the interface, none of the
>>>> >> >> > implementation class). I'm guessing we are on the cusp of 
>>>> having
>>>> >> this
>>>> >> >> > solved.
>>>> >> >> >
>>>> >> >> > Thanks,
>>>> >> >> >
>>>> >> >> > Brad
>>>> >> >> >
>>>> >> >> > Brad O'Hearne wrote:
>>>> >> >> >> Dan,
>>>> >> >> >>
>>>> >> >> >> I think you may have hit on the mystery here. I do not 
>>>> have an
>>>> >> >> >> endpoint interface defined on my @WebService. But the rest of
>>>> your
>>>> >> >> >> answer below suggests that I may have done something else 
>>>> wrong
>>>> in
>>>> >> >> >> general. My annotations occur entirely in my interface, i.e.
>>>> >> >> >>
>>>> >> >> >> @WebService
>>>> >> >> >> public interface IUserService ...
>>>> >> >> >>
>>>> >> >> >> and my implementing class has no annotations whatsoever, 
>>>> i.e.:
>>>> >> >> >>
>>>> >> >> >> public class UserService extends IUserService ...
>>>> >> >> >>
>>>> >> >> >> and from the past posts I have, you'll see that my 
>>>> beans.xml file
>>>> >> >> >> references the implementation class, i.e.
>>>> >> >> >>
>>>> >> >> >>   <jaxws:endpoint id="userService"
>>>> >> >> >>       serviceClass="com.brad.user.IUserService"
>>>> >> >> >>       implementor="com.brad.user.UserService"
>>>> >> >> >>       address="/UserService"
>>>> >> >> >>       bindingUri="http://apache.org/cxf/binding/http"
>>>> >> >> >>       >
>>>> >> >> >>       <jaxws:serviceFactory>
>>>> >> >> >>           <ref bean="JaxWsServiceFactoryBean" />
>>>> >> >> >>       </jaxws:serviceFactory>
>>>> >> >> >>   </jaxws:endpoint>
>>>> >> >> >>
>>>> >> >> >> This was the pattern used in XFire which worked, and the
>>>> >> pattern set
>>>> >> >> >> forth in the CXF user's guide, as in:
>>>> >> >> >> http://cwiki.apache.org/CXF20DOC/http-binding.html
>>>> >> >> >>
>>>> >> >> >> But perhaps I've read it wrong. So I'll ask...
>>>> >> >> >>
>>>> >> >> >> 1. Should my annotations be on my implementation class or my
>>>> >> >> >> interface class?
>>>> >> >> >> 2. Depending on the answer to 1), if annotations are put 
>>>> in the
>>>> >> >> >> interface, the endpointInterface attribute would logically
>>>> >> always be
>>>> >> >> >> the same name as that interface. Is this accurate?
>>>> >> >> >> 3. Should the implementor attribute in the beans.xml
>>>> >> jaxws:endpoint
>>>> >> >> >> element reference the interface, or the imlementation?
>>>> >> >> >>
>>>> >> >> >> Thanks a ton for helping out Dan, it is sincerely 
>>>> appreciated.
>>>> >> I'll
>>>> >> >> >> throw that endpointInterface attribute on my @WebService
>>>> >> annotation
>>>> >> >> >> right now (which presently sits in my interface) and see what
>>>> >> >> happens.
>>>> >> >> >>
>>>> >> >> >> Brad
>>>> >> >> >>
>>>> >> >> >> Dan Diephouse wrote:
>>>> >> >> >>> 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 <br...@neurofire.com> 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 <br...@neurofire.com> 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 <br...@neurofire.com>
>>>> >> >> >>>> >> To: cxf-user@incubator.apache.org
>>>> >> >> >>>> >> 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)
>>>> >> >> >>>> >>
>>>> >> >> >>>> >>
>>>> >> >> >>>> >>
>>>> >> >> >>>> >>
>>>> >> >> >>>> >
>>>> >> >> >>>> >
>>>> >> >> >>>>
>>>> >> >> >>>>
>>>> >> >> >>>
>>>> >> >> >>>
>>>> >> >> >>
>>>> >> >> >
>>>> >> >>
>>>> >> >>
>>>> >> >>
>>>> >> >
>>>> >> >
>>>> >>
>>>> >>
>>>> >
>>>> >
>>>>
>>>>
>>>
>>>
>>
>


Re: [Fwd: Re: Exception loading CXF service in Spring with HTTP Binding]

Posted by Brad O'Hearne <br...@neurofire.com>.
Dan, (and anyone else)

I mentioned that I'd let you know how testing of this went. Well, good 
news / bad news. The good news is, that except for some labors to get 
databinding to work in places, I got my service working. The bad news, 
is that I added a second service to my beans.xml file, and I'm back at 
ground zero, as it seems only one service will load properly. If you 
recall, the original xml in the beans.xml file we came to in order to 
properly load the first service was as follows:

    <bean id="userService"
        class="org.apache.cxf.jaxws.JaxWsServerFactoryBean"
        init-method="create">
        <property name="serviceClass"
            value="com.brad.user.IUserService" />
        <property name="serviceBean">
            <bean class="com.brad.user.UserService" />
        </property>
        <property name="address" value="/UserService" />
        <property name="bindingId"
            value="http://apache.org/cxf/binding/http" />
        <property name="serviceFactory" ref="JaxWsServiceFactoryBean" />
    </bean>

This loads and is invoked successfully. But now I've added a second 
service to my beans.xml, as follows:

    <bean id="sponsorService"
        class="org.apache.cxf.jaxws.JaxWsServerFactoryBean"
        init-method="create">
        <property name="serviceClass"
            value="com.brad.sponsor.ISponsorService" />
        <property name="serviceBean">
            <bean class="com.brad.sponsor.SponsorService" />
        </property>
        <property name="address" value="/SponsorService" />
        <property name="bindingId"
            value="http://apache.org/cxf/binding/http" />
        <property name="serviceFactory" ref="JaxWsServiceFactoryBean" />
    </bean>
 
When I deploy and start my server, on load I get no errors. But I also 
do not see this new service load like the first one. The first service, 
I see this in the logs:

INFO: Creating Service {http://user.brad.com/}IUserServiceService from 
class com.brad.user.IUserService

But I do not see this for my second (ISponsorService) service. I have no 
idea why this is happening, but obviously I need to ability to load 
multiple services. Any idea why this is happening, and how to load more 
than one service?

Brad

Brad O'Hearne wrote:
> Dan,
>
> Thanks so much for your help. There was one minor change -- there is 
> no "implementor" property that can be set. You have to set the 
> "serviceBean" class instead. All appears to load cleanly. Now off to 
> test if I can actually hit the service from the outside. I'll let you 
> know how that goes. Feel free to ping me when the endpoint config bug 
> you mentioned is fixed, and when I should revert to the jaxws:endpoint 
> specification again in my beans.xml configuration.
>
> Thanks a ton for your help. Hopefully, all is well, and I'll be able 
> to be a daily consumer of this API via its usage in this project, and 
> can maybe pitch in here down the road.
>
> Cheers,
>
> Brad
>
> Dan Diephouse wrote:
>> Oops, my bad. Well it seems our schema is missing the approrpriate
>> bindingUri/bindingId element. Argh... Alrighty, we'll have to fall 
>> back to
>> the old spring syntax:
>>
>> <bean class="org.apache.cxf.jaxws.JaxWsServerFactoryBean"
>> init-method="create">
>>  <property name="serviceClass"
>> value="com.brad.user.IUserService<http://apache.org/cxf/binding/http>
>> "/>
>>  <property name="implementor">
>>     <bean class="com.brad.UserService"/>
>>  </property>
>>  <property name="serviceClass" value="com.brad.user.IUserService"/>
>>  <property name="address" value="/UserService"/>
>>  <property name="bindingId" value="http://apache.org/cxf/binding/http"/>
>>  <property name="serviceFactory" ref="JaxWsServiceFactoryBean"/>
>> </bean>
>>
>> I've made the schema fix in SVN and am working on fixing the other 
>> bug you
>> ran into now...
>> - Dan
>>
>> On 7/14/07, Brad O'Hearne <br...@neurofire.com> wrote:
>>>
>>> Dan,
>>>
>>> That is what I tried first, at your original recommendation. The 
>>> problem
>>> is that the jaxws:server element according to the schema doesn't have
>>> either "implementor" or "bindingUri" attributes. It instead has an
>>> "implementor" element, and a "binding" element, which I tried using, in
>>> the markup I sent you, but had no luck, and got the exception. The
>>> schema isn't any clue as to what I'm supposed to have there.
>>>
>>> Brad
>>>
>>> Dan Diephouse wrote:
>>> > What you want is this:
>>> >
>>> > <jaxws:server id="userService"
>>> >       serviceClass="com.brad.user.IUserService"
>>> >       address="/UserService"
>>> >       bindingUri="http://apache.org/cxf/binding/http"
>>> >       implementor="com.brad.UserService">
>>> >       <jaxws:serviceFactory>
>>> >           <ref bean="JaxWsServiceFactoryBean" />
>>> >       </jaxws:serviceFactory>
>>> >   </jaxws:server>
>>> >
>>> > Regards,
>>> >
>>> > - Dan
>>> >
>>> > On 7/14/07, Brad O'Hearne <br...@neurofire.com> wrote:
>>> >>
>>> >> Dan,
>>> >>
>>> >> Thanks so much for tracking this down. Unfortunately, I'm still 
>>> having
>>> >> some problems, because in the jaxws:server element markup you
>>> suggested,
>>> >> neither the implementor or bindingUri attributes are legal. I popped
>>> >> open the jaxws.xsd schema, to try to see if I could resolve it, and
>>> here
>>> >> is what I put together:
>>> >>
>>> >>     <jaxws:server id="userService"
>>> >>         serviceClass="com.brad.user.IUserService"
>>> >>         address="/UserService">
>>> >>
>>> >> <jaxws:binding>http://apache.org/cxf/binding/http</jaxws:binding>
>>> >>         <jaxws:implementor>com.brad.UserService</jaxws:implementor>
>>> >>         <jaxws:serviceFactory>
>>> >>             <ref bean="JaxWsServiceFactoryBean" />
>>> >>         </jaxws:serviceFactory>
>>> >>     </jaxws:server>
>>> >>
>>> >>
>>> >> but unfortunately, that doesn't work either. I'm failing on the 
>>> binding
>>> >> it appears. I figured it probably wanted a class name rather than a
>>> uri,
>>> >> but the error output I got suggests that there's probably more info
>>> >> needed to create the binding. The schema wasn't any clue on what 
>>> to put
>>> >> for this element. Here is the output below:
>>> >>
>>> >> ERROR [main] (ContextLoader.java:203) - Context initialization 
>>> failed
>>> >> org.springframework.beans.factory.BeanDefinitionStoreException:
>>> >> Unexpected exception parsing XML document from ServletContext 
>>> resource
>>> >> [/WEB-INF/beans.xml]; nested exception is
>>> >> java.lang.IllegalStateException: bindingConfig property must have 
>>> child
>>> >> elements!
>>> >> Caused by:
>>> >> java.lang.IllegalStateException: bindingConfig property must have 
>>> child
>>> >> elements!
>>> >>
>>> >> Brad
>>> >>
>>> >> Dan Diephouse wrote:
>>> >> > OK, I wrote a test case and I see whats happening now. 
>>> Unfortunately
>>> >> when
>>> >> > using EndpointImpl (which <jaxws:endpoint> does), somehow the HTTP
>>> >> > Binding
>>> >> > seems to be looking for the annotations on the impl class instead
>>> >> of the
>>> >> > interface class :-\.
>>> >> >
>>> >> > Try this instead:
>>> >> >
>>> >> >
>>> >> >   <jaxws:server id="userService"
>>> >> >       serviceClass="com.brad.user.IUserService"
>>> >> >       implementor="com.brad.user.UserService"
>>> >> >       address="/UserService"
>>> >> >       bindingUri="http://apache.org/cxf/binding/http">
>>> >> >       <jaxws:serviceFactory>
>>> >> >           <ref bean="JaxWsServiceFactoryBean" />
>>> >> >       </jaxws:serviceFactory>
>>> >> >   </jaxws:server>
>>> >> >
>>> >> > Notice that its jaxws:server, not jaxws:endpoint. (This creates 
>>> a CXF
>>> >> > Server
>>> >> > object instead of a JAX-WS Endpoint object and allows more 
>>> control of
>>> >> how
>>> >> > CXF creates the service). This will tell CXF to look at the
>>> >> > IUserService for
>>> >> > annotations.
>>> >> >
>>> >> > I'll fix this bug in SVN later today, but in the meantime that 
>>> should
>>> >> > work.
>>> >> >
>>> >> > Cheers,
>>> >> > - Dan
>>> >> >
>>> >> > On 7/14/07, Brad O'Hearne <br...@neurofire.com> wrote:
>>> >> >>
>>> >> >> Dan,
>>> >> >>
>>> >> >> I just tried the endpointInterface attribute now on my
>>> implementation
>>> >> >> class, while leaving just the @WebService and method annotations
>>> >> on my
>>> >> >> interface class, as follows:
>>> >> >>
>>> >> >> @WebService (endpointInterface = "com.brad.user.IUserService")
>>> >> >> public class UserService implements IUserService {...
>>> >> >>
>>> >> >> @WebService
>>> >> >> public interface IUserService {
>>> >> >>
>>> >> >> As stated, I left the annotations on my one method in 
>>> IUserService.
>>> I
>>> >> >> annotated no methods in UserService. The full output / error I 
>>> get
>>> is
>>> >> >> below. The interesting thing is that these methods that the log
>>> shows
>>> >> >> are being set up exist only in the implementation class, and 
>>> are not
>>> >> >> annotated. They do not exist in the interface class. The one 
>>> method
>>> >> that
>>> >> >> is annotated in my interface class, getUsers(), is never 
>>> mentioned.
>>> >> >>
>>> >> >> INFO: Creating Service 
>>> {http://user.brad.com/}UserServiceServicefrom
>>> >> >> class com.brad.user.UserService
>>> >> >> DEBUG [main] (AbstractBeanFactory.java:203) - Returning cached
>>> >> instance
>>> >> >> of singleton bean '
>>> >> >> org.apache.cxf.transport.servlet.ServletTransportFactory'
>>> >> >> DEBUG [main] (AbstractBeanFactory.java:203) - Returning cached
>>> >> instance
>>> >> >> of singleton bean '
>>> >> >> org.apache.cxf.transport.servlet.ServletTransportFactory'
>>> >> >> DEBUG [main] (AbstractBeanFactory.java:203) - Returning cached
>>> >> instance
>>> >> >> of singleton bean '
>>> >> >> org.apache.cxf.transport.servlet.ServletTransportFactory'
>>> >> >> DEBUG [main] (AbstractBeanFactory.java:203) - Returning cached
>>> >> instance
>>> >> >> of singleton bean '
>>> >> >> org.apache.cxf.transport.servlet.ServletTransportFactory'
>>> >> >> DEBUG [main] (AbstractBeanFactory.java:203) - Returning cached
>>> >> instance
>>> >> >> of singleton bean '
>>> >> >> org.apache.cxf.transport.servlet.ServletTransportFactory'
>>> >> >> DEBUG [main] (AbstractBeanFactory.java:203) - Returning cached
>>> >> instance
>>> >> >> of singleton bean '
>>> >> >> org.apache.cxf.transport.servlet.ServletTransportFactory'
>>> >> >> Jul 14, 2007 10:01:59 AM
>>> >> >> org.apache.cxf.binding.http.strategy.ConventionStrategy map
>>> >> >> INFO: Mapping method createUser to resource /eUsers and verb POST
>>> >> >> Jul 14, 2007 10:01:59 AM
>>> >> >> org.apache.cxf.binding.http.strategy.ConventionStrategy map
>>> >> >> INFO: Mapping method modifyUser to resource /modifyUser and verb
>>> POST
>>> >> >> Jul 14, 2007 10:01:59 AM
>>> >> >> org.apache.cxf.binding.http.strategy.ConventionStrategy map
>>> >> >> INFO: Mapping method authenticate to resource /authenticate 
>>> and verb
>>> >> >> POST
>>> >> >> Jul 14, 2007 10:01:59 AM
>>> >> >> org.apache.cxf.binding.http.strategy.ConventionStrategy map
>>> >> >> INFO: Mapping method deleteUser to resource /users and verb 
>>> DELETE
>>> >> >> INFO [main] (DefaultSingletonBeanRegistry.java:285) - Destroying
>>> >> >> singletons in
>>> >> >>
>>> >> >>
>>> >>
>>> org.springframework.beans.factory.support.DefaultListableBeanFactory@1248979 
>>>
>>> >>
>>> >> >>
>>> >> >> :
>>> >> >> defining beans
>>> >> >> [cxf,org.apache.cxf.bus.spring.Jsr250BeanPostProcessor,
>>> >> >> org.apache.cxf.bus.spring.BusExtensionPostProcessor,
>>> >> >> org.apache.cxf.resource.ResourceManager,
>>> >> >> org.apache.cxf.binding.BindingFactoryManager,
>>> >> >> org.apache.cxf.transport.DestinationFactoryManager,
>>> >> >> org.apache.cxf.transport.ConduitInitiatorManager,
>>> >> >> 
>>> org.apache.cxf.wsdl.WSDLManager,org.apache.cxf.phase.PhaseManager,
>>> >> >> org.apache.cxf.workqueue.WorkQueueManager,
>>> >> >> org.apache.cxf.buslifecycle.BusLifeCycleManager,
>>> >> >> org.apache.cxf.endpoint.ServerRegistry,
>>> >> >> org.apache.cxf.endpoint.ServerLifeCycleManager,
>>> >> >> org.apache.cxf.endpoint.ClientLifeCycleManager,
>>> >> >> org.apache.cxf.transports.http.QueryHandlerRegistry,
>>> >> >> org.apache.cxf.endpoint.EndpointResolverRegistry,
>>> >> >> org.apache.cxf.headers.HeaderManager,
>>> >> >> org.apache.cxf.catalog.OASISCatalogManager,
>>> >> >> org.apache.cxf.binding.http.HttpBindingFactory,
>>> >> >> org.apache.cxf.transport.servlet.ServletTransportFactory
>>> >> >> ,JaxWsServiceFactoryBean,userService];
>>> >> >> root of factory hierarchy
>>> >> >> DEBUG [main] (DefaultSingletonBeanRegistry.java:337) - Retrieved
>>> >> >> dependent beans for bean 'JaxWsServiceFactoryBean': [userService]
>>> >> >> DEBUG [main] (DefaultSingletonBeanRegistry.java:337) - Retrieved
>>> >> >> dependent beans for bean
>>> >> >> 'org.apache.cxf.configuration.spring.SpringBeanMap#1c2a1ed':
>>> >> >> [org.apache.cxf.transport.ConduitInitiatorManager]
>>> >> >> DEBUG [main] (DefaultSingletonBeanRegistry.java:337) - Retrieved
>>> >> >> dependent beans for bean
>>> >> >> 'org.apache.cxf.configuration.spring.SpringBeanMap#7ab40c':
>>> >> >> [org.apache.cxf.transport.DestinationFactoryManager]
>>> >> >> DEBUG [main] (DefaultSingletonBeanRegistry.java:337) - Retrieved
>>> >> >> dependent beans for bean
>>> >> >> 'org.apache.cxf.configuration.spring.SpringBeanMap#117c0eb':
>>> >> >> [org.apache.cxf.binding.BindingFactoryManager]
>>> >> >> DEBUG [main] (DefaultSingletonBeanRegistry.java:337) - Retrieved
>>> >> >> dependent beans for bean
>>> >> >> 'org.apache.cxf.resource.ClassLoaderResolver#19c5048':
>>> >> >> [org.apache.cxf.resource.ResourceManager]
>>> >> >> DEBUG [main] (DefaultSingletonBeanRegistry.java:337) - Retrieved
>>> >> >> dependent beans for bean
>>> >> >> 'org.apache.cxf.resource.ClasspathResolver#17d2f0e':
>>> >> >> [org.apache.cxf.resource.ResourceManager]
>>> >> >> 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)
>>> >> >> Jul 14, 2007 10:01:59 AM org.apache.catalina.core.StandardContext
>>> >> >> listenerStart
>>> >> >> SEVERE: Exception sending context initialized event to listener
>>> >> instance
>>> >> >> of class org.springframework.web.context.ContextLoaderListener
>>> >> >> 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)
>>> >> >> Jul 14, 2007 10:01:59 AM org.apache.catalina.core.StandardContext
>>> >> start
>>> >> >> SEVERE: Error listenerStart
>>> >> >> Jul 14, 2007 10:01:59 AM org.a
>>> >> >>
>>> >> >>
>>> >> >> Brad O'Hearne wrote:
>>> >> >> > Dan,
>>> >> >> >
>>> >> >> > I just tried the endpointInterface attribute on my interface
>>> class,
>>> >> as
>>> >> >> > follows:
>>> >> >> >
>>> >> >> > @WebService (endpointInterface = "com.brad.user.IUserService")
>>> >> >> > public interface IUserService {
>>> >> >> >
>>> >> >> > and here is the error I receive:
>>> >> >> >
>>> >> >> > 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 javax.xml.ws.WebServiceException:
>>> >> >> > Attributes portName, serviceName and endpointInterface are not
>>> >> allowed
>>> >> >> > in the @WebService annotation of an SEI.
>>> >> >> > Caused by:
>>> >> >> > javax.xml.ws.WebServiceException: Attributes portName, 
>>> serviceName
>>> >> and
>>> >> >> > endpointInterface are not allowed in the @WebService annotation
>>> >> of an
>>> >> >> > SEI.
>>> >> >> >    at
>>> >> >> > org.apache.cxf.jaxws.support.JaxWsImplementorInfo.initialise(
>>> >> >> JaxWsImplementorInfo.java:279)
>>> >> >> >
>>> >> >> >    at
>>> >> >> > org.apache.cxf.jaxws.support.JaxWsImplementorInfo.<init>(
>>> >> >> JaxWsImplementorInfo.java:57)
>>> >> >> >
>>> >> >> >
>>> >> >> > I think this probably goes back to the design pattern mentioned
>>> >> in my
>>> >> >> > previous post (annotations on the interface, none of the
>>> >> >> > implementation class). I'm guessing we are on the cusp of 
>>> having
>>> >> this
>>> >> >> > solved.
>>> >> >> >
>>> >> >> > Thanks,
>>> >> >> >
>>> >> >> > Brad
>>> >> >> >
>>> >> >> > Brad O'Hearne wrote:
>>> >> >> >> Dan,
>>> >> >> >>
>>> >> >> >> I think you may have hit on the mystery here. I do not have an
>>> >> >> >> endpoint interface defined on my @WebService. But the rest of
>>> your
>>> >> >> >> answer below suggests that I may have done something else 
>>> wrong
>>> in
>>> >> >> >> general. My annotations occur entirely in my interface, i.e.
>>> >> >> >>
>>> >> >> >> @WebService
>>> >> >> >> public interface IUserService ...
>>> >> >> >>
>>> >> >> >> and my implementing class has no annotations whatsoever, i.e.:
>>> >> >> >>
>>> >> >> >> public class UserService extends IUserService ...
>>> >> >> >>
>>> >> >> >> and from the past posts I have, you'll see that my 
>>> beans.xml file
>>> >> >> >> references the implementation class, i.e.
>>> >> >> >>
>>> >> >> >>   <jaxws:endpoint id="userService"
>>> >> >> >>       serviceClass="com.brad.user.IUserService"
>>> >> >> >>       implementor="com.brad.user.UserService"
>>> >> >> >>       address="/UserService"
>>> >> >> >>       bindingUri="http://apache.org/cxf/binding/http"
>>> >> >> >>       >
>>> >> >> >>       <jaxws:serviceFactory>
>>> >> >> >>           <ref bean="JaxWsServiceFactoryBean" />
>>> >> >> >>       </jaxws:serviceFactory>
>>> >> >> >>   </jaxws:endpoint>
>>> >> >> >>
>>> >> >> >> This was the pattern used in XFire which worked, and the
>>> >> pattern set
>>> >> >> >> forth in the CXF user's guide, as in:
>>> >> >> >> http://cwiki.apache.org/CXF20DOC/http-binding.html
>>> >> >> >>
>>> >> >> >> But perhaps I've read it wrong. So I'll ask...
>>> >> >> >>
>>> >> >> >> 1. Should my annotations be on my implementation class or my
>>> >> >> >> interface class?
>>> >> >> >> 2. Depending on the answer to 1), if annotations are put in 
>>> the
>>> >> >> >> interface, the endpointInterface attribute would logically
>>> >> always be
>>> >> >> >> the same name as that interface. Is this accurate?
>>> >> >> >> 3. Should the implementor attribute in the beans.xml
>>> >> jaxws:endpoint
>>> >> >> >> element reference the interface, or the imlementation?
>>> >> >> >>
>>> >> >> >> Thanks a ton for helping out Dan, it is sincerely appreciated.
>>> >> I'll
>>> >> >> >> throw that endpointInterface attribute on my @WebService
>>> >> annotation
>>> >> >> >> right now (which presently sits in my interface) and see what
>>> >> >> happens.
>>> >> >> >>
>>> >> >> >> Brad
>>> >> >> >>
>>> >> >> >> Dan Diephouse wrote:
>>> >> >> >>> 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 <br...@neurofire.com> 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 <br...@neurofire.com> 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 <br...@neurofire.com>
>>> >> >> >>>> >> To: cxf-user@incubator.apache.org
>>> >> >> >>>> >> 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)
>>> >> >> >>>> >>
>>> >> >> >>>> >>
>>> >> >> >>>> >>
>>> >> >> >>>> >>
>>> >> >> >>>> >
>>> >> >> >>>> >
>>> >> >> >>>>
>>> >> >> >>>>
>>> >> >> >>>
>>> >> >> >>>
>>> >> >> >>
>>> >> >> >
>>> >> >>
>>> >> >>
>>> >> >>
>>> >> >
>>> >> >
>>> >>
>>> >>
>>> >
>>> >
>>>
>>>
>>
>>
>


Re: [Fwd: Re: Exception loading CXF service in Spring with HTTP Binding]

Posted by Brad O'Hearne <br...@neurofire.com>.
Dan,

Thanks so much for your help. There was one minor change -- there is no 
"implementor" property that can be set. You have to set the 
"serviceBean" class instead. All appears to load cleanly. Now off to 
test if I can actually hit the service from the outside. I'll let you 
know how that goes. Feel free to ping me when the endpoint config bug 
you mentioned is fixed, and when I should revert to the jaxws:endpoint 
specification again in my beans.xml configuration.

Thanks a ton for your help. Hopefully, all is well, and I'll be able to 
be a daily consumer of this API via its usage in this project, and can 
maybe pitch in here down the road.

Cheers,

Brad

Dan Diephouse wrote:
> Oops, my bad. Well it seems our schema is missing the approrpriate
> bindingUri/bindingId element. Argh... Alrighty, we'll have to fall 
> back to
> the old spring syntax:
>
> <bean class="org.apache.cxf.jaxws.JaxWsServerFactoryBean"
> init-method="create">
>  <property name="serviceClass"
> value="com.brad.user.IUserService<http://apache.org/cxf/binding/http>
> "/>
>  <property name="implementor">
>     <bean class="com.brad.UserService"/>
>  </property>
>  <property name="serviceClass" value="com.brad.user.IUserService"/>
>  <property name="address" value="/UserService"/>
>  <property name="bindingId" value="http://apache.org/cxf/binding/http"/>
>  <property name="serviceFactory" ref="JaxWsServiceFactoryBean"/>
> </bean>
>
> I've made the schema fix in SVN and am working on fixing the other bug 
> you
> ran into now...
> - Dan
>
> On 7/14/07, Brad O'Hearne <br...@neurofire.com> wrote:
>>
>> Dan,
>>
>> That is what I tried first, at your original recommendation. The problem
>> is that the jaxws:server element according to the schema doesn't have
>> either "implementor" or "bindingUri" attributes. It instead has an
>> "implementor" element, and a "binding" element, which I tried using, in
>> the markup I sent you, but had no luck, and got the exception. The
>> schema isn't any clue as to what I'm supposed to have there.
>>
>> Brad
>>
>> Dan Diephouse wrote:
>> > What you want is this:
>> >
>> > <jaxws:server id="userService"
>> >       serviceClass="com.brad.user.IUserService"
>> >       address="/UserService"
>> >       bindingUri="http://apache.org/cxf/binding/http"
>> >       implementor="com.brad.UserService">
>> >       <jaxws:serviceFactory>
>> >           <ref bean="JaxWsServiceFactoryBean" />
>> >       </jaxws:serviceFactory>
>> >   </jaxws:server>
>> >
>> > Regards,
>> >
>> > - Dan
>> >
>> > On 7/14/07, Brad O'Hearne <br...@neurofire.com> wrote:
>> >>
>> >> Dan,
>> >>
>> >> Thanks so much for tracking this down. Unfortunately, I'm still 
>> having
>> >> some problems, because in the jaxws:server element markup you
>> suggested,
>> >> neither the implementor or bindingUri attributes are legal. I popped
>> >> open the jaxws.xsd schema, to try to see if I could resolve it, and
>> here
>> >> is what I put together:
>> >>
>> >>     <jaxws:server id="userService"
>> >>         serviceClass="com.brad.user.IUserService"
>> >>         address="/UserService">
>> >>
>> >> <jaxws:binding>http://apache.org/cxf/binding/http</jaxws:binding>
>> >>         <jaxws:implementor>com.brad.UserService</jaxws:implementor>
>> >>         <jaxws:serviceFactory>
>> >>             <ref bean="JaxWsServiceFactoryBean" />
>> >>         </jaxws:serviceFactory>
>> >>     </jaxws:server>
>> >>
>> >>
>> >> but unfortunately, that doesn't work either. I'm failing on the 
>> binding
>> >> it appears. I figured it probably wanted a class name rather than a
>> uri,
>> >> but the error output I got suggests that there's probably more info
>> >> needed to create the binding. The schema wasn't any clue on what 
>> to put
>> >> for this element. Here is the output below:
>> >>
>> >> ERROR [main] (ContextLoader.java:203) - Context initialization failed
>> >> org.springframework.beans.factory.BeanDefinitionStoreException:
>> >> Unexpected exception parsing XML document from ServletContext 
>> resource
>> >> [/WEB-INF/beans.xml]; nested exception is
>> >> java.lang.IllegalStateException: bindingConfig property must have 
>> child
>> >> elements!
>> >> Caused by:
>> >> java.lang.IllegalStateException: bindingConfig property must have 
>> child
>> >> elements!
>> >>
>> >> Brad
>> >>
>> >> Dan Diephouse wrote:
>> >> > OK, I wrote a test case and I see whats happening now. 
>> Unfortunately
>> >> when
>> >> > using EndpointImpl (which <jaxws:endpoint> does), somehow the HTTP
>> >> > Binding
>> >> > seems to be looking for the annotations on the impl class instead
>> >> of the
>> >> > interface class :-\.
>> >> >
>> >> > Try this instead:
>> >> >
>> >> >
>> >> >   <jaxws:server id="userService"
>> >> >       serviceClass="com.brad.user.IUserService"
>> >> >       implementor="com.brad.user.UserService"
>> >> >       address="/UserService"
>> >> >       bindingUri="http://apache.org/cxf/binding/http">
>> >> >       <jaxws:serviceFactory>
>> >> >           <ref bean="JaxWsServiceFactoryBean" />
>> >> >       </jaxws:serviceFactory>
>> >> >   </jaxws:server>
>> >> >
>> >> > Notice that its jaxws:server, not jaxws:endpoint. (This creates 
>> a CXF
>> >> > Server
>> >> > object instead of a JAX-WS Endpoint object and allows more 
>> control of
>> >> how
>> >> > CXF creates the service). This will tell CXF to look at the
>> >> > IUserService for
>> >> > annotations.
>> >> >
>> >> > I'll fix this bug in SVN later today, but in the meantime that 
>> should
>> >> > work.
>> >> >
>> >> > Cheers,
>> >> > - Dan
>> >> >
>> >> > On 7/14/07, Brad O'Hearne <br...@neurofire.com> wrote:
>> >> >>
>> >> >> Dan,
>> >> >>
>> >> >> I just tried the endpointInterface attribute now on my
>> implementation
>> >> >> class, while leaving just the @WebService and method annotations
>> >> on my
>> >> >> interface class, as follows:
>> >> >>
>> >> >> @WebService (endpointInterface = "com.brad.user.IUserService")
>> >> >> public class UserService implements IUserService {...
>> >> >>
>> >> >> @WebService
>> >> >> public interface IUserService {
>> >> >>
>> >> >> As stated, I left the annotations on my one method in 
>> IUserService.
>> I
>> >> >> annotated no methods in UserService. The full output / error I get
>> is
>> >> >> below. The interesting thing is that these methods that the log
>> shows
>> >> >> are being set up exist only in the implementation class, and 
>> are not
>> >> >> annotated. They do not exist in the interface class. The one 
>> method
>> >> that
>> >> >> is annotated in my interface class, getUsers(), is never 
>> mentioned.
>> >> >>
>> >> >> INFO: Creating Service 
>> {http://user.brad.com/}UserServiceServicefrom
>> >> >> class com.brad.user.UserService
>> >> >> DEBUG [main] (AbstractBeanFactory.java:203) - Returning cached
>> >> instance
>> >> >> of singleton bean '
>> >> >> org.apache.cxf.transport.servlet.ServletTransportFactory'
>> >> >> DEBUG [main] (AbstractBeanFactory.java:203) - Returning cached
>> >> instance
>> >> >> of singleton bean '
>> >> >> org.apache.cxf.transport.servlet.ServletTransportFactory'
>> >> >> DEBUG [main] (AbstractBeanFactory.java:203) - Returning cached
>> >> instance
>> >> >> of singleton bean '
>> >> >> org.apache.cxf.transport.servlet.ServletTransportFactory'
>> >> >> DEBUG [main] (AbstractBeanFactory.java:203) - Returning cached
>> >> instance
>> >> >> of singleton bean '
>> >> >> org.apache.cxf.transport.servlet.ServletTransportFactory'
>> >> >> DEBUG [main] (AbstractBeanFactory.java:203) - Returning cached
>> >> instance
>> >> >> of singleton bean '
>> >> >> org.apache.cxf.transport.servlet.ServletTransportFactory'
>> >> >> DEBUG [main] (AbstractBeanFactory.java:203) - Returning cached
>> >> instance
>> >> >> of singleton bean '
>> >> >> org.apache.cxf.transport.servlet.ServletTransportFactory'
>> >> >> Jul 14, 2007 10:01:59 AM
>> >> >> org.apache.cxf.binding.http.strategy.ConventionStrategy map
>> >> >> INFO: Mapping method createUser to resource /eUsers and verb POST
>> >> >> Jul 14, 2007 10:01:59 AM
>> >> >> org.apache.cxf.binding.http.strategy.ConventionStrategy map
>> >> >> INFO: Mapping method modifyUser to resource /modifyUser and verb
>> POST
>> >> >> Jul 14, 2007 10:01:59 AM
>> >> >> org.apache.cxf.binding.http.strategy.ConventionStrategy map
>> >> >> INFO: Mapping method authenticate to resource /authenticate and 
>> verb
>> >> >> POST
>> >> >> Jul 14, 2007 10:01:59 AM
>> >> >> org.apache.cxf.binding.http.strategy.ConventionStrategy map
>> >> >> INFO: Mapping method deleteUser to resource /users and verb DELETE
>> >> >> INFO [main] (DefaultSingletonBeanRegistry.java:285) - Destroying
>> >> >> singletons in
>> >> >>
>> >> >>
>> >>
>> org.springframework.beans.factory.support.DefaultListableBeanFactory@1248979 
>>
>> >>
>> >> >>
>> >> >> :
>> >> >> defining beans
>> >> >> [cxf,org.apache.cxf.bus.spring.Jsr250BeanPostProcessor,
>> >> >> org.apache.cxf.bus.spring.BusExtensionPostProcessor,
>> >> >> org.apache.cxf.resource.ResourceManager,
>> >> >> org.apache.cxf.binding.BindingFactoryManager,
>> >> >> org.apache.cxf.transport.DestinationFactoryManager,
>> >> >> org.apache.cxf.transport.ConduitInitiatorManager,
>> >> >> org.apache.cxf.wsdl.WSDLManager,org.apache.cxf.phase.PhaseManager,
>> >> >> org.apache.cxf.workqueue.WorkQueueManager,
>> >> >> org.apache.cxf.buslifecycle.BusLifeCycleManager,
>> >> >> org.apache.cxf.endpoint.ServerRegistry,
>> >> >> org.apache.cxf.endpoint.ServerLifeCycleManager,
>> >> >> org.apache.cxf.endpoint.ClientLifeCycleManager,
>> >> >> org.apache.cxf.transports.http.QueryHandlerRegistry,
>> >> >> org.apache.cxf.endpoint.EndpointResolverRegistry,
>> >> >> org.apache.cxf.headers.HeaderManager,
>> >> >> org.apache.cxf.catalog.OASISCatalogManager,
>> >> >> org.apache.cxf.binding.http.HttpBindingFactory,
>> >> >> org.apache.cxf.transport.servlet.ServletTransportFactory
>> >> >> ,JaxWsServiceFactoryBean,userService];
>> >> >> root of factory hierarchy
>> >> >> DEBUG [main] (DefaultSingletonBeanRegistry.java:337) - Retrieved
>> >> >> dependent beans for bean 'JaxWsServiceFactoryBean': [userService]
>> >> >> DEBUG [main] (DefaultSingletonBeanRegistry.java:337) - Retrieved
>> >> >> dependent beans for bean
>> >> >> 'org.apache.cxf.configuration.spring.SpringBeanMap#1c2a1ed':
>> >> >> [org.apache.cxf.transport.ConduitInitiatorManager]
>> >> >> DEBUG [main] (DefaultSingletonBeanRegistry.java:337) - Retrieved
>> >> >> dependent beans for bean
>> >> >> 'org.apache.cxf.configuration.spring.SpringBeanMap#7ab40c':
>> >> >> [org.apache.cxf.transport.DestinationFactoryManager]
>> >> >> DEBUG [main] (DefaultSingletonBeanRegistry.java:337) - Retrieved
>> >> >> dependent beans for bean
>> >> >> 'org.apache.cxf.configuration.spring.SpringBeanMap#117c0eb':
>> >> >> [org.apache.cxf.binding.BindingFactoryManager]
>> >> >> DEBUG [main] (DefaultSingletonBeanRegistry.java:337) - Retrieved
>> >> >> dependent beans for bean
>> >> >> 'org.apache.cxf.resource.ClassLoaderResolver#19c5048':
>> >> >> [org.apache.cxf.resource.ResourceManager]
>> >> >> DEBUG [main] (DefaultSingletonBeanRegistry.java:337) - Retrieved
>> >> >> dependent beans for bean
>> >> >> 'org.apache.cxf.resource.ClasspathResolver#17d2f0e':
>> >> >> [org.apache.cxf.resource.ResourceManager]
>> >> >> 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)
>> >> >> Jul 14, 2007 10:01:59 AM org.apache.catalina.core.StandardContext
>> >> >> listenerStart
>> >> >> SEVERE: Exception sending context initialized event to listener
>> >> instance
>> >> >> of class org.springframework.web.context.ContextLoaderListener
>> >> >> 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)
>> >> >> Jul 14, 2007 10:01:59 AM org.apache.catalina.core.StandardContext
>> >> start
>> >> >> SEVERE: Error listenerStart
>> >> >> Jul 14, 2007 10:01:59 AM org.a
>> >> >>
>> >> >>
>> >> >> Brad O'Hearne wrote:
>> >> >> > Dan,
>> >> >> >
>> >> >> > I just tried the endpointInterface attribute on my interface
>> class,
>> >> as
>> >> >> > follows:
>> >> >> >
>> >> >> > @WebService (endpointInterface = "com.brad.user.IUserService")
>> >> >> > public interface IUserService {
>> >> >> >
>> >> >> > and here is the error I receive:
>> >> >> >
>> >> >> > 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 javax.xml.ws.WebServiceException:
>> >> >> > Attributes portName, serviceName and endpointInterface are not
>> >> allowed
>> >> >> > in the @WebService annotation of an SEI.
>> >> >> > Caused by:
>> >> >> > javax.xml.ws.WebServiceException: Attributes portName, 
>> serviceName
>> >> and
>> >> >> > endpointInterface are not allowed in the @WebService annotation
>> >> of an
>> >> >> > SEI.
>> >> >> >    at
>> >> >> > org.apache.cxf.jaxws.support.JaxWsImplementorInfo.initialise(
>> >> >> JaxWsImplementorInfo.java:279)
>> >> >> >
>> >> >> >    at
>> >> >> > org.apache.cxf.jaxws.support.JaxWsImplementorInfo.<init>(
>> >> >> JaxWsImplementorInfo.java:57)
>> >> >> >
>> >> >> >
>> >> >> > I think this probably goes back to the design pattern mentioned
>> >> in my
>> >> >> > previous post (annotations on the interface, none of the
>> >> >> > implementation class). I'm guessing we are on the cusp of having
>> >> this
>> >> >> > solved.
>> >> >> >
>> >> >> > Thanks,
>> >> >> >
>> >> >> > Brad
>> >> >> >
>> >> >> > Brad O'Hearne wrote:
>> >> >> >> Dan,
>> >> >> >>
>> >> >> >> I think you may have hit on the mystery here. I do not have an
>> >> >> >> endpoint interface defined on my @WebService. But the rest of
>> your
>> >> >> >> answer below suggests that I may have done something else wrong
>> in
>> >> >> >> general. My annotations occur entirely in my interface, i.e.
>> >> >> >>
>> >> >> >> @WebService
>> >> >> >> public interface IUserService ...
>> >> >> >>
>> >> >> >> and my implementing class has no annotations whatsoever, i.e.:
>> >> >> >>
>> >> >> >> public class UserService extends IUserService ...
>> >> >> >>
>> >> >> >> and from the past posts I have, you'll see that my beans.xml 
>> file
>> >> >> >> references the implementation class, i.e.
>> >> >> >>
>> >> >> >>   <jaxws:endpoint id="userService"
>> >> >> >>       serviceClass="com.brad.user.IUserService"
>> >> >> >>       implementor="com.brad.user.UserService"
>> >> >> >>       address="/UserService"
>> >> >> >>       bindingUri="http://apache.org/cxf/binding/http"
>> >> >> >>       >
>> >> >> >>       <jaxws:serviceFactory>
>> >> >> >>           <ref bean="JaxWsServiceFactoryBean" />
>> >> >> >>       </jaxws:serviceFactory>
>> >> >> >>   </jaxws:endpoint>
>> >> >> >>
>> >> >> >> This was the pattern used in XFire which worked, and the
>> >> pattern set
>> >> >> >> forth in the CXF user's guide, as in:
>> >> >> >> http://cwiki.apache.org/CXF20DOC/http-binding.html
>> >> >> >>
>> >> >> >> But perhaps I've read it wrong. So I'll ask...
>> >> >> >>
>> >> >> >> 1. Should my annotations be on my implementation class or my
>> >> >> >> interface class?
>> >> >> >> 2. Depending on the answer to 1), if annotations are put in the
>> >> >> >> interface, the endpointInterface attribute would logically
>> >> always be
>> >> >> >> the same name as that interface. Is this accurate?
>> >> >> >> 3. Should the implementor attribute in the beans.xml
>> >> jaxws:endpoint
>> >> >> >> element reference the interface, or the imlementation?
>> >> >> >>
>> >> >> >> Thanks a ton for helping out Dan, it is sincerely appreciated.
>> >> I'll
>> >> >> >> throw that endpointInterface attribute on my @WebService
>> >> annotation
>> >> >> >> right now (which presently sits in my interface) and see what
>> >> >> happens.
>> >> >> >>
>> >> >> >> Brad
>> >> >> >>
>> >> >> >> Dan Diephouse wrote:
>> >> >> >>> 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 <br...@neurofire.com> 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 <br...@neurofire.com> 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 <br...@neurofire.com>
>> >> >> >>>> >> To: cxf-user@incubator.apache.org
>> >> >> >>>> >> 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)
>> >> >> >>>> >>
>> >> >> >>>> >>
>> >> >> >>>> >>
>> >> >> >>>> >>
>> >> >> >>>> >
>> >> >> >>>> >
>> >> >> >>>>
>> >> >> >>>>
>> >> >> >>>
>> >> >> >>>
>> >> >> >>
>> >> >> >
>> >> >>
>> >> >>
>> >> >>
>> >> >
>> >> >
>> >>
>> >>
>> >
>> >
>>
>>
>
>


Re: [Fwd: Re: Exception loading CXF service in Spring with HTTP Binding]

Posted by Dan Diephouse <da...@envoisolutions.com>.
Oops, my bad. Well it seems our schema is missing the approrpriate
bindingUri/bindingId element. Argh... Alrighty, we'll have to fall back to
the old spring syntax:

<bean class="org.apache.cxf.jaxws.JaxWsServerFactoryBean"
init-method="create">
  <property name="serviceClass"
value="com.brad.user.IUserService<http://apache.org/cxf/binding/http>
"/>
  <property name="implementor">
     <bean class="com.brad.UserService"/>
  </property>
  <property name="serviceClass" value="com.brad.user.IUserService"/>
  <property name="address" value="/UserService"/>
  <property name="bindingId" value="http://apache.org/cxf/binding/http"/>
  <property name="serviceFactory" ref="JaxWsServiceFactoryBean"/>
</bean>

I've made the schema fix in SVN and am working on fixing the other bug you
ran into now...
- Dan

On 7/14/07, Brad O'Hearne <br...@neurofire.com> wrote:
>
> Dan,
>
> That is what I tried first, at your original recommendation. The problem
> is that the jaxws:server element according to the schema doesn't have
> either "implementor" or "bindingUri" attributes. It instead has an
> "implementor" element, and a "binding" element, which I tried using, in
> the markup I sent you, but had no luck, and got the exception. The
> schema isn't any clue as to what I'm supposed to have there.
>
> Brad
>
> Dan Diephouse wrote:
> > What you want is this:
> >
> > <jaxws:server id="userService"
> >       serviceClass="com.brad.user.IUserService"
> >       address="/UserService"
> >       bindingUri="http://apache.org/cxf/binding/http"
> >       implementor="com.brad.UserService">
> >       <jaxws:serviceFactory>
> >           <ref bean="JaxWsServiceFactoryBean" />
> >       </jaxws:serviceFactory>
> >   </jaxws:server>
> >
> > Regards,
> >
> > - Dan
> >
> > On 7/14/07, Brad O'Hearne <br...@neurofire.com> wrote:
> >>
> >> Dan,
> >>
> >> Thanks so much for tracking this down. Unfortunately, I'm still having
> >> some problems, because in the jaxws:server element markup you
> suggested,
> >> neither the implementor or bindingUri attributes are legal. I popped
> >> open the jaxws.xsd schema, to try to see if I could resolve it, and
> here
> >> is what I put together:
> >>
> >>     <jaxws:server id="userService"
> >>         serviceClass="com.brad.user.IUserService"
> >>         address="/UserService">
> >>
> >> <jaxws:binding>http://apache.org/cxf/binding/http</jaxws:binding>
> >>         <jaxws:implementor>com.brad.UserService</jaxws:implementor>
> >>         <jaxws:serviceFactory>
> >>             <ref bean="JaxWsServiceFactoryBean" />
> >>         </jaxws:serviceFactory>
> >>     </jaxws:server>
> >>
> >>
> >> but unfortunately, that doesn't work either. I'm failing on the binding
> >> it appears. I figured it probably wanted a class name rather than a
> uri,
> >> but the error output I got suggests that there's probably more info
> >> needed to create the binding. The schema wasn't any clue on what to put
> >> for this element. Here is the output below:
> >>
> >> ERROR [main] (ContextLoader.java:203) - Context initialization failed
> >> org.springframework.beans.factory.BeanDefinitionStoreException:
> >> Unexpected exception parsing XML document from ServletContext resource
> >> [/WEB-INF/beans.xml]; nested exception is
> >> java.lang.IllegalStateException: bindingConfig property must have child
> >> elements!
> >> Caused by:
> >> java.lang.IllegalStateException: bindingConfig property must have child
> >> elements!
> >>
> >> Brad
> >>
> >> Dan Diephouse wrote:
> >> > OK, I wrote a test case and I see whats happening now. Unfortunately
> >> when
> >> > using EndpointImpl (which <jaxws:endpoint> does), somehow the HTTP
> >> > Binding
> >> > seems to be looking for the annotations on the impl class instead
> >> of the
> >> > interface class :-\.
> >> >
> >> > Try this instead:
> >> >
> >> >
> >> >   <jaxws:server id="userService"
> >> >       serviceClass="com.brad.user.IUserService"
> >> >       implementor="com.brad.user.UserService"
> >> >       address="/UserService"
> >> >       bindingUri="http://apache.org/cxf/binding/http">
> >> >       <jaxws:serviceFactory>
> >> >           <ref bean="JaxWsServiceFactoryBean" />
> >> >       </jaxws:serviceFactory>
> >> >   </jaxws:server>
> >> >
> >> > Notice that its jaxws:server, not jaxws:endpoint. (This creates a CXF
> >> > Server
> >> > object instead of a JAX-WS Endpoint object and allows more control of
> >> how
> >> > CXF creates the service). This will tell CXF to look at the
> >> > IUserService for
> >> > annotations.
> >> >
> >> > I'll fix this bug in SVN later today, but in the meantime that should
> >> > work.
> >> >
> >> > Cheers,
> >> > - Dan
> >> >
> >> > On 7/14/07, Brad O'Hearne <br...@neurofire.com> wrote:
> >> >>
> >> >> Dan,
> >> >>
> >> >> I just tried the endpointInterface attribute now on my
> implementation
> >> >> class, while leaving just the @WebService and method annotations
> >> on my
> >> >> interface class, as follows:
> >> >>
> >> >> @WebService (endpointInterface = "com.brad.user.IUserService")
> >> >> public class UserService implements IUserService {...
> >> >>
> >> >> @WebService
> >> >> public interface IUserService {
> >> >>
> >> >> As stated, I left the annotations on my one method in IUserService.
> I
> >> >> annotated no methods in UserService. The full output / error I get
> is
> >> >> below. The interesting thing is that these methods that the log
> shows
> >> >> are being set up exist only in the implementation class, and are not
> >> >> annotated. They do not exist in the interface class. The one method
> >> that
> >> >> is annotated in my interface class, getUsers(), is never mentioned.
> >> >>
> >> >> INFO: Creating Service {http://user.brad.com/}UserServiceServicefrom
> >> >> class com.brad.user.UserService
> >> >> DEBUG [main] (AbstractBeanFactory.java:203) - Returning cached
> >> instance
> >> >> of singleton bean '
> >> >> org.apache.cxf.transport.servlet.ServletTransportFactory'
> >> >> DEBUG [main] (AbstractBeanFactory.java:203) - Returning cached
> >> instance
> >> >> of singleton bean '
> >> >> org.apache.cxf.transport.servlet.ServletTransportFactory'
> >> >> DEBUG [main] (AbstractBeanFactory.java:203) - Returning cached
> >> instance
> >> >> of singleton bean '
> >> >> org.apache.cxf.transport.servlet.ServletTransportFactory'
> >> >> DEBUG [main] (AbstractBeanFactory.java:203) - Returning cached
> >> instance
> >> >> of singleton bean '
> >> >> org.apache.cxf.transport.servlet.ServletTransportFactory'
> >> >> DEBUG [main] (AbstractBeanFactory.java:203) - Returning cached
> >> instance
> >> >> of singleton bean '
> >> >> org.apache.cxf.transport.servlet.ServletTransportFactory'
> >> >> DEBUG [main] (AbstractBeanFactory.java:203) - Returning cached
> >> instance
> >> >> of singleton bean '
> >> >> org.apache.cxf.transport.servlet.ServletTransportFactory'
> >> >> Jul 14, 2007 10:01:59 AM
> >> >> org.apache.cxf.binding.http.strategy.ConventionStrategy map
> >> >> INFO: Mapping method createUser to resource /eUsers and verb POST
> >> >> Jul 14, 2007 10:01:59 AM
> >> >> org.apache.cxf.binding.http.strategy.ConventionStrategy map
> >> >> INFO: Mapping method modifyUser to resource /modifyUser and verb
> POST
> >> >> Jul 14, 2007 10:01:59 AM
> >> >> org.apache.cxf.binding.http.strategy.ConventionStrategy map
> >> >> INFO: Mapping method authenticate to resource /authenticate and verb
> >> >> POST
> >> >> Jul 14, 2007 10:01:59 AM
> >> >> org.apache.cxf.binding.http.strategy.ConventionStrategy map
> >> >> INFO: Mapping method deleteUser to resource /users and verb DELETE
> >> >> INFO [main] (DefaultSingletonBeanRegistry.java:285) - Destroying
> >> >> singletons in
> >> >>
> >> >>
> >>
> org.springframework.beans.factory.support.DefaultListableBeanFactory@1248979
> >>
> >> >>
> >> >> :
> >> >> defining beans
> >> >> [cxf,org.apache.cxf.bus.spring.Jsr250BeanPostProcessor,
> >> >> org.apache.cxf.bus.spring.BusExtensionPostProcessor,
> >> >> org.apache.cxf.resource.ResourceManager,
> >> >> org.apache.cxf.binding.BindingFactoryManager,
> >> >> org.apache.cxf.transport.DestinationFactoryManager,
> >> >> org.apache.cxf.transport.ConduitInitiatorManager,
> >> >> org.apache.cxf.wsdl.WSDLManager,org.apache.cxf.phase.PhaseManager,
> >> >> org.apache.cxf.workqueue.WorkQueueManager,
> >> >> org.apache.cxf.buslifecycle.BusLifeCycleManager,
> >> >> org.apache.cxf.endpoint.ServerRegistry,
> >> >> org.apache.cxf.endpoint.ServerLifeCycleManager,
> >> >> org.apache.cxf.endpoint.ClientLifeCycleManager,
> >> >> org.apache.cxf.transports.http.QueryHandlerRegistry,
> >> >> org.apache.cxf.endpoint.EndpointResolverRegistry,
> >> >> org.apache.cxf.headers.HeaderManager,
> >> >> org.apache.cxf.catalog.OASISCatalogManager,
> >> >> org.apache.cxf.binding.http.HttpBindingFactory,
> >> >> org.apache.cxf.transport.servlet.ServletTransportFactory
> >> >> ,JaxWsServiceFactoryBean,userService];
> >> >> root of factory hierarchy
> >> >> DEBUG [main] (DefaultSingletonBeanRegistry.java:337) - Retrieved
> >> >> dependent beans for bean 'JaxWsServiceFactoryBean': [userService]
> >> >> DEBUG [main] (DefaultSingletonBeanRegistry.java:337) - Retrieved
> >> >> dependent beans for bean
> >> >> 'org.apache.cxf.configuration.spring.SpringBeanMap#1c2a1ed':
> >> >> [org.apache.cxf.transport.ConduitInitiatorManager]
> >> >> DEBUG [main] (DefaultSingletonBeanRegistry.java:337) - Retrieved
> >> >> dependent beans for bean
> >> >> 'org.apache.cxf.configuration.spring.SpringBeanMap#7ab40c':
> >> >> [org.apache.cxf.transport.DestinationFactoryManager]
> >> >> DEBUG [main] (DefaultSingletonBeanRegistry.java:337) - Retrieved
> >> >> dependent beans for bean
> >> >> 'org.apache.cxf.configuration.spring.SpringBeanMap#117c0eb':
> >> >> [org.apache.cxf.binding.BindingFactoryManager]
> >> >> DEBUG [main] (DefaultSingletonBeanRegistry.java:337) - Retrieved
> >> >> dependent beans for bean
> >> >> 'org.apache.cxf.resource.ClassLoaderResolver#19c5048':
> >> >> [org.apache.cxf.resource.ResourceManager]
> >> >> DEBUG [main] (DefaultSingletonBeanRegistry.java:337) - Retrieved
> >> >> dependent beans for bean
> >> >> 'org.apache.cxf.resource.ClasspathResolver#17d2f0e':
> >> >> [org.apache.cxf.resource.ResourceManager]
> >> >> 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)
> >> >> Jul 14, 2007 10:01:59 AM org.apache.catalina.core.StandardContext
> >> >> listenerStart
> >> >> SEVERE: Exception sending context initialized event to listener
> >> instance
> >> >> of class org.springframework.web.context.ContextLoaderListener
> >> >> 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)
> >> >> Jul 14, 2007 10:01:59 AM org.apache.catalina.core.StandardContext
> >> start
> >> >> SEVERE: Error listenerStart
> >> >> Jul 14, 2007 10:01:59 AM org.a
> >> >>
> >> >>
> >> >> Brad O'Hearne wrote:
> >> >> > Dan,
> >> >> >
> >> >> > I just tried the endpointInterface attribute on my interface
> class,
> >> as
> >> >> > follows:
> >> >> >
> >> >> > @WebService (endpointInterface = "com.brad.user.IUserService")
> >> >> > public interface IUserService {
> >> >> >
> >> >> > and here is the error I receive:
> >> >> >
> >> >> > 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 javax.xml.ws.WebServiceException:
> >> >> > Attributes portName, serviceName and endpointInterface are not
> >> allowed
> >> >> > in the @WebService annotation of an SEI.
> >> >> > Caused by:
> >> >> > javax.xml.ws.WebServiceException: Attributes portName, serviceName
> >> and
> >> >> > endpointInterface are not allowed in the @WebService annotation
> >> of an
> >> >> > SEI.
> >> >> >    at
> >> >> > org.apache.cxf.jaxws.support.JaxWsImplementorInfo.initialise(
> >> >> JaxWsImplementorInfo.java:279)
> >> >> >
> >> >> >    at
> >> >> > org.apache.cxf.jaxws.support.JaxWsImplementorInfo.<init>(
> >> >> JaxWsImplementorInfo.java:57)
> >> >> >
> >> >> >
> >> >> > I think this probably goes back to the design pattern mentioned
> >> in my
> >> >> > previous post (annotations on the interface, none of the
> >> >> > implementation class). I'm guessing we are on the cusp of having
> >> this
> >> >> > solved.
> >> >> >
> >> >> > Thanks,
> >> >> >
> >> >> > Brad
> >> >> >
> >> >> > Brad O'Hearne wrote:
> >> >> >> Dan,
> >> >> >>
> >> >> >> I think you may have hit on the mystery here. I do not have an
> >> >> >> endpoint interface defined on my @WebService. But the rest of
> your
> >> >> >> answer below suggests that I may have done something else wrong
> in
> >> >> >> general. My annotations occur entirely in my interface, i.e.
> >> >> >>
> >> >> >> @WebService
> >> >> >> public interface IUserService ...
> >> >> >>
> >> >> >> and my implementing class has no annotations whatsoever, i.e.:
> >> >> >>
> >> >> >> public class UserService extends IUserService ...
> >> >> >>
> >> >> >> and from the past posts I have, you'll see that my beans.xml file
> >> >> >> references the implementation class, i.e.
> >> >> >>
> >> >> >>   <jaxws:endpoint id="userService"
> >> >> >>       serviceClass="com.brad.user.IUserService"
> >> >> >>       implementor="com.brad.user.UserService"
> >> >> >>       address="/UserService"
> >> >> >>       bindingUri="http://apache.org/cxf/binding/http"
> >> >> >>       >
> >> >> >>       <jaxws:serviceFactory>
> >> >> >>           <ref bean="JaxWsServiceFactoryBean" />
> >> >> >>       </jaxws:serviceFactory>
> >> >> >>   </jaxws:endpoint>
> >> >> >>
> >> >> >> This was the pattern used in XFire which worked, and the
> >> pattern set
> >> >> >> forth in the CXF user's guide, as in:
> >> >> >> http://cwiki.apache.org/CXF20DOC/http-binding.html
> >> >> >>
> >> >> >> But perhaps I've read it wrong. So I'll ask...
> >> >> >>
> >> >> >> 1. Should my annotations be on my implementation class or my
> >> >> >> interface class?
> >> >> >> 2. Depending on the answer to 1), if annotations are put in the
> >> >> >> interface, the endpointInterface attribute would logically
> >> always be
> >> >> >> the same name as that interface. Is this accurate?
> >> >> >> 3. Should the implementor attribute in the beans.xml
> >> jaxws:endpoint
> >> >> >> element reference the interface, or the imlementation?
> >> >> >>
> >> >> >> Thanks a ton for helping out Dan, it is sincerely appreciated.
> >> I'll
> >> >> >> throw that endpointInterface attribute on my @WebService
> >> annotation
> >> >> >> right now (which presently sits in my interface) and see what
> >> >> happens.
> >> >> >>
> >> >> >> Brad
> >> >> >>
> >> >> >> Dan Diephouse wrote:
> >> >> >>> 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 <br...@neurofire.com> 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 <br...@neurofire.com> 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 <br...@neurofire.com>
> >> >> >>>> >> To: cxf-user@incubator.apache.org
> >> >> >>>> >> 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

Re: [Fwd: Re: Exception loading CXF service in Spring with HTTP Binding]

Posted by Brad O'Hearne <br...@neurofire.com>.
Dan,

That is what I tried first, at your original recommendation. The problem 
is that the jaxws:server element according to the schema doesn't have 
either "implementor" or "bindingUri" attributes. It instead has an 
"implementor" element, and a "binding" element, which I tried using, in 
the markup I sent you, but had no luck, and got the exception. The 
schema isn't any clue as to what I'm supposed to have there.

Brad

Dan Diephouse wrote:
> What you want is this:
>
> <jaxws:server id="userService"
>       serviceClass="com.brad.user.IUserService"
>       address="/UserService"
>       bindingUri="http://apache.org/cxf/binding/http"
>       implementor="com.brad.UserService">
>       <jaxws:serviceFactory>
>           <ref bean="JaxWsServiceFactoryBean" />
>       </jaxws:serviceFactory>
>   </jaxws:server>
>
> Regards,
>
> - Dan
>
> On 7/14/07, Brad O'Hearne <br...@neurofire.com> wrote:
>>
>> Dan,
>>
>> Thanks so much for tracking this down. Unfortunately, I'm still having
>> some problems, because in the jaxws:server element markup you suggested,
>> neither the implementor or bindingUri attributes are legal. I popped
>> open the jaxws.xsd schema, to try to see if I could resolve it, and here
>> is what I put together:
>>
>>     <jaxws:server id="userService"
>>         serviceClass="com.brad.user.IUserService"
>>         address="/UserService">
>>         
>> <jaxws:binding>http://apache.org/cxf/binding/http</jaxws:binding>
>>         <jaxws:implementor>com.brad.UserService</jaxws:implementor>
>>         <jaxws:serviceFactory>
>>             <ref bean="JaxWsServiceFactoryBean" />
>>         </jaxws:serviceFactory>
>>     </jaxws:server>
>>
>>
>> but unfortunately, that doesn't work either. I'm failing on the binding
>> it appears. I figured it probably wanted a class name rather than a uri,
>> but the error output I got suggests that there's probably more info
>> needed to create the binding. The schema wasn't any clue on what to put
>> for this element. Here is the output below:
>>
>> ERROR [main] (ContextLoader.java:203) - Context initialization failed
>> org.springframework.beans.factory.BeanDefinitionStoreException:
>> Unexpected exception parsing XML document from ServletContext resource
>> [/WEB-INF/beans.xml]; nested exception is
>> java.lang.IllegalStateException: bindingConfig property must have child
>> elements!
>> Caused by:
>> java.lang.IllegalStateException: bindingConfig property must have child
>> elements!
>>
>> Brad
>>
>> Dan Diephouse wrote:
>> > OK, I wrote a test case and I see whats happening now. Unfortunately
>> when
>> > using EndpointImpl (which <jaxws:endpoint> does), somehow the HTTP
>> > Binding
>> > seems to be looking for the annotations on the impl class instead 
>> of the
>> > interface class :-\.
>> >
>> > Try this instead:
>> >
>> >
>> >   <jaxws:server id="userService"
>> >       serviceClass="com.brad.user.IUserService"
>> >       implementor="com.brad.user.UserService"
>> >       address="/UserService"
>> >       bindingUri="http://apache.org/cxf/binding/http">
>> >       <jaxws:serviceFactory>
>> >           <ref bean="JaxWsServiceFactoryBean" />
>> >       </jaxws:serviceFactory>
>> >   </jaxws:server>
>> >
>> > Notice that its jaxws:server, not jaxws:endpoint. (This creates a CXF
>> > Server
>> > object instead of a JAX-WS Endpoint object and allows more control of
>> how
>> > CXF creates the service). This will tell CXF to look at the
>> > IUserService for
>> > annotations.
>> >
>> > I'll fix this bug in SVN later today, but in the meantime that should
>> > work.
>> >
>> > Cheers,
>> > - Dan
>> >
>> > On 7/14/07, Brad O'Hearne <br...@neurofire.com> wrote:
>> >>
>> >> Dan,
>> >>
>> >> I just tried the endpointInterface attribute now on my implementation
>> >> class, while leaving just the @WebService and method annotations 
>> on my
>> >> interface class, as follows:
>> >>
>> >> @WebService (endpointInterface = "com.brad.user.IUserService")
>> >> public class UserService implements IUserService {...
>> >>
>> >> @WebService
>> >> public interface IUserService {
>> >>
>> >> As stated, I left the annotations on my one method in IUserService. I
>> >> annotated no methods in UserService. The full output / error I get is
>> >> below. The interesting thing is that these methods that the log shows
>> >> are being set up exist only in the implementation class, and are not
>> >> annotated. They do not exist in the interface class. The one method
>> that
>> >> is annotated in my interface class, getUsers(), is never mentioned.
>> >>
>> >> INFO: Creating Service {http://user.brad.com/}UserServiceService from
>> >> class com.brad.user.UserService
>> >> DEBUG [main] (AbstractBeanFactory.java:203) - Returning cached 
>> instance
>> >> of singleton bean '
>> >> org.apache.cxf.transport.servlet.ServletTransportFactory'
>> >> DEBUG [main] (AbstractBeanFactory.java:203) - Returning cached 
>> instance
>> >> of singleton bean '
>> >> org.apache.cxf.transport.servlet.ServletTransportFactory'
>> >> DEBUG [main] (AbstractBeanFactory.java:203) - Returning cached 
>> instance
>> >> of singleton bean '
>> >> org.apache.cxf.transport.servlet.ServletTransportFactory'
>> >> DEBUG [main] (AbstractBeanFactory.java:203) - Returning cached 
>> instance
>> >> of singleton bean '
>> >> org.apache.cxf.transport.servlet.ServletTransportFactory'
>> >> DEBUG [main] (AbstractBeanFactory.java:203) - Returning cached 
>> instance
>> >> of singleton bean '
>> >> org.apache.cxf.transport.servlet.ServletTransportFactory'
>> >> DEBUG [main] (AbstractBeanFactory.java:203) - Returning cached 
>> instance
>> >> of singleton bean '
>> >> org.apache.cxf.transport.servlet.ServletTransportFactory'
>> >> Jul 14, 2007 10:01:59 AM
>> >> org.apache.cxf.binding.http.strategy.ConventionStrategy map
>> >> INFO: Mapping method createUser to resource /eUsers and verb POST
>> >> Jul 14, 2007 10:01:59 AM
>> >> org.apache.cxf.binding.http.strategy.ConventionStrategy map
>> >> INFO: Mapping method modifyUser to resource /modifyUser and verb POST
>> >> Jul 14, 2007 10:01:59 AM
>> >> org.apache.cxf.binding.http.strategy.ConventionStrategy map
>> >> INFO: Mapping method authenticate to resource /authenticate and verb
>> >> POST
>> >> Jul 14, 2007 10:01:59 AM
>> >> org.apache.cxf.binding.http.strategy.ConventionStrategy map
>> >> INFO: Mapping method deleteUser to resource /users and verb DELETE
>> >> INFO [main] (DefaultSingletonBeanRegistry.java:285) - Destroying
>> >> singletons in
>> >>
>> >>
>> org.springframework.beans.factory.support.DefaultListableBeanFactory@1248979 
>>
>> >>
>> >> :
>> >> defining beans
>> >> [cxf,org.apache.cxf.bus.spring.Jsr250BeanPostProcessor,
>> >> org.apache.cxf.bus.spring.BusExtensionPostProcessor,
>> >> org.apache.cxf.resource.ResourceManager,
>> >> org.apache.cxf.binding.BindingFactoryManager,
>> >> org.apache.cxf.transport.DestinationFactoryManager,
>> >> org.apache.cxf.transport.ConduitInitiatorManager,
>> >> org.apache.cxf.wsdl.WSDLManager,org.apache.cxf.phase.PhaseManager,
>> >> org.apache.cxf.workqueue.WorkQueueManager,
>> >> org.apache.cxf.buslifecycle.BusLifeCycleManager,
>> >> org.apache.cxf.endpoint.ServerRegistry,
>> >> org.apache.cxf.endpoint.ServerLifeCycleManager,
>> >> org.apache.cxf.endpoint.ClientLifeCycleManager,
>> >> org.apache.cxf.transports.http.QueryHandlerRegistry,
>> >> org.apache.cxf.endpoint.EndpointResolverRegistry,
>> >> org.apache.cxf.headers.HeaderManager,
>> >> org.apache.cxf.catalog.OASISCatalogManager,
>> >> org.apache.cxf.binding.http.HttpBindingFactory,
>> >> org.apache.cxf.transport.servlet.ServletTransportFactory
>> >> ,JaxWsServiceFactoryBean,userService];
>> >> root of factory hierarchy
>> >> DEBUG [main] (DefaultSingletonBeanRegistry.java:337) - Retrieved
>> >> dependent beans for bean 'JaxWsServiceFactoryBean': [userService]
>> >> DEBUG [main] (DefaultSingletonBeanRegistry.java:337) - Retrieved
>> >> dependent beans for bean
>> >> 'org.apache.cxf.configuration.spring.SpringBeanMap#1c2a1ed':
>> >> [org.apache.cxf.transport.ConduitInitiatorManager]
>> >> DEBUG [main] (DefaultSingletonBeanRegistry.java:337) - Retrieved
>> >> dependent beans for bean
>> >> 'org.apache.cxf.configuration.spring.SpringBeanMap#7ab40c':
>> >> [org.apache.cxf.transport.DestinationFactoryManager]
>> >> DEBUG [main] (DefaultSingletonBeanRegistry.java:337) - Retrieved
>> >> dependent beans for bean
>> >> 'org.apache.cxf.configuration.spring.SpringBeanMap#117c0eb':
>> >> [org.apache.cxf.binding.BindingFactoryManager]
>> >> DEBUG [main] (DefaultSingletonBeanRegistry.java:337) - Retrieved
>> >> dependent beans for bean
>> >> 'org.apache.cxf.resource.ClassLoaderResolver#19c5048':
>> >> [org.apache.cxf.resource.ResourceManager]
>> >> DEBUG [main] (DefaultSingletonBeanRegistry.java:337) - Retrieved
>> >> dependent beans for bean
>> >> 'org.apache.cxf.resource.ClasspathResolver#17d2f0e':
>> >> [org.apache.cxf.resource.ResourceManager]
>> >> 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)
>> >> Jul 14, 2007 10:01:59 AM org.apache.catalina.core.StandardContext
>> >> listenerStart
>> >> SEVERE: Exception sending context initialized event to listener
>> instance
>> >> of class org.springframework.web.context.ContextLoaderListener
>> >> 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)
>> >> Jul 14, 2007 10:01:59 AM org.apache.catalina.core.StandardContext 
>> start
>> >> SEVERE: Error listenerStart
>> >> Jul 14, 2007 10:01:59 AM org.a
>> >>
>> >>
>> >> Brad O'Hearne wrote:
>> >> > Dan,
>> >> >
>> >> > I just tried the endpointInterface attribute on my interface class,
>> as
>> >> > follows:
>> >> >
>> >> > @WebService (endpointInterface = "com.brad.user.IUserService")
>> >> > public interface IUserService {
>> >> >
>> >> > and here is the error I receive:
>> >> >
>> >> > 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 javax.xml.ws.WebServiceException:
>> >> > Attributes portName, serviceName and endpointInterface are not
>> allowed
>> >> > in the @WebService annotation of an SEI.
>> >> > Caused by:
>> >> > javax.xml.ws.WebServiceException: Attributes portName, serviceName
>> and
>> >> > endpointInterface are not allowed in the @WebService annotation 
>> of an
>> >> > SEI.
>> >> >    at
>> >> > org.apache.cxf.jaxws.support.JaxWsImplementorInfo.initialise(
>> >> JaxWsImplementorInfo.java:279)
>> >> >
>> >> >    at
>> >> > org.apache.cxf.jaxws.support.JaxWsImplementorInfo.<init>(
>> >> JaxWsImplementorInfo.java:57)
>> >> >
>> >> >
>> >> > I think this probably goes back to the design pattern mentioned 
>> in my
>> >> > previous post (annotations on the interface, none of the
>> >> > implementation class). I'm guessing we are on the cusp of having 
>> this
>> >> > solved.
>> >> >
>> >> > Thanks,
>> >> >
>> >> > Brad
>> >> >
>> >> > Brad O'Hearne wrote:
>> >> >> Dan,
>> >> >>
>> >> >> I think you may have hit on the mystery here. I do not have an
>> >> >> endpoint interface defined on my @WebService. But the rest of your
>> >> >> answer below suggests that I may have done something else wrong in
>> >> >> general. My annotations occur entirely in my interface, i.e.
>> >> >>
>> >> >> @WebService
>> >> >> public interface IUserService ...
>> >> >>
>> >> >> and my implementing class has no annotations whatsoever, i.e.:
>> >> >>
>> >> >> public class UserService extends IUserService ...
>> >> >>
>> >> >> and from the past posts I have, you'll see that my beans.xml file
>> >> >> references the implementation class, i.e.
>> >> >>
>> >> >>   <jaxws:endpoint id="userService"
>> >> >>       serviceClass="com.brad.user.IUserService"
>> >> >>       implementor="com.brad.user.UserService"
>> >> >>       address="/UserService"
>> >> >>       bindingUri="http://apache.org/cxf/binding/http"
>> >> >>       >
>> >> >>       <jaxws:serviceFactory>
>> >> >>           <ref bean="JaxWsServiceFactoryBean" />
>> >> >>       </jaxws:serviceFactory>
>> >> >>   </jaxws:endpoint>
>> >> >>
>> >> >> This was the pattern used in XFire which worked, and the 
>> pattern set
>> >> >> forth in the CXF user's guide, as in:
>> >> >> http://cwiki.apache.org/CXF20DOC/http-binding.html
>> >> >>
>> >> >> But perhaps I've read it wrong. So I'll ask...
>> >> >>
>> >> >> 1. Should my annotations be on my implementation class or my
>> >> >> interface class?
>> >> >> 2. Depending on the answer to 1), if annotations are put in the
>> >> >> interface, the endpointInterface attribute would logically 
>> always be
>> >> >> the same name as that interface. Is this accurate?
>> >> >> 3. Should the implementor attribute in the beans.xml 
>> jaxws:endpoint
>> >> >> element reference the interface, or the imlementation?
>> >> >>
>> >> >> Thanks a ton for helping out Dan, it is sincerely appreciated. 
>> I'll
>> >> >> throw that endpointInterface attribute on my @WebService 
>> annotation
>> >> >> right now (which presently sits in my interface) and see what
>> >> happens.
>> >> >>
>> >> >> Brad
>> >> >>
>> >> >> Dan Diephouse wrote:
>> >> >>> 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 <br...@neurofire.com> 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 <br...@neurofire.com> 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 <br...@neurofire.com>
>> >> >>>> >> To: cxf-user@incubator.apache.org
>> >> >>>> >> 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)
>> >> >>>> >>
>> >> >>>> >>
>> >> >>>> >>
>> >> >>>> >>
>> >> >>>> >
>> >> >>>> >
>> >> >>>>
>> >> >>>>
>> >> >>>
>> >> >>>
>> >> >>
>> >> >
>> >>
>> >>
>> >>
>> >
>> >
>>
>>
>
>


Re: [Fwd: Re: Exception loading CXF service in Spring with HTTP Binding]

Posted by Dan Diephouse <da...@envoisolutions.com>.
What you want is this:

 <jaxws:server id="userService"
       serviceClass="com.brad.user.IUserService"
       address="/UserService"
       bindingUri="http://apache.org/cxf/binding/http"
       implementor="com.brad.UserService">
       <jaxws:serviceFactory>
           <ref bean="JaxWsServiceFactoryBean" />
       </jaxws:serviceFactory>
   </jaxws:server>

Regards,

- Dan

On 7/14/07, Brad O'Hearne <br...@neurofire.com> wrote:
>
> Dan,
>
> Thanks so much for tracking this down. Unfortunately, I'm still having
> some problems, because in the jaxws:server element markup you suggested,
> neither the implementor or bindingUri attributes are legal. I popped
> open the jaxws.xsd schema, to try to see if I could resolve it, and here
> is what I put together:
>
>     <jaxws:server id="userService"
>         serviceClass="com.brad.user.IUserService"
>         address="/UserService">
>         <jaxws:binding>http://apache.org/cxf/binding/http</jaxws:binding>
>         <jaxws:implementor>com.brad.UserService</jaxws:implementor>
>         <jaxws:serviceFactory>
>             <ref bean="JaxWsServiceFactoryBean" />
>         </jaxws:serviceFactory>
>     </jaxws:server>
>
>
> but unfortunately, that doesn't work either. I'm failing on the binding
> it appears. I figured it probably wanted a class name rather than a uri,
> but the error output I got suggests that there's probably more info
> needed to create the binding. The schema wasn't any clue on what to put
> for this element. Here is the output below:
>
> ERROR [main] (ContextLoader.java:203) - Context initialization failed
> org.springframework.beans.factory.BeanDefinitionStoreException:
> Unexpected exception parsing XML document from ServletContext resource
> [/WEB-INF/beans.xml]; nested exception is
> java.lang.IllegalStateException: bindingConfig property must have child
> elements!
> Caused by:
> java.lang.IllegalStateException: bindingConfig property must have child
> elements!
>
> Brad
>
> Dan Diephouse wrote:
> > OK, I wrote a test case and I see whats happening now. Unfortunately
> when
> > using EndpointImpl (which <jaxws:endpoint> does), somehow the HTTP
> > Binding
> > seems to be looking for the annotations on the impl class instead of the
> > interface class :-\.
> >
> > Try this instead:
> >
> >
> >   <jaxws:server id="userService"
> >       serviceClass="com.brad.user.IUserService"
> >       implementor="com.brad.user.UserService"
> >       address="/UserService"
> >       bindingUri="http://apache.org/cxf/binding/http">
> >       <jaxws:serviceFactory>
> >           <ref bean="JaxWsServiceFactoryBean" />
> >       </jaxws:serviceFactory>
> >   </jaxws:server>
> >
> > Notice that its jaxws:server, not jaxws:endpoint. (This creates a CXF
> > Server
> > object instead of a JAX-WS Endpoint object and allows more control of
> how
> > CXF creates the service). This will tell CXF to look at the
> > IUserService for
> > annotations.
> >
> > I'll fix this bug in SVN later today, but in the meantime that should
> > work.
> >
> > Cheers,
> > - Dan
> >
> > On 7/14/07, Brad O'Hearne <br...@neurofire.com> wrote:
> >>
> >> Dan,
> >>
> >> I just tried the endpointInterface attribute now on my implementation
> >> class, while leaving just the @WebService and method annotations on my
> >> interface class, as follows:
> >>
> >> @WebService (endpointInterface = "com.brad.user.IUserService")
> >> public class UserService implements IUserService {...
> >>
> >> @WebService
> >> public interface IUserService {
> >>
> >> As stated, I left the annotations on my one method in IUserService. I
> >> annotated no methods in UserService. The full output / error I get is
> >> below. The interesting thing is that these methods that the log shows
> >> are being set up exist only in the implementation class, and are not
> >> annotated. They do not exist in the interface class. The one method
> that
> >> is annotated in my interface class, getUsers(), is never mentioned.
> >>
> >> INFO: Creating Service {http://user.brad.com/}UserServiceService from
> >> class com.brad.user.UserService
> >> DEBUG [main] (AbstractBeanFactory.java:203) - Returning cached instance
> >> of singleton bean '
> >> org.apache.cxf.transport.servlet.ServletTransportFactory'
> >> DEBUG [main] (AbstractBeanFactory.java:203) - Returning cached instance
> >> of singleton bean '
> >> org.apache.cxf.transport.servlet.ServletTransportFactory'
> >> DEBUG [main] (AbstractBeanFactory.java:203) - Returning cached instance
> >> of singleton bean '
> >> org.apache.cxf.transport.servlet.ServletTransportFactory'
> >> DEBUG [main] (AbstractBeanFactory.java:203) - Returning cached instance
> >> of singleton bean '
> >> org.apache.cxf.transport.servlet.ServletTransportFactory'
> >> DEBUG [main] (AbstractBeanFactory.java:203) - Returning cached instance
> >> of singleton bean '
> >> org.apache.cxf.transport.servlet.ServletTransportFactory'
> >> DEBUG [main] (AbstractBeanFactory.java:203) - Returning cached instance
> >> of singleton bean '
> >> org.apache.cxf.transport.servlet.ServletTransportFactory'
> >> Jul 14, 2007 10:01:59 AM
> >> org.apache.cxf.binding.http.strategy.ConventionStrategy map
> >> INFO: Mapping method createUser to resource /eUsers and verb POST
> >> Jul 14, 2007 10:01:59 AM
> >> org.apache.cxf.binding.http.strategy.ConventionStrategy map
> >> INFO: Mapping method modifyUser to resource /modifyUser and verb POST
> >> Jul 14, 2007 10:01:59 AM
> >> org.apache.cxf.binding.http.strategy.ConventionStrategy map
> >> INFO: Mapping method authenticate to resource /authenticate and verb
> >> POST
> >> Jul 14, 2007 10:01:59 AM
> >> org.apache.cxf.binding.http.strategy.ConventionStrategy map
> >> INFO: Mapping method deleteUser to resource /users and verb DELETE
> >> INFO [main] (DefaultSingletonBeanRegistry.java:285) - Destroying
> >> singletons in
> >>
> >>
> org.springframework.beans.factory.support.DefaultListableBeanFactory@1248979
> >>
> >> :
> >> defining beans
> >> [cxf,org.apache.cxf.bus.spring.Jsr250BeanPostProcessor,
> >> org.apache.cxf.bus.spring.BusExtensionPostProcessor,
> >> org.apache.cxf.resource.ResourceManager,
> >> org.apache.cxf.binding.BindingFactoryManager,
> >> org.apache.cxf.transport.DestinationFactoryManager,
> >> org.apache.cxf.transport.ConduitInitiatorManager,
> >> org.apache.cxf.wsdl.WSDLManager,org.apache.cxf.phase.PhaseManager,
> >> org.apache.cxf.workqueue.WorkQueueManager,
> >> org.apache.cxf.buslifecycle.BusLifeCycleManager,
> >> org.apache.cxf.endpoint.ServerRegistry,
> >> org.apache.cxf.endpoint.ServerLifeCycleManager,
> >> org.apache.cxf.endpoint.ClientLifeCycleManager,
> >> org.apache.cxf.transports.http.QueryHandlerRegistry,
> >> org.apache.cxf.endpoint.EndpointResolverRegistry,
> >> org.apache.cxf.headers.HeaderManager,
> >> org.apache.cxf.catalog.OASISCatalogManager,
> >> org.apache.cxf.binding.http.HttpBindingFactory,
> >> org.apache.cxf.transport.servlet.ServletTransportFactory
> >> ,JaxWsServiceFactoryBean,userService];
> >> root of factory hierarchy
> >> DEBUG [main] (DefaultSingletonBeanRegistry.java:337) - Retrieved
> >> dependent beans for bean 'JaxWsServiceFactoryBean': [userService]
> >> DEBUG [main] (DefaultSingletonBeanRegistry.java:337) - Retrieved
> >> dependent beans for bean
> >> 'org.apache.cxf.configuration.spring.SpringBeanMap#1c2a1ed':
> >> [org.apache.cxf.transport.ConduitInitiatorManager]
> >> DEBUG [main] (DefaultSingletonBeanRegistry.java:337) - Retrieved
> >> dependent beans for bean
> >> 'org.apache.cxf.configuration.spring.SpringBeanMap#7ab40c':
> >> [org.apache.cxf.transport.DestinationFactoryManager]
> >> DEBUG [main] (DefaultSingletonBeanRegistry.java:337) - Retrieved
> >> dependent beans for bean
> >> 'org.apache.cxf.configuration.spring.SpringBeanMap#117c0eb':
> >> [org.apache.cxf.binding.BindingFactoryManager]
> >> DEBUG [main] (DefaultSingletonBeanRegistry.java:337) - Retrieved
> >> dependent beans for bean
> >> 'org.apache.cxf.resource.ClassLoaderResolver#19c5048':
> >> [org.apache.cxf.resource.ResourceManager]
> >> DEBUG [main] (DefaultSingletonBeanRegistry.java:337) - Retrieved
> >> dependent beans for bean
> >> 'org.apache.cxf.resource.ClasspathResolver#17d2f0e':
> >> [org.apache.cxf.resource.ResourceManager]
> >> 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)
> >> Jul 14, 2007 10:01:59 AM org.apache.catalina.core.StandardContext
> >> listenerStart
> >> SEVERE: Exception sending context initialized event to listener
> instance
> >> of class org.springframework.web.context.ContextLoaderListener
> >> 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)
> >> Jul 14, 2007 10:01:59 AM org.apache.catalina.core.StandardContext start
> >> SEVERE: Error listenerStart
> >> Jul 14, 2007 10:01:59 AM org.a
> >>
> >>
> >> Brad O'Hearne wrote:
> >> > Dan,
> >> >
> >> > I just tried the endpointInterface attribute on my interface class,
> as
> >> > follows:
> >> >
> >> > @WebService (endpointInterface = "com.brad.user.IUserService")
> >> > public interface IUserService {
> >> >
> >> > and here is the error I receive:
> >> >
> >> > 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 javax.xml.ws.WebServiceException:
> >> > Attributes portName, serviceName and endpointInterface are not
> allowed
> >> > in the @WebService annotation of an SEI.
> >> > Caused by:
> >> > javax.xml.ws.WebServiceException: Attributes portName, serviceName
> and
> >> > endpointInterface are not allowed in the @WebService annotation of an
> >> > SEI.
> >> >    at
> >> > org.apache.cxf.jaxws.support.JaxWsImplementorInfo.initialise(
> >> JaxWsImplementorInfo.java:279)
> >> >
> >> >    at
> >> > org.apache.cxf.jaxws.support.JaxWsImplementorInfo.<init>(
> >> JaxWsImplementorInfo.java:57)
> >> >
> >> >
> >> > I think this probably goes back to the design pattern mentioned in my
> >> > previous post (annotations on the interface, none of the
> >> > implementation class). I'm guessing we are on the cusp of having this
> >> > solved.
> >> >
> >> > Thanks,
> >> >
> >> > Brad
> >> >
> >> > Brad O'Hearne wrote:
> >> >> Dan,
> >> >>
> >> >> I think you may have hit on the mystery here. I do not have an
> >> >> endpoint interface defined on my @WebService. But the rest of your
> >> >> answer below suggests that I may have done something else wrong in
> >> >> general. My annotations occur entirely in my interface, i.e.
> >> >>
> >> >> @WebService
> >> >> public interface IUserService ...
> >> >>
> >> >> and my implementing class has no annotations whatsoever, i.e.:
> >> >>
> >> >> public class UserService extends IUserService ...
> >> >>
> >> >> and from the past posts I have, you'll see that my beans.xml file
> >> >> references the implementation class, i.e.
> >> >>
> >> >>   <jaxws:endpoint id="userService"
> >> >>       serviceClass="com.brad.user.IUserService"
> >> >>       implementor="com.brad.user.UserService"
> >> >>       address="/UserService"
> >> >>       bindingUri="http://apache.org/cxf/binding/http"
> >> >>       >
> >> >>       <jaxws:serviceFactory>
> >> >>           <ref bean="JaxWsServiceFactoryBean" />
> >> >>       </jaxws:serviceFactory>
> >> >>   </jaxws:endpoint>
> >> >>
> >> >> This was the pattern used in XFire which worked, and the pattern set
> >> >> forth in the CXF user's guide, as in:
> >> >> http://cwiki.apache.org/CXF20DOC/http-binding.html
> >> >>
> >> >> But perhaps I've read it wrong. So I'll ask...
> >> >>
> >> >> 1. Should my annotations be on my implementation class or my
> >> >> interface class?
> >> >> 2. Depending on the answer to 1), if annotations are put in the
> >> >> interface, the endpointInterface attribute would logically always be
> >> >> the same name as that interface. Is this accurate?
> >> >> 3. Should the implementor attribute in the beans.xml jaxws:endpoint
> >> >> element reference the interface, or the imlementation?
> >> >>
> >> >> Thanks a ton for helping out Dan, it is sincerely appreciated. I'll
> >> >> throw that endpointInterface attribute on my @WebService annotation
> >> >> right now (which presently sits in my interface) and see what
> >> happens.
> >> >>
> >> >> Brad
> >> >>
> >> >> Dan Diephouse wrote:
> >> >>> 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 <br...@neurofire.com> 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 <br...@neurofire.com> 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 <br...@neurofire.com>
> >> >>>> >> To: cxf-user@incubator.apache.org
> >> >>>> >> 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

Re: [Fwd: Re: Exception loading CXF service in Spring with HTTP Binding]

Posted by Brad O'Hearne <br...@neurofire.com>.
Dan,

Thanks so much for tracking this down. Unfortunately, I'm still having 
some problems, because in the jaxws:server element markup you suggested, 
neither the implementor or bindingUri attributes are legal. I popped 
open the jaxws.xsd schema, to try to see if I could resolve it, and here 
is what I put together:

    <jaxws:server id="userService"
        serviceClass="com.brad.user.IUserService"
        address="/UserService">
        <jaxws:binding>http://apache.org/cxf/binding/http</jaxws:binding>
        <jaxws:implementor>com.brad.UserService</jaxws:implementor>
        <jaxws:serviceFactory>
            <ref bean="JaxWsServiceFactoryBean" />
        </jaxws:serviceFactory>
    </jaxws:server>


but unfortunately, that doesn't work either. I'm failing on the binding 
it appears. I figured it probably wanted a class name rather than a uri, 
but the error output I got suggests that there's probably more info 
needed to create the binding. The schema wasn't any clue on what to put 
for this element. Here is the output below:

ERROR [main] (ContextLoader.java:203) - Context initialization failed
org.springframework.beans.factory.BeanDefinitionStoreException: 
Unexpected exception parsing XML document from ServletContext resource 
[/WEB-INF/beans.xml]; nested exception is 
java.lang.IllegalStateException: bindingConfig property must have child 
elements!
Caused by:
java.lang.IllegalStateException: bindingConfig property must have child 
elements!

Brad

Dan Diephouse wrote:
> OK, I wrote a test case and I see whats happening now. Unfortunately when
> using EndpointImpl (which <jaxws:endpoint> does), somehow the HTTP 
> Binding
> seems to be looking for the annotations on the impl class instead of the
> interface class :-\.
>
> Try this instead:
>
>
>   <jaxws:server id="userService"
>       serviceClass="com.brad.user.IUserService"
>       implementor="com.brad.user.UserService"
>       address="/UserService"
>       bindingUri="http://apache.org/cxf/binding/http">
>       <jaxws:serviceFactory>
>           <ref bean="JaxWsServiceFactoryBean" />
>       </jaxws:serviceFactory>
>   </jaxws:server>
>
> Notice that its jaxws:server, not jaxws:endpoint. (This creates a CXF 
> Server
> object instead of a JAX-WS Endpoint object and allows more control of how
> CXF creates the service). This will tell CXF to look at the 
> IUserService for
> annotations.
>
> I'll fix this bug in SVN later today, but in the meantime that should 
> work.
>
> Cheers,
> - Dan
>
> On 7/14/07, Brad O'Hearne <br...@neurofire.com> wrote:
>>
>> Dan,
>>
>> I just tried the endpointInterface attribute now on my implementation
>> class, while leaving just the @WebService and method annotations on my
>> interface class, as follows:
>>
>> @WebService (endpointInterface = "com.brad.user.IUserService")
>> public class UserService implements IUserService {...
>>
>> @WebService
>> public interface IUserService {
>>
>> As stated, I left the annotations on my one method in IUserService. I
>> annotated no methods in UserService. The full output / error I get is
>> below. The interesting thing is that these methods that the log shows
>> are being set up exist only in the implementation class, and are not
>> annotated. They do not exist in the interface class. The one method that
>> is annotated in my interface class, getUsers(), is never mentioned.
>>
>> INFO: Creating Service {http://user.brad.com/}UserServiceService from
>> class com.brad.user.UserService
>> DEBUG [main] (AbstractBeanFactory.java:203) - Returning cached instance
>> of singleton bean '
>> org.apache.cxf.transport.servlet.ServletTransportFactory'
>> DEBUG [main] (AbstractBeanFactory.java:203) - Returning cached instance
>> of singleton bean '
>> org.apache.cxf.transport.servlet.ServletTransportFactory'
>> DEBUG [main] (AbstractBeanFactory.java:203) - Returning cached instance
>> of singleton bean '
>> org.apache.cxf.transport.servlet.ServletTransportFactory'
>> DEBUG [main] (AbstractBeanFactory.java:203) - Returning cached instance
>> of singleton bean '
>> org.apache.cxf.transport.servlet.ServletTransportFactory'
>> DEBUG [main] (AbstractBeanFactory.java:203) - Returning cached instance
>> of singleton bean '
>> org.apache.cxf.transport.servlet.ServletTransportFactory'
>> DEBUG [main] (AbstractBeanFactory.java:203) - Returning cached instance
>> of singleton bean '
>> org.apache.cxf.transport.servlet.ServletTransportFactory'
>> Jul 14, 2007 10:01:59 AM
>> org.apache.cxf.binding.http.strategy.ConventionStrategy map
>> INFO: Mapping method createUser to resource /eUsers and verb POST
>> Jul 14, 2007 10:01:59 AM
>> org.apache.cxf.binding.http.strategy.ConventionStrategy map
>> INFO: Mapping method modifyUser to resource /modifyUser and verb POST
>> Jul 14, 2007 10:01:59 AM
>> org.apache.cxf.binding.http.strategy.ConventionStrategy map
>> INFO: Mapping method authenticate to resource /authenticate and verb 
>> POST
>> Jul 14, 2007 10:01:59 AM
>> org.apache.cxf.binding.http.strategy.ConventionStrategy map
>> INFO: Mapping method deleteUser to resource /users and verb DELETE
>> INFO [main] (DefaultSingletonBeanRegistry.java:285) - Destroying
>> singletons in
>>
>> org.springframework.beans.factory.support.DefaultListableBeanFactory@1248979 
>>
>> :
>> defining beans
>> [cxf,org.apache.cxf.bus.spring.Jsr250BeanPostProcessor,
>> org.apache.cxf.bus.spring.BusExtensionPostProcessor,
>> org.apache.cxf.resource.ResourceManager,
>> org.apache.cxf.binding.BindingFactoryManager,
>> org.apache.cxf.transport.DestinationFactoryManager,
>> org.apache.cxf.transport.ConduitInitiatorManager,
>> org.apache.cxf.wsdl.WSDLManager,org.apache.cxf.phase.PhaseManager,
>> org.apache.cxf.workqueue.WorkQueueManager,
>> org.apache.cxf.buslifecycle.BusLifeCycleManager,
>> org.apache.cxf.endpoint.ServerRegistry,
>> org.apache.cxf.endpoint.ServerLifeCycleManager,
>> org.apache.cxf.endpoint.ClientLifeCycleManager,
>> org.apache.cxf.transports.http.QueryHandlerRegistry,
>> org.apache.cxf.endpoint.EndpointResolverRegistry,
>> org.apache.cxf.headers.HeaderManager,
>> org.apache.cxf.catalog.OASISCatalogManager,
>> org.apache.cxf.binding.http.HttpBindingFactory,
>> org.apache.cxf.transport.servlet.ServletTransportFactory
>> ,JaxWsServiceFactoryBean,userService];
>> root of factory hierarchy
>> DEBUG [main] (DefaultSingletonBeanRegistry.java:337) - Retrieved
>> dependent beans for bean 'JaxWsServiceFactoryBean': [userService]
>> DEBUG [main] (DefaultSingletonBeanRegistry.java:337) - Retrieved
>> dependent beans for bean
>> 'org.apache.cxf.configuration.spring.SpringBeanMap#1c2a1ed':
>> [org.apache.cxf.transport.ConduitInitiatorManager]
>> DEBUG [main] (DefaultSingletonBeanRegistry.java:337) - Retrieved
>> dependent beans for bean
>> 'org.apache.cxf.configuration.spring.SpringBeanMap#7ab40c':
>> [org.apache.cxf.transport.DestinationFactoryManager]
>> DEBUG [main] (DefaultSingletonBeanRegistry.java:337) - Retrieved
>> dependent beans for bean
>> 'org.apache.cxf.configuration.spring.SpringBeanMap#117c0eb':
>> [org.apache.cxf.binding.BindingFactoryManager]
>> DEBUG [main] (DefaultSingletonBeanRegistry.java:337) - Retrieved
>> dependent beans for bean
>> 'org.apache.cxf.resource.ClassLoaderResolver#19c5048':
>> [org.apache.cxf.resource.ResourceManager]
>> DEBUG [main] (DefaultSingletonBeanRegistry.java:337) - Retrieved
>> dependent beans for bean
>> 'org.apache.cxf.resource.ClasspathResolver#17d2f0e':
>> [org.apache.cxf.resource.ResourceManager]
>> 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)
>> Jul 14, 2007 10:01:59 AM org.apache.catalina.core.StandardContext
>> listenerStart
>> SEVERE: Exception sending context initialized event to listener instance
>> of class org.springframework.web.context.ContextLoaderListener
>> 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)
>> Jul 14, 2007 10:01:59 AM org.apache.catalina.core.StandardContext start
>> SEVERE: Error listenerStart
>> Jul 14, 2007 10:01:59 AM org.a
>>
>>
>> Brad O'Hearne wrote:
>> > Dan,
>> >
>> > I just tried the endpointInterface attribute on my interface class, as
>> > follows:
>> >
>> > @WebService (endpointInterface = "com.brad.user.IUserService")
>> > public interface IUserService {
>> >
>> > and here is the error I receive:
>> >
>> > 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 javax.xml.ws.WebServiceException:
>> > Attributes portName, serviceName and endpointInterface are not allowed
>> > in the @WebService annotation of an SEI.
>> > Caused by:
>> > javax.xml.ws.WebServiceException: Attributes portName, serviceName and
>> > endpointInterface are not allowed in the @WebService annotation of an
>> > SEI.
>> >    at
>> > org.apache.cxf.jaxws.support.JaxWsImplementorInfo.initialise(
>> JaxWsImplementorInfo.java:279)
>> >
>> >    at
>> > org.apache.cxf.jaxws.support.JaxWsImplementorInfo.<init>(
>> JaxWsImplementorInfo.java:57)
>> >
>> >
>> > I think this probably goes back to the design pattern mentioned in my
>> > previous post (annotations on the interface, none of the
>> > implementation class). I'm guessing we are on the cusp of having this
>> > solved.
>> >
>> > Thanks,
>> >
>> > Brad
>> >
>> > Brad O'Hearne wrote:
>> >> Dan,
>> >>
>> >> I think you may have hit on the mystery here. I do not have an
>> >> endpoint interface defined on my @WebService. But the rest of your
>> >> answer below suggests that I may have done something else wrong in
>> >> general. My annotations occur entirely in my interface, i.e.
>> >>
>> >> @WebService
>> >> public interface IUserService ...
>> >>
>> >> and my implementing class has no annotations whatsoever, i.e.:
>> >>
>> >> public class UserService extends IUserService ...
>> >>
>> >> and from the past posts I have, you'll see that my beans.xml file
>> >> references the implementation class, i.e.
>> >>
>> >>   <jaxws:endpoint id="userService"
>> >>       serviceClass="com.brad.user.IUserService"
>> >>       implementor="com.brad.user.UserService"
>> >>       address="/UserService"
>> >>       bindingUri="http://apache.org/cxf/binding/http"
>> >>       >
>> >>       <jaxws:serviceFactory>
>> >>           <ref bean="JaxWsServiceFactoryBean" />
>> >>       </jaxws:serviceFactory>
>> >>   </jaxws:endpoint>
>> >>
>> >> This was the pattern used in XFire which worked, and the pattern set
>> >> forth in the CXF user's guide, as in:
>> >> http://cwiki.apache.org/CXF20DOC/http-binding.html
>> >>
>> >> But perhaps I've read it wrong. So I'll ask...
>> >>
>> >> 1. Should my annotations be on my implementation class or my
>> >> interface class?
>> >> 2. Depending on the answer to 1), if annotations are put in the
>> >> interface, the endpointInterface attribute would logically always be
>> >> the same name as that interface. Is this accurate?
>> >> 3. Should the implementor attribute in the beans.xml jaxws:endpoint
>> >> element reference the interface, or the imlementation?
>> >>
>> >> Thanks a ton for helping out Dan, it is sincerely appreciated. I'll
>> >> throw that endpointInterface attribute on my @WebService annotation
>> >> right now (which presently sits in my interface) and see what 
>> happens.
>> >>
>> >> Brad
>> >>
>> >> Dan Diephouse wrote:
>> >>> 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 <br...@neurofire.com> 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 <br...@neurofire.com> 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 <br...@neurofire.com>
>> >>>> >> To: cxf-user@incubator.apache.org
>> >>>> >> 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)
>> >>>> >>
>> >>>> >>
>> >>>> >>
>> >>>> >>
>> >>>> >
>> >>>> >
>> >>>>
>> >>>>
>> >>>
>> >>>
>> >>
>> >
>>
>>
>>
>
>


Re: [Fwd: Re: Exception loading CXF service in Spring with HTTP Binding]

Posted by Dan Diephouse <da...@envoisolutions.com>.
OK, I wrote a test case and I see whats happening now. Unfortunately when
using EndpointImpl (which <jaxws:endpoint> does), somehow the HTTP Binding
seems to be looking for the annotations on the impl class instead of the
interface class :-\.

Try this instead:


   <jaxws:server id="userService"
       serviceClass="com.brad.user.IUserService"
       implementor="com.brad.user.UserService"
       address="/UserService"
       bindingUri="http://apache.org/cxf/binding/http">
       <jaxws:serviceFactory>
           <ref bean="JaxWsServiceFactoryBean" />
       </jaxws:serviceFactory>
   </jaxws:server>

Notice that its jaxws:server, not jaxws:endpoint. (This creates a CXF Server
object instead of a JAX-WS Endpoint object and allows more control of how
CXF creates the service). This will tell CXF to look at the IUserService for
annotations.

I'll fix this bug in SVN later today, but in the meantime that should work.

Cheers,
- Dan

On 7/14/07, Brad O'Hearne <br...@neurofire.com> wrote:
>
> Dan,
>
> I just tried the endpointInterface attribute now on my implementation
> class, while leaving just the @WebService and method annotations on my
> interface class, as follows:
>
> @WebService (endpointInterface = "com.brad.user.IUserService")
> public class UserService implements IUserService {...
>
> @WebService
> public interface IUserService {
>
> As stated, I left the annotations on my one method in IUserService. I
> annotated no methods in UserService. The full output / error I get is
> below. The interesting thing is that these methods that the log shows
> are being set up exist only in the implementation class, and are not
> annotated. They do not exist in the interface class. The one method that
> is annotated in my interface class, getUsers(), is never mentioned.
>
> INFO: Creating Service {http://user.brad.com/}UserServiceService from
> class com.brad.user.UserService
> DEBUG [main] (AbstractBeanFactory.java:203) - Returning cached instance
> of singleton bean '
> org.apache.cxf.transport.servlet.ServletTransportFactory'
> DEBUG [main] (AbstractBeanFactory.java:203) - Returning cached instance
> of singleton bean '
> org.apache.cxf.transport.servlet.ServletTransportFactory'
> DEBUG [main] (AbstractBeanFactory.java:203) - Returning cached instance
> of singleton bean '
> org.apache.cxf.transport.servlet.ServletTransportFactory'
> DEBUG [main] (AbstractBeanFactory.java:203) - Returning cached instance
> of singleton bean '
> org.apache.cxf.transport.servlet.ServletTransportFactory'
> DEBUG [main] (AbstractBeanFactory.java:203) - Returning cached instance
> of singleton bean '
> org.apache.cxf.transport.servlet.ServletTransportFactory'
> DEBUG [main] (AbstractBeanFactory.java:203) - Returning cached instance
> of singleton bean '
> org.apache.cxf.transport.servlet.ServletTransportFactory'
> Jul 14, 2007 10:01:59 AM
> org.apache.cxf.binding.http.strategy.ConventionStrategy map
> INFO: Mapping method createUser to resource /eUsers and verb POST
> Jul 14, 2007 10:01:59 AM
> org.apache.cxf.binding.http.strategy.ConventionStrategy map
> INFO: Mapping method modifyUser to resource /modifyUser and verb POST
> Jul 14, 2007 10:01:59 AM
> org.apache.cxf.binding.http.strategy.ConventionStrategy map
> INFO: Mapping method authenticate to resource /authenticate and verb POST
> Jul 14, 2007 10:01:59 AM
> org.apache.cxf.binding.http.strategy.ConventionStrategy map
> INFO: Mapping method deleteUser to resource /users and verb DELETE
> INFO [main] (DefaultSingletonBeanRegistry.java:285) - Destroying
> singletons in
>
> org.springframework.beans.factory.support.DefaultListableBeanFactory@1248979
> :
> defining beans
> [cxf,org.apache.cxf.bus.spring.Jsr250BeanPostProcessor,
> org.apache.cxf.bus.spring.BusExtensionPostProcessor,
> org.apache.cxf.resource.ResourceManager,
> org.apache.cxf.binding.BindingFactoryManager,
> org.apache.cxf.transport.DestinationFactoryManager,
> org.apache.cxf.transport.ConduitInitiatorManager,
> org.apache.cxf.wsdl.WSDLManager,org.apache.cxf.phase.PhaseManager,
> org.apache.cxf.workqueue.WorkQueueManager,
> org.apache.cxf.buslifecycle.BusLifeCycleManager,
> org.apache.cxf.endpoint.ServerRegistry,
> org.apache.cxf.endpoint.ServerLifeCycleManager,
> org.apache.cxf.endpoint.ClientLifeCycleManager,
> org.apache.cxf.transports.http.QueryHandlerRegistry,
> org.apache.cxf.endpoint.EndpointResolverRegistry,
> org.apache.cxf.headers.HeaderManager,
> org.apache.cxf.catalog.OASISCatalogManager,
> org.apache.cxf.binding.http.HttpBindingFactory,
> org.apache.cxf.transport.servlet.ServletTransportFactory
> ,JaxWsServiceFactoryBean,userService];
> root of factory hierarchy
> DEBUG [main] (DefaultSingletonBeanRegistry.java:337) - Retrieved
> dependent beans for bean 'JaxWsServiceFactoryBean': [userService]
> DEBUG [main] (DefaultSingletonBeanRegistry.java:337) - Retrieved
> dependent beans for bean
> 'org.apache.cxf.configuration.spring.SpringBeanMap#1c2a1ed':
> [org.apache.cxf.transport.ConduitInitiatorManager]
> DEBUG [main] (DefaultSingletonBeanRegistry.java:337) - Retrieved
> dependent beans for bean
> 'org.apache.cxf.configuration.spring.SpringBeanMap#7ab40c':
> [org.apache.cxf.transport.DestinationFactoryManager]
> DEBUG [main] (DefaultSingletonBeanRegistry.java:337) - Retrieved
> dependent beans for bean
> 'org.apache.cxf.configuration.spring.SpringBeanMap#117c0eb':
> [org.apache.cxf.binding.BindingFactoryManager]
> DEBUG [main] (DefaultSingletonBeanRegistry.java:337) - Retrieved
> dependent beans for bean
> 'org.apache.cxf.resource.ClassLoaderResolver#19c5048':
> [org.apache.cxf.resource.ResourceManager]
> DEBUG [main] (DefaultSingletonBeanRegistry.java:337) - Retrieved
> dependent beans for bean
> 'org.apache.cxf.resource.ClasspathResolver#17d2f0e':
> [org.apache.cxf.resource.ResourceManager]
> 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)
> Jul 14, 2007 10:01:59 AM org.apache.catalina.core.StandardContext
> listenerStart
> SEVERE: Exception sending context initialized event to listener instance
> of class org.springframework.web.context.ContextLoaderListener
> 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)
> Jul 14, 2007 10:01:59 AM org.apache.catalina.core.StandardContext start
> SEVERE: Error listenerStart
> Jul 14, 2007 10:01:59 AM org.a
>
>
> Brad O'Hearne wrote:
> > Dan,
> >
> > I just tried the endpointInterface attribute on my interface class, as
> > follows:
> >
> > @WebService (endpointInterface = "com.brad.user.IUserService")
> > public interface IUserService {
> >
> > and here is the error I receive:
> >
> > 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 javax.xml.ws.WebServiceException:
> > Attributes portName, serviceName and endpointInterface are not allowed
> > in the @WebService annotation of an SEI.
> > Caused by:
> > javax.xml.ws.WebServiceException: Attributes portName, serviceName and
> > endpointInterface are not allowed in the @WebService annotation of an
> > SEI.
> >    at
> > org.apache.cxf.jaxws.support.JaxWsImplementorInfo.initialise(
> JaxWsImplementorInfo.java:279)
> >
> >    at
> > org.apache.cxf.jaxws.support.JaxWsImplementorInfo.<init>(
> JaxWsImplementorInfo.java:57)
> >
> >
> > I think this probably goes back to the design pattern mentioned in my
> > previous post (annotations on the interface, none of the
> > implementation class). I'm guessing we are on the cusp of having this
> > solved.
> >
> > Thanks,
> >
> > Brad
> >
> > Brad O'Hearne wrote:
> >> Dan,
> >>
> >> I think you may have hit on the mystery here. I do not have an
> >> endpoint interface defined on my @WebService. But the rest of your
> >> answer below suggests that I may have done something else wrong in
> >> general. My annotations occur entirely in my interface, i.e.
> >>
> >> @WebService
> >> public interface IUserService ...
> >>
> >> and my implementing class has no annotations whatsoever, i.e.:
> >>
> >> public class UserService extends IUserService ...
> >>
> >> and from the past posts I have, you'll see that my beans.xml file
> >> references the implementation class, i.e.
> >>
> >>   <jaxws:endpoint id="userService"
> >>       serviceClass="com.brad.user.IUserService"
> >>       implementor="com.brad.user.UserService"
> >>       address="/UserService"
> >>       bindingUri="http://apache.org/cxf/binding/http"
> >>       >
> >>       <jaxws:serviceFactory>
> >>           <ref bean="JaxWsServiceFactoryBean" />
> >>       </jaxws:serviceFactory>
> >>   </jaxws:endpoint>
> >>
> >> This was the pattern used in XFire which worked, and the pattern set
> >> forth in the CXF user's guide, as in:
> >> http://cwiki.apache.org/CXF20DOC/http-binding.html
> >>
> >> But perhaps I've read it wrong. So I'll ask...
> >>
> >> 1. Should my annotations be on my implementation class or my
> >> interface class?
> >> 2. Depending on the answer to 1), if annotations are put in the
> >> interface, the endpointInterface attribute would logically always be
> >> the same name as that interface. Is this accurate?
> >> 3. Should the implementor attribute in the beans.xml jaxws:endpoint
> >> element reference the interface, or the imlementation?
> >>
> >> Thanks a ton for helping out Dan, it is sincerely appreciated. I'll
> >> throw that endpointInterface attribute on my @WebService annotation
> >> right now (which presently sits in my interface) and see what happens.
> >>
> >> Brad
> >>
> >> Dan Diephouse wrote:
> >>> 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 <br...@neurofire.com> 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 <br...@neurofire.com> 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 <br...@neurofire.com>
> >>>> >> To: cxf-user@incubator.apache.org
> >>>> >> 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

Re: [Fwd: Re: Exception loading CXF service in Spring with HTTP Binding]

Posted by Brad O'Hearne <br...@neurofire.com>.
Dan,

I have found where the problem lies, but I do not know the solution. The 
problem is on this method declared in my interface:

    @Get
    @HttpResource(location = "/users")
    ServiceResponse getUsers(ServiceRequest request);

If I comment this out, everything loads cleanly. I cannot see what the 
problem with it is though. However, I have noticed one other weird 
thing, and that is that the mappings CXF is assigning to my methods 
don't match the locations I specified in my annotations. Here are the 
other methods I now have in my IUserService interface:

     @Put
     @HttpResource(location="/createUser") ServiceResponse
     createUser(ServiceRequest request);

     @Put @HttpResource(location="/authenticate") ServiceResponse
     authenticate(ServiceRequest request);
     
     @Put @HttpResource(location="/modifyUser") ServiceResponse
     modifyUser(ServiceRequest request);
     
     @Put @HttpResource(location="/deleteUser") ServiceResponse
     deleteUser(ServiceRequest request);

These all load without error, but look at the mappings assigned.

Jul 14, 2007 10:25:14 AM 
org.apache.cxf.binding.http.strategy.ConventionStrategy map
INFO: Mapping method createUser to resource /eUsers and verb POST
Jul 14, 2007 10:25:14 AM 
org.apache.cxf.binding.http.strategy.ConventionStrategy map
INFO: Mapping method modifyUser to resource /modifyUser and verb POST
Jul 14, 2007 10:25:14 AM 
org.apache.cxf.binding.http.strategy.ConventionStrategy map
INFO: Mapping method authenticate to resource /authenticate and verb POST
Jul 14, 2007 10:25:14 AM 
org.apache.cxf.binding.http.strategy.ConventionStrategy map
INFO: Mapping method deleteUser to resource /users and verb DELETE

I understand the mappings that it attempts, according to the 
documentation, and this is what I would have expected according to 
RESTful naming conventions had I not had annotations. But I was under 
the impression that if you use annotations, those annotations are used 
-- otherwise, what would be the purpose of the @HttpResource annotation? 
My implementation class does now reference the endpointInterface 
properly, but it doesn't appear to be using those annotation locations 
specified.

Hope this sheds a little more light on the problem.

Brad

Brad O'Hearne wrote:
> Dan,
>
> I just tried the endpointInterface attribute now on my implementation 
> class, while leaving just the @WebService and method annotations on my 
> interface class, as follows:
>
> @WebService (endpointInterface = "com.brad.user.IUserService")
> public class UserService implements IUserService {...
>
> @WebService
> public interface IUserService {
>
> As stated, I left the annotations on my one method in IUserService. I 
> annotated no methods in UserService. The full output / error I get is 
> below. The interesting thing is that these methods that the log shows 
> are being set up exist only in the implementation class, and are not 
> annotated. They do not exist in the interface class. The one method 
> that is annotated in my interface class, getUsers(), is never mentioned.
>
> INFO: Creating Service {http://user.brad.com/}UserServiceService from 
> class com.brad.user.UserService
> DEBUG [main] (AbstractBeanFactory.java:203) - Returning cached 
> instance of singleton bean 
> 'org.apache.cxf.transport.servlet.ServletTransportFactory'
> DEBUG [main] (AbstractBeanFactory.java:203) - Returning cached 
> instance of singleton bean 
> 'org.apache.cxf.transport.servlet.ServletTransportFactory'
> DEBUG [main] (AbstractBeanFactory.java:203) - Returning cached 
> instance of singleton bean 
> 'org.apache.cxf.transport.servlet.ServletTransportFactory'
> DEBUG [main] (AbstractBeanFactory.java:203) - Returning cached 
> instance of singleton bean 
> 'org.apache.cxf.transport.servlet.ServletTransportFactory'
> DEBUG [main] (AbstractBeanFactory.java:203) - Returning cached 
> instance of singleton bean 
> 'org.apache.cxf.transport.servlet.ServletTransportFactory'
> DEBUG [main] (AbstractBeanFactory.java:203) - Returning cached 
> instance of singleton bean 
> 'org.apache.cxf.transport.servlet.ServletTransportFactory'
> Jul 14, 2007 10:01:59 AM 
> org.apache.cxf.binding.http.strategy.ConventionStrategy map
> INFO: Mapping method createUser to resource /eUsers and verb POST
> Jul 14, 2007 10:01:59 AM 
> org.apache.cxf.binding.http.strategy.ConventionStrategy map
> INFO: Mapping method modifyUser to resource /modifyUser and verb POST
> Jul 14, 2007 10:01:59 AM 
> org.apache.cxf.binding.http.strategy.ConventionStrategy map
> INFO: Mapping method authenticate to resource /authenticate and verb POST
> Jul 14, 2007 10:01:59 AM 
> org.apache.cxf.binding.http.strategy.ConventionStrategy map
> INFO: Mapping method deleteUser to resource /users and verb DELETE
> INFO [main] (DefaultSingletonBeanRegistry.java:285) - Destroying 
> singletons in 
> org.springframework.beans.factory.support.DefaultListableBeanFactory@1248979: 
> defining beans 
> [cxf,org.apache.cxf.bus.spring.Jsr250BeanPostProcessor,org.apache.cxf.bus.spring.BusExtensionPostProcessor,org.apache.cxf.resource.ResourceManager,org.apache.cxf.binding.BindingFactoryManager,org.apache.cxf.transport.DestinationFactoryManager,org.apache.cxf.transport.ConduitInitiatorManager,org.apache.cxf.wsdl.WSDLManager,org.apache.cxf.phase.PhaseManager,org.apache.cxf.workqueue.WorkQueueManager,org.apache.cxf.buslifecycle.BusLifeCycleManager,org.apache.cxf.endpoint.ServerRegistry,org.apache.cxf.endpoint.ServerLifeCycleManager,org.apache.cxf.endpoint.ClientLifeCycleManager,org.apache.cxf.transports.http.QueryHandlerRegistry,org.apache.cxf.endpoint.EndpointResolverRegistry,org.apache.cxf.headers.HeaderManager,org.apache.cxf.catalog.OASISCatalogManager,org.apache.cxf.binding.http.HttpBindingFactory,org.apache.cxf.transport.servlet.ServletTransportFactory,JaxWsServiceFactoryBean,userService]; 
> root of factory hierarchy
> DEBUG [main] (DefaultSingletonBeanRegistry.java:337) - Retrieved 
> dependent beans for bean 'JaxWsServiceFactoryBean': [userService]
> DEBUG [main] (DefaultSingletonBeanRegistry.java:337) - Retrieved 
> dependent beans for bean 
> 'org.apache.cxf.configuration.spring.SpringBeanMap#1c2a1ed': 
> [org.apache.cxf.transport.ConduitInitiatorManager]
> DEBUG [main] (DefaultSingletonBeanRegistry.java:337) - Retrieved 
> dependent beans for bean 
> 'org.apache.cxf.configuration.spring.SpringBeanMap#7ab40c': 
> [org.apache.cxf.transport.DestinationFactoryManager]
> DEBUG [main] (DefaultSingletonBeanRegistry.java:337) - Retrieved 
> dependent beans for bean 
> 'org.apache.cxf.configuration.spring.SpringBeanMap#117c0eb': 
> [org.apache.cxf.binding.BindingFactoryManager]
> DEBUG [main] (DefaultSingletonBeanRegistry.java:337) - Retrieved 
> dependent beans for bean 
> 'org.apache.cxf.resource.ClassLoaderResolver#19c5048': 
> [org.apache.cxf.resource.ResourceManager]
> DEBUG [main] (DefaultSingletonBeanRegistry.java:337) - Retrieved 
> dependent beans for bean 
> 'org.apache.cxf.resource.ClasspathResolver#17d2f0e': 
> [org.apache.cxf.resource.ResourceManager]
> 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)
> Jul 14, 2007 10:01:59 AM org.apache.catalina.core.StandardContext 
> listenerStart
> SEVERE: Exception sending context initialized event to listener 
> instance of class org.springframework.web.context.ContextLoaderListener
> 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)
> Jul 14, 2007 10:01:59 AM org.apache.catalina.core.StandardContext start
> SEVERE: Error listenerStart
> Jul 14, 2007 10:01:59 AM org.a
>
>
> Brad O'Hearne wrote:
>> Dan,
>>
>> I just tried the endpointInterface attribute on my interface class, 
>> as follows:
>>
>> @WebService (endpointInterface = "com.brad.user.IUserService")
>> public interface IUserService {
>>
>> and here is the error I receive:
>>
>> 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 javax.xml.ws.WebServiceException: 
>> Attributes portName, serviceName and endpointInterface are not 
>> allowed in the @WebService annotation of an SEI.
>> Caused by:
>> javax.xml.ws.WebServiceException: Attributes portName, serviceName 
>> and endpointInterface are not allowed in the @WebService annotation 
>> of an SEI.
>>    at 
>> org.apache.cxf.jaxws.support.JaxWsImplementorInfo.initialise(JaxWsImplementorInfo.java:279) 
>>
>>    at 
>> org.apache.cxf.jaxws.support.JaxWsImplementorInfo.<init>(JaxWsImplementorInfo.java:57) 
>>
>>
>> I think this probably goes back to the design pattern mentioned in my 
>> previous post (annotations on the interface, none of the 
>> implementation class). I'm guessing we are on the cusp of having this 
>> solved.
>>
>> Thanks,
>>
>> Brad
>>
>> Brad O'Hearne wrote:
>>> Dan,
>>>
>>> I think you may have hit on the mystery here. I do not have an 
>>> endpoint interface defined on my @WebService. But the rest of your 
>>> answer below suggests that I may have done something else wrong in 
>>> general. My annotations occur entirely in my interface, i.e.
>>>
>>> @WebService
>>> public interface IUserService ...
>>>
>>> and my implementing class has no annotations whatsoever, i.e.:
>>>
>>> public class UserService extends IUserService ...
>>>
>>> and from the past posts I have, you'll see that my beans.xml file 
>>> references the implementation class, i.e.
>>>
>>>   <jaxws:endpoint id="userService"
>>>       serviceClass="com.brad.user.IUserService"
>>>       implementor="com.brad.user.UserService"
>>>       address="/UserService"
>>>       bindingUri="http://apache.org/cxf/binding/http"
>>>       >
>>>       <jaxws:serviceFactory>
>>>           <ref bean="JaxWsServiceFactoryBean" />
>>>       </jaxws:serviceFactory>
>>>   </jaxws:endpoint>
>>>
>>> This was the pattern used in XFire which worked, and the pattern set 
>>> forth in the CXF user's guide, as in:  
>>> http://cwiki.apache.org/CXF20DOC/http-binding.html
>>>
>>> But perhaps I've read it wrong. So I'll ask...
>>>
>>> 1. Should my annotations be on my implementation class or my 
>>> interface class?
>>> 2. Depending on the answer to 1), if annotations are put in the 
>>> interface, the endpointInterface attribute would logically always be 
>>> the same name as that interface. Is this accurate?
>>> 3. Should the implementor attribute in the beans.xml jaxws:endpoint 
>>> element reference the interface, or the imlementation?
>>>
>>> Thanks a ton for helping out Dan, it is sincerely appreciated. I'll 
>>> throw that endpointInterface attribute on my @WebService annotation 
>>> right now (which presently sits in my interface) and see what happens.
>>>
>>> Brad
>>>
>>> Dan Diephouse wrote:
>>>> 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 <br...@neurofire.com> 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 <br...@neurofire.com> 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 <br...@neurofire.com>
>>>>> >> To: cxf-user@incubator.apache.org
>>>>> >> 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)
>>>>> >>
>>>>> >>
>>>>> >>
>>>>> >>
>>>>> >
>>>>> >
>>>>>
>>>>>
>>>>
>>>>
>>>
>>
>
>



Re: [Fwd: Re: Exception loading CXF service in Spring with HTTP Binding]

Posted by Brad O'Hearne <br...@neurofire.com>.
Dan,

I just tried the endpointInterface attribute now on my implementation 
class, while leaving just the @WebService and method annotations on my 
interface class, as follows:

@WebService (endpointInterface = "com.brad.user.IUserService")
public class UserService implements IUserService {...

@WebService
public interface IUserService {

As stated, I left the annotations on my one method in IUserService. I 
annotated no methods in UserService. The full output / error I get is 
below. The interesting thing is that these methods that the log shows 
are being set up exist only in the implementation class, and are not 
annotated. They do not exist in the interface class. The one method that 
is annotated in my interface class, getUsers(), is never mentioned.

INFO: Creating Service {http://user.brad.com/}UserServiceService from 
class com.brad.user.UserService
DEBUG [main] (AbstractBeanFactory.java:203) - Returning cached instance 
of singleton bean 'org.apache.cxf.transport.servlet.ServletTransportFactory'
DEBUG [main] (AbstractBeanFactory.java:203) - Returning cached instance 
of singleton bean 'org.apache.cxf.transport.servlet.ServletTransportFactory'
DEBUG [main] (AbstractBeanFactory.java:203) - Returning cached instance 
of singleton bean 'org.apache.cxf.transport.servlet.ServletTransportFactory'
DEBUG [main] (AbstractBeanFactory.java:203) - Returning cached instance 
of singleton bean 'org.apache.cxf.transport.servlet.ServletTransportFactory'
DEBUG [main] (AbstractBeanFactory.java:203) - Returning cached instance 
of singleton bean 'org.apache.cxf.transport.servlet.ServletTransportFactory'
DEBUG [main] (AbstractBeanFactory.java:203) - Returning cached instance 
of singleton bean 'org.apache.cxf.transport.servlet.ServletTransportFactory'
Jul 14, 2007 10:01:59 AM 
org.apache.cxf.binding.http.strategy.ConventionStrategy map
INFO: Mapping method createUser to resource /eUsers and verb POST
Jul 14, 2007 10:01:59 AM 
org.apache.cxf.binding.http.strategy.ConventionStrategy map
INFO: Mapping method modifyUser to resource /modifyUser and verb POST
Jul 14, 2007 10:01:59 AM 
org.apache.cxf.binding.http.strategy.ConventionStrategy map
INFO: Mapping method authenticate to resource /authenticate and verb POST
Jul 14, 2007 10:01:59 AM 
org.apache.cxf.binding.http.strategy.ConventionStrategy map
INFO: Mapping method deleteUser to resource /users and verb DELETE
 INFO [main] (DefaultSingletonBeanRegistry.java:285) - Destroying 
singletons in 
org.springframework.beans.factory.support.DefaultListableBeanFactory@1248979: 
defining beans 
[cxf,org.apache.cxf.bus.spring.Jsr250BeanPostProcessor,org.apache.cxf.bus.spring.BusExtensionPostProcessor,org.apache.cxf.resource.ResourceManager,org.apache.cxf.binding.BindingFactoryManager,org.apache.cxf.transport.DestinationFactoryManager,org.apache.cxf.transport.ConduitInitiatorManager,org.apache.cxf.wsdl.WSDLManager,org.apache.cxf.phase.PhaseManager,org.apache.cxf.workqueue.WorkQueueManager,org.apache.cxf.buslifecycle.BusLifeCycleManager,org.apache.cxf.endpoint.ServerRegistry,org.apache.cxf.endpoint.ServerLifeCycleManager,org.apache.cxf.endpoint.ClientLifeCycleManager,org.apache.cxf.transports.http.QueryHandlerRegistry,org.apache.cxf.endpoint.EndpointResolverRegistry,org.apache.cxf.headers.HeaderManager,org.apache.cxf.catalog.OASISCatalogManager,org.apache.cxf.binding.http.HttpBindingFactory,org.apache.cxf.transport.servlet.ServletTransportFactory,JaxWsServiceFactoryBean,userService]; 
root of factory hierarchy
DEBUG [main] (DefaultSingletonBeanRegistry.java:337) - Retrieved 
dependent beans for bean 'JaxWsServiceFactoryBean': [userService]
DEBUG [main] (DefaultSingletonBeanRegistry.java:337) - Retrieved 
dependent beans for bean 
'org.apache.cxf.configuration.spring.SpringBeanMap#1c2a1ed': 
[org.apache.cxf.transport.ConduitInitiatorManager]
DEBUG [main] (DefaultSingletonBeanRegistry.java:337) - Retrieved 
dependent beans for bean 
'org.apache.cxf.configuration.spring.SpringBeanMap#7ab40c': 
[org.apache.cxf.transport.DestinationFactoryManager]
DEBUG [main] (DefaultSingletonBeanRegistry.java:337) - Retrieved 
dependent beans for bean 
'org.apache.cxf.configuration.spring.SpringBeanMap#117c0eb': 
[org.apache.cxf.binding.BindingFactoryManager]
DEBUG [main] (DefaultSingletonBeanRegistry.java:337) - Retrieved 
dependent beans for bean 
'org.apache.cxf.resource.ClassLoaderResolver#19c5048': 
[org.apache.cxf.resource.ResourceManager]
DEBUG [main] (DefaultSingletonBeanRegistry.java:337) - Retrieved 
dependent beans for bean 
'org.apache.cxf.resource.ClasspathResolver#17d2f0e': 
[org.apache.cxf.resource.ResourceManager]
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)
Jul 14, 2007 10:01:59 AM org.apache.catalina.core.StandardContext 
listenerStart
SEVERE: Exception sending context initialized event to listener instance 
of class org.springframework.web.context.ContextLoaderListener
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)
Jul 14, 2007 10:01:59 AM org.apache.catalina.core.StandardContext start
SEVERE: Error listenerStart
Jul 14, 2007 10:01:59 AM org.a


Brad O'Hearne wrote:
> Dan,
>
> I just tried the endpointInterface attribute on my interface class, as 
> follows:
>
> @WebService (endpointInterface = "com.brad.user.IUserService")
> public interface IUserService {
>
> and here is the error I receive:
>
> 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 javax.xml.ws.WebServiceException: 
> Attributes portName, serviceName and endpointInterface are not allowed 
> in the @WebService annotation of an SEI.
> Caused by:
> javax.xml.ws.WebServiceException: Attributes portName, serviceName and 
> endpointInterface are not allowed in the @WebService annotation of an 
> SEI.
>    at 
> org.apache.cxf.jaxws.support.JaxWsImplementorInfo.initialise(JaxWsImplementorInfo.java:279) 
>
>    at 
> org.apache.cxf.jaxws.support.JaxWsImplementorInfo.<init>(JaxWsImplementorInfo.java:57) 
>
>
> I think this probably goes back to the design pattern mentioned in my 
> previous post (annotations on the interface, none of the 
> implementation class). I'm guessing we are on the cusp of having this 
> solved.
>
> Thanks,
>
> Brad
>
> Brad O'Hearne wrote:
>> Dan,
>>
>> I think you may have hit on the mystery here. I do not have an 
>> endpoint interface defined on my @WebService. But the rest of your 
>> answer below suggests that I may have done something else wrong in 
>> general. My annotations occur entirely in my interface, i.e.
>>
>> @WebService
>> public interface IUserService ...
>>
>> and my implementing class has no annotations whatsoever, i.e.:
>>
>> public class UserService extends IUserService ...
>>
>> and from the past posts I have, you'll see that my beans.xml file 
>> references the implementation class, i.e.
>>
>>   <jaxws:endpoint id="userService"
>>       serviceClass="com.brad.user.IUserService"
>>       implementor="com.brad.user.UserService"
>>       address="/UserService"
>>       bindingUri="http://apache.org/cxf/binding/http"
>>       >
>>       <jaxws:serviceFactory>
>>           <ref bean="JaxWsServiceFactoryBean" />
>>       </jaxws:serviceFactory>
>>   </jaxws:endpoint>
>>
>> This was the pattern used in XFire which worked, and the pattern set 
>> forth in the CXF user's guide, as in:  
>> http://cwiki.apache.org/CXF20DOC/http-binding.html
>>
>> But perhaps I've read it wrong. So I'll ask...
>>
>> 1. Should my annotations be on my implementation class or my 
>> interface class?
>> 2. Depending on the answer to 1), if annotations are put in the 
>> interface, the endpointInterface attribute would logically always be 
>> the same name as that interface. Is this accurate?
>> 3. Should the implementor attribute in the beans.xml jaxws:endpoint 
>> element reference the interface, or the imlementation?
>>
>> Thanks a ton for helping out Dan, it is sincerely appreciated. I'll 
>> throw that endpointInterface attribute on my @WebService annotation 
>> right now (which presently sits in my interface) and see what happens.
>>
>> Brad
>>
>> Dan Diephouse wrote:
>>> 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 <br...@neurofire.com> 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 <br...@neurofire.com> 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 <br...@neurofire.com>
>>>> >> To: cxf-user@incubator.apache.org
>>>> >> 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)
>>>> >>
>>>> >>
>>>> >>
>>>> >>
>>>> >
>>>> >
>>>>
>>>>
>>>
>>>
>>
>



Re: [Fwd: Re: Exception loading CXF service in Spring with HTTP Binding]

Posted by Brad O'Hearne <br...@neurofire.com>.
Dan,

I just tried the endpointInterface attribute on my interface class, as 
follows:

@WebService (endpointInterface = "com.brad.user.IUserService")
public interface IUserService {

and here is the error I receive:

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 javax.xml.ws.WebServiceException: Attributes portName, 
serviceName and endpointInterface are not allowed in the @WebService 
annotation of an SEI.
Caused by:
javax.xml.ws.WebServiceException: Attributes portName, serviceName and 
endpointInterface are not allowed in the @WebService annotation of an SEI.
    at 
org.apache.cxf.jaxws.support.JaxWsImplementorInfo.initialise(JaxWsImplementorInfo.java:279)
    at 
org.apache.cxf.jaxws.support.JaxWsImplementorInfo.<init>(JaxWsImplementorInfo.java:57)

I think this probably goes back to the design pattern mentioned in my 
previous post (annotations on the interface, none of the implementation 
class). I'm guessing we are on the cusp of having this solved.

Thanks,

Brad

Brad O'Hearne wrote:
> Dan,
>
> I think you may have hit on the mystery here. I do not have an 
> endpoint interface defined on my @WebService. But the rest of your 
> answer below suggests that I may have done something else wrong in 
> general. My annotations occur entirely in my interface, i.e.
>
> @WebService
> public interface IUserService ...
>
> and my implementing class has no annotations whatsoever, i.e.:
>
> public class UserService extends IUserService ...
>
> and from the past posts I have, you'll see that my beans.xml file 
> references the implementation class, i.e.
>
>   <jaxws:endpoint id="userService"
>       serviceClass="com.brad.user.IUserService"
>       implementor="com.brad.user.UserService"
>       address="/UserService"
>       bindingUri="http://apache.org/cxf/binding/http"
>       >
>       <jaxws:serviceFactory>
>           <ref bean="JaxWsServiceFactoryBean" />
>       </jaxws:serviceFactory>
>   </jaxws:endpoint>
>
> This was the pattern used in XFire which worked, and the pattern set 
> forth in the CXF user's guide, as in:  
> http://cwiki.apache.org/CXF20DOC/http-binding.html
>
> But perhaps I've read it wrong. So I'll ask...
>
> 1. Should my annotations be on my implementation class or my interface 
> class?
> 2. Depending on the answer to 1), if annotations are put in the 
> interface, the endpointInterface attribute would logically always be 
> the same name as that interface. Is this accurate?
> 3. Should the implementor attribute in the beans.xml jaxws:endpoint 
> element reference the interface, or the imlementation?
>
> Thanks a ton for helping out Dan, it is sincerely appreciated. I'll 
> throw that endpointInterface attribute on my @WebService annotation 
> right now (which presently sits in my interface) and see what happens.
>
> Brad
>
> Dan Diephouse wrote:
>> 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 <br...@neurofire.com> 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 <br...@neurofire.com> 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 <br...@neurofire.com>
>>> >> To: cxf-user@incubator.apache.org
>>> >> 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)
>>> >>
>>> >>
>>> >>
>>> >>
>>> >
>>> >
>>>
>>>
>>
>>
>


Re: [Fwd: Re: Exception loading CXF service in Spring with HTTP Binding]

Posted by Brad O'Hearne <br...@neurofire.com>.
Dan,

I think you may have hit on the mystery here. I do not have an endpoint 
interface defined on my @WebService. But the rest of your answer below 
suggests that I may have done something else wrong in general. My 
annotations occur entirely in my interface, i.e.

@WebService
public interface IUserService ...

and my implementing class has no annotations whatsoever, i.e.:

public class UserService extends IUserService ...

and from the past posts I have, you'll see that my beans.xml file 
references the implementation class, i.e.

   <jaxws:endpoint id="userService"
       serviceClass="com.brad.user.IUserService"
       implementor="com.brad.user.UserService"
       address="/UserService"
       bindingUri="http://apache.org/cxf/binding/http"
       >
       <jaxws:serviceFactory>
           <ref bean="JaxWsServiceFactoryBean" />
       </jaxws:serviceFactory>
   </jaxws:endpoint>

This was the pattern used in XFire which worked, and the pattern set 
forth in the CXF user's guide, as in:  
http://cwiki.apache.org/CXF20DOC/http-binding.html

But perhaps I've read it wrong. So I'll ask...

1. Should my annotations be on my implementation class or my interface 
class?
2. Depending on the answer to 1), if annotations are put in the 
interface, the endpointInterface attribute would logically always be the 
same name as that interface. Is this accurate?
3. Should the implementor attribute in the beans.xml jaxws:endpoint 
element reference the interface, or the imlementation?

Thanks a ton for helping out Dan, it is sincerely appreciated. I'll 
throw that endpointInterface attribute on my @WebService annotation 
right now (which presently sits in my interface) and see what happens.

Brad

Dan Diephouse wrote:
> 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 <br...@neurofire.com> 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 <br...@neurofire.com> 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 <br...@neurofire.com>
>> >> To: cxf-user@incubator.apache.org
>> >> 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)
>> >>
>> >>
>> >>
>> >>
>> >
>> >
>>
>>
>
>


Re: [Fwd: Re: Exception loading CXF service in Spring with HTTP Binding]

Posted by Dan Diephouse <da...@envoisolutions.com>.
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 <br...@neurofire.com> 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 <br...@neurofire.com> 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 <br...@neurofire.com>
> >> To: cxf-user@incubator.apache.org
> >> 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

Re: [Fwd: Re: Exception loading CXF service in Spring with HTTP Binding]

Posted by Brad O'Hearne <br...@neurofire.com>.
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 <br...@neurofire.com> 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 <br...@neurofire.com>
>> To: cxf-user@incubator.apache.org
>> 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)
>>
>>
>>
>>
>
>


Re: [Fwd: Re: Exception loading CXF service in Spring with HTTP Binding]

Posted by Brad O'Hearne <br...@neurofire.com>.
Dan,

Regarding your advice:

<snip>
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"/>
</snip>

Apparently, adding a serviceClass attribute isn't legal. I added this as 
such to my beans.xml file:

    <jaxws:endpoint id="userService"
        serviceClass="com.brad.user.IUserService"
        implementor="com.brad.user.UserService"
        address="/UserService"
        bindingUri="http://apache.org/cxf/binding/http"
        >
        <jaxws:serviceFactory>
            <ref bean="JaxWsServiceFactoryBean" />
        </jaxws:serviceFactory>
    </jaxws:endpoint>

And here's the error that I received when the server tried to load the 
webapp:

ERROR [main] (ContextLoader.java:203) - Context initialization failed
org.springframework.beans.factory.xml.XmlBeanDefinitionStoreException: 
Line 26 in XML document from ServletContext resource 
[/WEB-INF/beans.xml] is invalid; nested exception is 
org.xml.sax.SAXParseException: cvc-complex-type.3.2.2: Attribute 
'serviceClass' is not allowed to appear in element 'jaxws:endpoint'.
Caused by:
org.xml.sax.SAXParseException: cvc-complex-type.3.2.2: Attribute 
'serviceClass' is not allowed to appear in element 'jaxws:endpoint'.
    at 
com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:236)
    at 
com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.error(ErrorHandlerWrapper.java:172)

Brad

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 <br...@neurofire.com> 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 <br...@neurofire.com>
>> To: cxf-user@incubator.apache.org
>> 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)
>>
>>
>>
>>
>
>


Re: [Fwd: Re: Exception loading CXF service in Spring with HTTP Binding]

Posted by Brad O'Hearne <br...@neurofire.com>.
Dan,

I appreciate the reply, but I think you may have the wrong idea. I'm 
very patient, but this isn't a function of me, or something personal. It 
is the function of a deadline which doesn't really consider my own 
personal feelings in the matter, another API which presented an issue 
which necessitated the need to get out of WSDL-bound soap web services 
immediately, the fact that very little in this regard is documented in 
CXF, and the exception thrown gives no useful information to a user. 
With regards to the timing of my post and your read on my patience -- 
I've basically burned the better part of 2 days on trying to configure 
CXF / debug / scour Google / read API source / read the User's guide for 
direction on what is a standard advertised feature of the API, which I 
cannot find. The reason I'm asking the question with urgency is so that 
I *can* invest our project in CXF long term, not so I can get away from 
it. And I passed this urgency onto the list so that anyone with an 
answer would understand this urgency, realize its the difference between 
having another product built on the API, or not using it at all, and 
reply soon, since as you pointed out, it was the end of the working 
week, and might otherwise wait until Monday. If it were up to me, I'd be 
fine to wait a week for an answer. But it isn't up to me. It isn't some 
kind of personal affront. Please don't take it that way.

I have tried three different forms of the @WebService attribute. I have 
tried just:

@WebService
public interface ....

then I've tried adding a namespace:

@WebService (targetNamespace = "service/brad/com")
public interface ....

and then I've tried adding a service name

@WebService (serviceName = "UserService",
                        targetNamespace = "service/brad/com")
public interface ....

All three fail identically.

Thanks for your help. It is greatly appreciated. And again, my purpose 
was not to be impatient. I was faced with a choice of putting out an 
urgent call for help, and if things went well, getting to be a daily 
user of the API, or basically punting immediately. I opted for the 
former, as I want to use CXF, as it appears you guys have put together a 
great product.

Cheers,

Brad

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 <br...@neurofire.com> 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 <br...@neurofire.com>
>> To: cxf-user@incubator.apache.org
>> 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)
>>
>>
>>
>>
>
>


Re: [Fwd: Re: Exception loading CXF service in Spring with HTTP Binding]

Posted by Dan Diephouse <da...@envoisolutions.com>.
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 <br...@neurofire.com> 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 <br...@neurofire.com>
> To: cxf-user@incubator.apache.org
> 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