A couple of other options if you still can't get a CXF client to work:

1.) You can try deploying the Metro version of DoubleIt on the 10.1.3.3, and see if a client (Metro or CXF or SOAP UI) can access it. (Always check first if you can view the ?wsdl from a browser.) This is just to see if the problem is with Weblogic or with CXF, also different web stacks give different error messages helping to pinpoint the problem. Wireshark (http://www.jroller.com/gmazza/entry/soap_calls_over_wireshark) may be of help in debugging.

2.) You claim it works with 10.1.3.5 but not 10.1.3.3; with that minor a release change it's possible but odd that CXF would work in one but not the other, causing me to think there's something else with your customer's 10.1.3.3 setup to cause the web service not to work. Perhaps you should install 10.1.3.3 separately just like you did 10.1.3.5 -- if 10.1.3.3 works locally then the problem might be someplace else in your customer's setup--perhaps some proxy or filter regarding HTTP calls.

Glen


On 09/15/2011 04:13 PM, Bernhardt, Sven wrote:
Unfortunately an upgrade won't be a valid option at the moment, because it is 
the system of our customer, which contains additional components that also has 
to be updated. I don't think our customer will do that the next time.

In my ear-File I've included a weblogic-application which I used to prefer 
particular packages, following the guide you mention. But in this point I think 
I've to figure out, which additional Jars I need to include so that I can work 
with my CXF-service. I have to do some more trail and error.
Regarding the error I want to mention that the same error occurs using the 
WSClient-Class from doubltIt-example. The error does not only occur when I use 
SOAPUI for test. I only changed the address-Attribute in the wsdl for my test, 
without appending a ?WSDL.

Greetings
Sven

-----Ursprüngliche Nachricht-----
Von: Glen Mazza [mailto:[email protected]]
Gesendet: Donnerstag, 15. September 2011 18:29
An: [email protected]
Betreff: Re: AW: 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

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



--
Glen Mazza
Talend - http://www.talend.com/ai
Blog - http://www.jroller.com/gmazza
Twitter - glenmazza

Reply via email to