I guess it kind of depends on how this config is picked up...

Is this a cxf-servlet.xml thing that the CXFServlet is loading (in which case 
you shouldn't have the imports as your config is loaded on top of the 
"Default" bus configs)  or is this a applicationContext.xml type thing that 
the sping context listener is picking up (in which case it IS needed)?    

Dan


On Mon October 5 2009 4:37:25 am Spam wrote:
> Hi All,
> 
> I answer by myself.
> 
> Even if I don't really know why, removing following lines from  my
> services configuration is fixing the issue (services are visible and are
> running perfectly):
> 
>     <import resource="classpath:META-INF/cxf/cxf.xml" />
>     <import resource="classpath:META-INF/cxf/cxf-extension-soap.xml" />
>     <import resource="classpath:META-INF/cxf/cxf-servlet.xml" />
> 
> 
>     <cxf:bus>
>         <cxf:features>
>             <cxf:logging/>
>         </cxf:features>
>     </cxf:bus>
> 
> Any idea why these lines are preventing web services to be usable while
> no error message is issued?
> 
> Regards.
> Johann
> 
> Spam a écrit :
> > Hi All,
> >
> > I've followed the guidelines from
> > "http://cwiki.apache.org/CXF20DOC/jax-ws-configuration.html"; to
> > configure my web services inside Tomcat 6.0.
> >
> > If I use the following configuration, everything in the cxf (log4j) log
> > file looks like the services are deployed successfully, but checking
> > with "http://localhost:8080/myWebApp/services/"; results in "No services
> > have been found.".
> >
> >     <bean id="WSUserServicePortType"
> > class="be.eft.cbkv3.ws.WSUserServicePortTypeImpl">
> >     </bean>
> >     <jaxws:endpoint id="WSUserServicePortTypeEndpoint"
> >                     implementor="#WSUserServicePortType"
> >                     address="/WS_UserService.srv">
> >         <jaxws:binding>
> >                  <soap:soapBinding mtomEnabled="true" version="1.2"/>
> >           </jaxws:binding>
> >     </jaxws:endpoint>
> >
> >     <bean id="WSClaimServicePortType"
> > class="be.eft.cbkv3.ws.WSClaimServicePortTypeImpl">
> >     </bean>
> >     <jaxws:endpoint id="WSClaimServicePortTypeEndpoint"
> >                     implementor="#WSClaimServicePortType"
> >                     address="/WS_ClaimService.srv">
> >         <jaxws:binding>
> >                  <soap:soapBinding mtomEnabled="true" version="1.2"/>
> >           </jaxws:binding>
> >       </jaxws:endpoint>
> >
> > I changed configuration in that way (not using implementor but
> > implementorClass only):
> >     <jaxws:endpoint id="WSUserServicePortTypeEndpoint"
> >
> > implementorClass="be.eft.cbkv3.ws.WSUserServicePortTypeImpl"
> >                     address="/WS_UserService.srv">
> >         <jaxws:binding>
> >                  <soap:soapBinding mtomEnabled="true" version="1.2"/>
> >           </jaxws:binding>
> >     </jaxws:endpoint>
> >
> >     <jaxws:endpoint id="WSClaimServicePortTypeEndpoint"
> >
> > implementorClass="be.eft.cbkv3.ws.WSClaimServicePortTypeImpl"
> >                     address="/WS_ClaimService.srv">
> >         <jaxws:binding>
> >                  <soap:soapBinding mtomEnabled="true" version="1.2"/>
> >           </jaxws:binding>
> >       </jaxws:endpoint>
> > Then I get on "http://localhost:8080/myWebApp/services/"; (looks good,
> > isn't it?):
> >     Available SOAP services:
> >         WSClaimServicePortType
> >             * getClaim
> >             * identify
> >
> >         WSUserServicePortType
> >             * openSession
> >             * identify
> >             * closeSession
> > But when I try to use the Web Services by running the WS consumers, I
> > get this error (in tomcat log):
> >        02 Oct 2009 at 18.06.57,929    WARN
> > (SessionId=,org.apache.cxf.common.logging.LogUtils,345,http-8080-1) []
> > Application has thrown exception, unwinding now
> > org.apache.cxf.interceptor.Fault: object is not an instance of declaring
> > class while invoking public java.lang.String
> > myPackage.ws.WSUserServicePortTypeImpl.openSession(java.lang.String,java.
> >lang.String,java.lang.Short,java.lang.String) throws
> > myPackage.ws.LoginException_Exception with params [login, password, 0,
> > localhost].
> >     at
> > org.apache.cxf.service.invoker.AbstractInvoker.createFault(AbstractInvoke
> >r.java:152) at
> > org.apache.cxf.jaxws.AbstractJAXWSMethodInvoker.createFault(AbstractJAXWS
> >MethodInvoker.java:83) at
> > org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.jav
> >a:126) at
> > org.apache.cxf.jaxws.JAXWSMethodInvoker.invoke(JAXWSMethodInvoker.java:55
> >) at
> > org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.jav
> >a:68) at
> > org.apache.cxf.interceptor.ServiceInvokerInterceptor$1.run(ServiceInvoker
> >Interceptor.java:58) at
> > java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
> >     at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
> >     at java.util.concurrent.FutureTask.run(FutureTask.java:138)
> >     at
> > org.apache.cxf.workqueue.SynchronousExecutor.execute(SynchronousExecutor.
> >java:37) at
> > org.apache.cxf.interceptor.ServiceInvokerInterceptor.handleMessage(Servic
> >eInvokerInterceptor.java:98) at
> > org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorCh
> >ain.java:236) at
> > org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiatio
> >nObserver.java:104) at
> > org.apache.cxf.transport.servlet.ServletDestination.invoke(ServletDestina
> >tion.java:99) at
> > org.apache.cxf.transport.servlet.ServletController.invokeDestination(Serv
> >letController.java:452) at
> > org.apache.cxf.transport.servlet.ServletController.invoke(ServletControll
> >er.java:196) at
> > org.apache.cxf.transport.servlet.AbstractCXFServlet.invoke(AbstractCXFSer
> >vlet.java:220) at
> > org.apache.cxf.transport.servlet.AbstractCXFServlet.doPost(AbstractCXFSer
> >vlet.java:153) at
> > javax.servlet.http.HttpServlet.service(HttpServlet.java:637) at
> > org.apache.cxf.transport.servlet.AbstractCXFServlet.service(AbstractCXFSe
> >rvlet.java:211) at
> > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applicat
> >ionFilterChain.java:290) at
> > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilte
> >rChain.java:206) at
> > org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve
> >.java:233) at
> > org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve
> >.java:191) at
> > org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:
> >128) at
> > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:
> >102) at
> > org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.j
> >ava:109) at
> > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:28
> >6) at
> > org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845
> >) at
> > org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(H
> >ttp11Protocol.java:583) at
> > org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
> >     at java.lang.Thread.run(Thread.java:619)
> > Caused by: java.lang.IllegalArgumentException: object is not an instance
> > of declaring class
> >     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> >     at
> > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java
> >:39) at
> > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorI
> >mpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597)
> >     at
> > org.apache.cxf.service.invoker.AbstractInvoker.performInvocation(Abstract
> >Invoker.java:166) at
> > org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.jav
> >a:82) ... 29 more
> >
> > I wonder what is wrong in my configuration?
> >
> > I've tested using "jaxws:server" and I have same issue: the web services
> > looks like deployed in the log but access to
> > "http://localhost:8080/myWebApp/services/"; results in "No services have
> > been found.".
> >
> > By the way, my tests based on Simple Frontend are working well:
> >
> >    <simple:server id="cxf.wsUserService"
> > serviceClass="myPackage.ws.interfaces.WSUserService"
> > address="/WS_UserService.srv">
> >       <simple:serviceBean>
> >         <bean id="server.wsUserService"
> > class="myPackage.ws.impl.WSUserServiceImpl">
> >             <property name="businessFacade" ref="businessFacade"/>
> >         </bean>
> >       </simple:serviceBean>
> >   </simple:server>
> >
> >   <simple:server id="cxf.wsClaimService"
> > serviceClass="myPackage.ws.interfaces.WSClaimService"
> > address="/WS_ClaimService.srv">
> >       <simple:serviceBean>
> >           <bean id="server.wsClaimService"
> > class="myPackage.ws.impl.WSClaimServiceImpl">
> >             <property name="businessFacade" ref="businessFacade"/>
> >         </bean>
> >       </simple:serviceBean>
> >   </simple:server>
> >
> > Any help would be greatly appreciated.
> >
> > Regards.
> > Johann
> 

-- 
Daniel Kulp
[email protected]
http://www.dankulp.com/blog

Reply via email to