Can you upgrade to WL 10.1.3.5? If no, in the older versions (I didn't
test 10.1.3.3/4, but I mean the 10.1.2, and older series) I needed to
place in particular libraries in the <prefer-application-packages> as
specified here:
https://cwiki.apache.org/CXF20DOC/application-server-specific-configuration-guide.html#ApplicationServerSpecificConfigurationGuide-WebLogic
However, the actual libraries you need to place in there seem to differ
from version to version and also depends on what libraries your web
service is using (it may take trial-and-error, and I'm not sure it would
even fix your problem below). 10.1.3.5 was the first version where I
didn't have to do that.
The problem you're having in #2 might be a SOAP UI bug and not a web
service one, it's easy to run DoubleIt's client (mvn exec:exec from the
client folder) as another check of the web service.
HTH,
Glen
On 09/15/2011 11:31 AM, Bernhardt, Sven wrote:
I've went through your tutorial:
Hi Glenn,
Thanks for the links. They're very helpful. I've made the following expierences:
1) DoubleIt on Tomcat works, my service also works on Tomcat (Tomcat 7.0.1).
2) I managed it to get the doubleIt-Service running on weblogic, but only on
weblogic 10.1.3.5. All other version I've tried 10.1.3.3 and 10.1.3.4 failed
with the doubleIt service. Then I made some changes to doubleIt and get the
service deployed successfully on 10.1.3.3. But when starting the client (or if
I make a SOAPUi-call) I've got a HTTP 500 error. It seems that my request is
interpreted like a normal HTTP GET, no idea why. I've searched in the Log-Files
and found the Exception, which causes the HTTP 500 error:
org.apache.cxf.interceptor.Fault: No such operation: (HTTP GET PATH_INFO:
/doubleit/services/doubleit)
at
org.apache.cxf.interceptor.URIMappingInterceptor.handleMessage(URIMappingInterceptor.java:88)
at
org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:263)
at
org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:121)
at
org.apache.cxf.transport.http.AbstractHTTPDestination.invoke(AbstractHTTPDestination.java:206)
at
org.apache.cxf.transport.servlet.ServletController.invokeDestination(ServletController.java:218)
at
org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:200)
at
org.apache.cxf.transport.servlet.CXFNonSpringServlet.invoke(CXFNonSpringServlet.java:114)
at
org.apache.cxf.transport.servlet.AbstractHTTPServlet.handleRequest(AbstractHTTPServlet.java:185)
at
org.apache.cxf.transport.servlet.AbstractHTTPServlet.doGet(AbstractHTTPServlet.java:113)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
at
org.apache.cxf.transport.servlet.AbstractHTTPServlet.service(AbstractHTTPServlet.java:163)
at
weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
at
weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
at
weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:300)
at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:27)
at
weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:57)
at oracle.dms.wls.DMSServletFilter.doFilter(DMSServletFilter.java:330)
at
weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:57)
at
weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.doIt(WebAppServletContext.java:3684)
at
weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3650)
at
weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
at
weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
at
weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2268)
at
weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2174)
at
weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1446)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
Now I am stuck again...
Greetings
Sven
-----Ursprüngliche Nachricht-----
Von: Glen Mazza [mailto:[email protected]]
Gesendet: Mittwoch, 14. September 2011 21:20
An: [email protected]
Betreff: Re: Deployment of CXF webservice to Weblogic 10.1.3.3 breaks with
exception: Invalid schema document passed to
AbstractDataBinding.addSchemaDocument, not in W3C schema namespace
Couple of possibilities if you can't get any more specific help from others:
1.) Does your webservice work on Tomcat? We first would want to eliminate any
possible problems with the service itself before introducing more sources of
error with the more complex WebLogic
container: http://www.jroller.com/gmazza/entry/web_service_tutorial
2.) Can you deploy my bare-bones DoubleIt webservice to your WebLogic
container? The next goal would be to make sure there's nothing wrong with your
Weblogic installation itself before considering your more complex web service:
http://www.jroller.com/gmazza/entry/deploying_webservices_on_weblogic
HTH,
Glen
On 09/14/2011 08:06 AM, Bernhardt, Sven wrote:
Hi,
I have a CXF webservice, which I want to deploy to Oracle Weblogic Server
10.1.3.3.
After facing some classloading issues, by introducing a special Weblogic
delployment descriptor weblogic.xml, telling the Weblogic server to prefer the
usage of jars contained in WEB-INF/lib, I thought everything will be fine. But
it wasn't...
Another exception occurred, when deploying the archive tells me the following:
"Invalid schema document passed to AbstractDataBinding.addSchemaDocument, not in W3C
schema namespace", the associated stacktrace in the Log-File shows me more details,
but I can't really imagine what is wrong. Stacktrace details are:
weblogic.application.ModuleException: [HTTP:101216]Servlet: "cxf" failed to preload on
startup in Web application: "testservice.war".
org.springframework.beans.factory.BeanCreationException: Error creating bean
with name 'TestService': Invocation of init method failed; nested exception is
javax.xml.ws.WebServiceException: java.lang.RuntimeException: Invalid schema
document passed to AbstractDataBinding.addSchemaDocument, not in W3C schema
namespace
at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1420)
at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519)
at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)
at
org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:291)
at
org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
at
org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:288)
at
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:190)
at
org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:580)
at
org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:895)
at
org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:425)
at
org.apache.cxf.transport.servlet.CXFServlet.createSpringContext(CXFServlet.java:114)
at
org.apache.cxf.transport.servlet.CXFServlet.loadBus(CXFServlet.java:55)
at
org.apache.cxf.transport.servlet.CXFNonSpringServlet.init(CXFNonSpringServlet.java:56)
at
weblogic.servlet.internal.StubSecurityHelper$ServletInitAction.run(StubSecurityHelper.java:283)
at
weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
at
weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
at
weblogic.servlet.internal.StubSecurityHelper.createServlet(StubSecurityHelper.java:64)
at
weblogic.servlet.internal.StubLifecycleHelper.createOneInstance(StubLifecycleHelper.java:58)
at
weblogic.servlet.internal.StubLifecycleHelper.<init>(StubLifecycleHelper.java:48)
at
weblogic.servlet.internal.ServletStubImpl.prepareServlet(ServletStubImpl.java:539)
at
weblogic.servlet.internal.WebAppServletContext.preloadServlet(WebAppServletContext.java:1976)
at
weblogic.servlet.internal.WebAppServletContext.loadServletsOnStartup(WebAppServletContext.java:1950)
at
weblogic.servlet.internal.WebAppServletContext.preloadResources(WebAppServletContext.java:1869)
at
weblogic.servlet.internal.WebAppServletContext.start(WebAppServletContext.java:3126)
at
weblogic.servlet.internal.WebAppModule.startContexts(WebAppModule.java:1512)
at weblogic.servlet.internal.WebAppModule.start(WebAppModule.java:486)
at
weblogic.application.internal.flow.ModuleStateDriver$3.next(ModuleStateDriver.java:425)
at
weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:41)
at
weblogic.application.internal.flow.ModuleStateDriver.start(ModuleStateDriver.java:119)
at
weblogic.application.internal.flow.ScopedModuleDriver.start(ScopedModuleDriver.java:200)
at
weblogic.application.internal.flow.ModuleListenerInvoker.start(ModuleListenerInvoker.java:247)
at
weblogic.application.internal.flow.ModuleStateDriver$3.next(ModuleStateDriver.java:425)
at
weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:41)
at
weblogic.application.internal.flow.ModuleStateDriver.start(ModuleStateDriver.java:119)
at
weblogic.application.internal.flow.StartModulesFlow.activate(StartModulesFlow.java:27)
at
weblogic.application.internal.BaseDeployment$2.next(BaseDeployment.java:1267)
at
weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:41)
at
weblogic.application.internal.BaseDeployment.activate(BaseDeployment.java:409)
at
weblogic.application.internal.SingleModuleDeployment.activate(SingleModuleDeployment.java:43)
at
weblogic.application.internal.DeploymentStateChecker.activate(DeploymentStateChecker.java:161)
at
weblogic.deploy.internal.targetserver.AppContainerInvoker.activate(AppContainerInvoker.java:79)
at
weblogic.deploy.internal.targetserver.operations.AbstractOperation.activate(AbstractOperation.java:569)
at
weblogic.deploy.internal.targetserver.operations.ActivateOperation.activateDeployment(ActivateOperation.java:150)
at
weblogic.deploy.internal.targetserver.operations.ActivateOperation.doCommit(ActivateOperation.java:116)
at
weblogic.deploy.internal.targetserver.operations.AbstractOperation.commit(AbstractOperation.java:323)
at
weblogic.deploy.internal.targetserver.DeploymentManager.handleDeploymentCommit(DeploymentManager.java:844)
at
weblogic.deploy.internal.targetserver.DeploymentManager.activateDeploymentList(DeploymentManager.java:1253)
at
weblogic.deploy.internal.targetserver.DeploymentManager.handleCommit(DeploymentManager.java:440)
at
weblogic.deploy.internal.targetserver.DeploymentServiceDispatcher.commit(DeploymentServiceDispatcher.java:163)
at
weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.doCommitCallback(DeploymentReceiverCallbackDeliverer.java:195)
at
weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.access$100(DeploymentReceiverCallbackDeliverer.java:13)
at
weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer$2.run(DeploymentReceiverCallbackDeliverer.java:68)
at
weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:528)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
Caused by: javax.xml.ws.WebServiceException: java.lang.RuntimeException:
Invalid schema document passed to AbstractDataBinding.addSchemaDocument, not in
W3C schema namespace
at org.apache.cxf.jaxws.EndpointImpl.doPublish(EndpointImpl.java:350)
at org.apache.cxf.jaxws.EndpointImpl.publish(EndpointImpl.java:240)
at org.apache.cxf.jaxws.EndpointImpl.publish(EndpointImpl.java:510)
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:597)
at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeCustomInitMethod(AbstractAutowireCapableBeanFactory.java:1544)
at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1485)
at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1417)
at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519)
at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)
at
org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:291)
at
org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
at
org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:288)
at
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:190)
at
org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:580)
at
org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:896)
at
org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:425)
at
org.apache.cxf.transport.servlet.CXFServlet.createSpringContext(CXFServlet.java:114)
at
org.apache.cxf.transport.servlet.CXFServlet.loadBus(CXFServlet.java:55)
at
org.apache.cxf.transport.servlet.CXFNonSpringServlet.init(CXFNonSpringServlet.java:56)
at
weblogic.servlet.internal.StubSecurityHelper$ServletInitAction.run(StubSecurityHelper.java:283)
at
weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
at
weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121) ...
Besides the try to add weblogic.xml, I also tried to package the CXF webservice
into an EAR-File, adding a application.xml and a special
weblogic-application.xml, which tells the server the packages to prefer, in
META-INF-Folder. But the deployment will not succeed, no matter if I do a WAR-
or an EAR-deployment.
I tried different CXF version (2.4.2, 2.3.6, 2.2.12), but nothing changes the
described behavior. I also tried to build some example projects, included in
the apache-cxf.zip-File, but even these examples led to the same exception.
Any ideas about this issue? It can't be such a problem to deploy simple CXF
webservices to a Weblogic server instance...
Greetings
Sven
--
Glen Mazza
Talend - http://www.talend.com/ai
Blog - http://www.jroller.com/gmazza
Twitter - glenmazza
--
Glen Mazza
Talend - http://www.talend.com/ai
Blog - http://www.jroller.com/gmazza
Twitter - glenmazza