You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cxf.apache.org by "willem Jiang (JIRA)" <ji...@apache.org> on 2007/10/30 14:36:50 UTC

[jira] Resolved: (CXF-714) CXFServlet (2.0-RC) is not compatible with Websphere Servlet Container (Websphere 6.1.0.7 - Servlet level 2.4 spec)

     [ https://issues.apache.org/jira/browse/CXF-714?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

willem Jiang resolved CXF-714.
------------------------------

    Resolution: Fixed

We provide a AppServerGuide[1] in the CXF wiki to walk around it.
[1]http://cwiki.apache.org/confluence/display/CXF20DOC/AppServerGuide#AppServerGuide-Websphere

> CXFServlet (2.0-RC) is not compatible with Websphere Servlet Container (Websphere 6.1.0.7 - Servlet level 2.4 spec)
> -------------------------------------------------------------------------------------------------------------------
>
>                 Key: CXF-714
>                 URL: https://issues.apache.org/jira/browse/CXF-714
>             Project: CXF
>          Issue Type: New Feature
>          Components: JAX-WS Runtime
>    Affects Versions: 2.0-RC
>         Environment: Windows XP 
>            Reporter: Joseph H Nguyen
>            Assignee: willem Jiang
>
> Summary
> ========
> Websphere 6.1.0.7 implements Servlet 2.4 Spec JDK 1.5.  Examples from CXF 2.0-M1 (servlet 2.4) ran fine in Websphere.  Examples from CXF 2-0 RC (servlet 2.5) was failed to run in websphere because incompatiblity of the servlet spec level.   
> Addtional details:
> CXF 2.0-M1
> ===============================================================================================================
> Helloworld sample from CXF 2.0-M1 was deployed and ran succesfully in JBOSS 4.0.3sp1 , TOMCAT 5.5.4 and Websphere 6.1.0.7 (IBM JDK 1.5 SR4)
> CXF 2.0-RC 
> ===============================================================================================================
> HelloWorld sample from CXF 2.0-RC was deployed and ran successfully in JBOSS 4.0.3sp1 , TOMCAT 5.5.4 but was failed in Websphere 6.1.0.7 (IBM JDK 1.5 SR4)
> We would like to report the error and wanted to find out what the direction to move forward:
> 1.  Would Websphere 6.1.0.7 need to be upgrade to servlet specification 2.5 to reslove the problem?
> 2.  Would CXFServlet (RC) need to be change to support backward compatible with servlet specification 2.4?
> Exception created by Websphere FFDC is attached below.
> =========================================================================================================
> com.ibm.ws.webcontainer.webapp.WebAppServletManager.loadServlet 213
> Exception = java.lang.ClassCastException
> Source = com.ibm.ws.webcontainer.webapp.WebAppServletManager.loadServlet
> probeid = 213
> Stack Dump = java.lang.ClassCastException: org.apache.cxf.transport.servlet.CXFServlet incompatible with javax.servlet.Servlet
> 	at com.ibm.ws.webcontainer.servlet.ServletWrapper$1.run(ServletWrapper.java:1226)
> 	at com.ibm.ws.security.util.AccessController.doPrivileged(AccessController.java:118)
> 	at com.ibm.ws.webcontainer.servlet.ServletWrapper.loadServlet(ServletWrapper.java:1221)
> 	at com.ibm.ws.wswebcontainer.servlet.ServletWrapper.loadServlet(ServletWrapper.java:386)
> 	at com.ibm.ws.webcontainer.servlet.ServletWrapper.initialize(ServletWrapper.java:1135)
> 	at com.ibm.ws.wswebcontainer.servlet.ServletWrapper.initialize(ServletWrapper.java:150)
> 	at com.ibm.wsspi.webcontainer.extension.WebExtensionProcessor.createServletWrapper(WebExtensionProcessor.java:99)
> 	at com.ibm.ws.webcontainer.webapp.WebApp.getServletWrapper(WebApp.java:771)
> 	at com.ibm.ws.webcontainer.webapp.WebApp.initializeTargetMappings(WebApp.java:451)
> 	at com.ibm.ws.webcontainer.webapp.WebApp.commonInitializationFinish(WebApp.java:288)
> 	at com.ibm.ws.wswebcontainer.webapp.WebApp.initialize(WebApp.java:283)
> 	at com.ibm.ws.wswebcontainer.webapp.WebGroup.addWebApplication(WebGroup.java:88)
> 	at com.ibm.ws.wswebcontainer.VirtualHost.addWebApplication(VirtualHost.java:157)
> 	at com.ibm.ws.wswebcontainer.WebContainer.addWebApp(WebContainer.java:655)
> 	at com.ibm.ws.wswebcontainer.WebContainer.addWebApplication(WebContainer.java:608)
> 	at com.ibm.ws.webcontainer.component.WebContainerImpl.install(WebContainerImpl.java:335)
> 	at com.ibm.ws.webcontainer.component.WebContainerImpl.start(WebContainerImpl.java:551)
> 	at com.ibm.ws.runtime.component.ApplicationMgrImpl.start(ApplicationMgrImpl.java:1312)
> 	at com.ibm.ws.runtime.component.DeployedApplicationImpl.fireDeployedObjectStart(DeployedApplicationImpl.java:1129)
> 	at com.ibm.ws.runtime.component.DeployedModuleImpl.start(DeployedModuleImpl.java:569)
> 	at com.ibm.ws.runtime.component.DeployedApplicationImpl.start(DeployedApplicationImpl.java:814)
> 	at com.ibm.ws.runtime.component.ApplicationMgrImpl.startApplication(ApplicationMgrImpl.java:965)
> 	at com.ibm.ws.runtime.component.ApplicationMgrImpl$AppInitializer.run(ApplicationMgrImpl.java:2131)
> 	at com.ibm.wsspi.runtime.component.WsComponentImpl$_AsynchInitializer.run(WsComponentImpl.java:341)
> 	at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1469)
> Dump of callerThis = 
> Object type = com.ibm.ws.webcontainer.servlet.ServletWrapper$1
> com.ibm.ws.webcontainer.servlet.ServletWrapper$1@2b822b82
> Exception = java.lang.ClassCastException
> Source = com.ibm.ws.webcontainer.webapp.WebAppServletManager.loadServlet
> probeid = 213
> Dump of callerThis = 
> Object type = com.ibm.ws.webcontainer.servlet.ServletWrapper$1
>   val$className = org.apache.cxf.transport.servlet.CXFServlet
>   val$servletName = cxf
>   this$0 = 
>     serialVersionUID = 1
>     webAppInvocationCollaborators = {}
>     tc = 
>       defaultMessageFile = com.ibm.ejs.resources.seriousMessages
>       EXTENSION_NAME_DPID = DiagnosticProvider
>       ivDumpEnabled = false
>       ivResourceBundleName = com.ibm.ws.webcontainer.resources.Messages
>       ivLogger = null
>       ivDiagnosticProviderID = null
>       anyTracingEnabled = false
>       ivLevel = 10
>       ivName = com.ibm.ws.wswebcontainer.servlet.ServletWrapper
>       ivDebugEnabled = false
>       ivEventEnabled = false
>       ivEntryEnabled = false
>       ivDetailEnabled = false
>       ivConfigEnabled = false
>       ivInfoEnabled = true
>       ivServiceEnabled = true
>       ivWarningEnabled = true
>       ivErrorEnabled = true
>       ivFatalEnabled = true
>     nls = 
>       tc = com.ibm.ejs.ras.TraceComponent@6aca6aca
>       messages = null
>       baseClassPackage = com.ibm.ejs.resources
>       bundleName = com.ibm.ws.webcontainer.resources.Messages
>       bundle = com.ibm.ws.webcontainer.resources.Messages_en@1efa1efa
>       class$com$ibm$ejs$sm$client$ui$NLS = java.lang.Class@58e058e
>     connectionHandleCollaborator = 
>       tc = com.ibm.ejs.ras.TraceComponent@43404340
>       threadContext = com.ibm.ws.threadContext.ThreadContextImpl@3b2e3b2e
>       disableMultiThreadConnMgmt = false
>       class$com$ibm$ws$webcontainer$collaborator$ConnectionHandleCollaborator = java.lang.Class@52b452b4
>     nameSpaceCollaborator = 
>       threadContext = com.ibm.ws.threadContext.ThreadContextImpl@1b541b54
>     _j2eeNameFactory = com.ibm.ejs.csi.J2EENameFactoryImpl@16461646
>     securityHelper = null
>     securityCollaborator = 
>       securityCollaborator = com.ibm.ws.security.web.NullWebSecurityCollaborator@477a477a
>       lock = java.lang.Object@472a472a
>       tc = com.ibm.ejs.ras.TraceComponent@47584758
>       _webContextRoot = helloworld
>       _vHostName = default_host
>       class$com$ibm$ws$webcontainer$webapp$WebAppSecurityCollaborator = java.lang.Class@736d736d
>       class$com$ibm$wsspi$webcontainer$servlet$IServletContext = null
>     sessionSecurityIntegrationEnabled = false
>     activatedMBeanName = null
>     class$com$ibm$ws$wswebcontainer$servlet$ServletWrapper = 
>       serialVersionUID = 3206093459760846163
>       AllPermissionsPD = java.security.ProtectionDomain@33063306
>       SYNTHETIC = 4096
>       ANNOTATION = 8192
>       ENUM = 16384
>       j9Version = 218497585
>       j9Config = 8314596479310233600
>       EmptyParameters = {}
>       copyMethod = java.lang.reflect.Method@69426942
>       copyField = java.lang.reflect.Method@6de46de4
>       copyConstructor = java.lang.reflect.Method@6e946e94
>       methodParameterTypesField = java.lang.reflect.Field@69ae69ae
>       constructorParameterTypesField = java.lang.reflect.Field@6f0e6f0e
>       cacheInitInProgress = false
>       NoArgs = {}
>       PublicKey = java.lang.Class$CacheKey@540054
>       DeclaredKey = java.lang.Class$CacheKey@5c005c
>     class$com$ibm$ws$webcontainer$srt$IExtendedResponse = null
>     notifyInvocationListeners = true
>     UNINITIALIZED_STATE = -1
>     AVAILABLE_STATE = 0
>     UNAVAILABLE_STATE = 1
>     UNAVAILABLE_PERMANENTLY_STATE = 2
>     nServicing = 0
>     lastAccessTime = 1181059104781
>     state = -1
>     servletConfig = 
>       metaData = com.ibm.ws.webcontainer.metadata.WebComponentMetaDataImpl@4bf44bf4
>       servletName = cxf
>       className = org.apache.cxf.transport.servlet.CXFServlet
>       mappings = java.util.ArrayList@2bf02bf0
>       startUpWeight = 1
>       DEFAULT_STARTUP = -1
>       isCachingEnabled = true
>       isStatisticsEnabled = true
>       context = com.ibm.ws.webcontainer.facade.ServletContextFacade@2a9c2a9c
>       isInternal = false
>       initParams = java.util.HashMap@2bb22bb2
>       isJsp = false
>       fileName = null
>       displayName = cxf
>       name = cxf
>       description = null
>       smallIcon = null
>       largeIcon = null
>       _id = cxf
>       _attributes = null
>     context = 
>       isZOS = false
>       sTokenStr = null
>       j2eeNameFactory = this.this$0._j2eeNameFactory
>       userTransaction = com.ibm.ws.Transaction.JTA.UserTransactionImpl@4680468
>       tc = com.ibm.ejs.ras.TraceComponent@166a166a
>       javaNameSpaceValue = com.ibm.ws.naming.java.javaNameSpaceImpl@7a947a94
>       txManager = com.ibm.ws.Transaction.JTA.TranManagerSet@192c192c
>       nameSpaceCollaborator = this.this$0.nameSpaceCollaborator
>       connectionHandleCollaborator = this.this$0.connectionHandleCollaborator
>       initializationCollaborators = [Lcom.ibm.ws.webcontainer.spiadapter.collaborator.IInitializationCollaborator;@7a1a7a1a
>       invocationCollaborators = this.this$0.webAppInvocationCollaborators
>       transactionCollaborator = com.ibm.ws.webcontainer.webapp.WebAppTransactionCollaborator@78a678a6
>       moduleMetaData = com.ibm.ws.webcontainer.metadata.WebModuleMetaDataImpl@36843684
>       javaColonCtxt = javax.naming.InitialContext@7b4e7b4e
>       webAppCollaboratorConfig = com.ibm.ws.webcontainer.webapp.collaborator.WebAppCollaboratorConfigImpl@18b818b8
>       securityCollaborator = this.this$0.securityCollaborator
>       deployedModule = com.ibm.ws.wscontainer.DeployedModule@2fd22fd2
>       webAppCmd = com.ibm.ws.webcontainer.metadata.WebComponentMetaDataImpl@79ce79ce
>       COMPONENTMETADATASTUB = ComponentMetaDataStub
>       envObject = com.ibm.ws.util.WSThreadLocal@16861686
>       class$com$ibm$ws$wswebcontainer$webapp$WebApp = java.lang.Class@71cb71cb
>       class$com$ibm$ws$runtime$service$Server = java.lang.Class@365c365c
>       class$com$ibm$websphere$servlet$context$IBMServletContext = null
>       commands = java.util.ArrayList@6fee6fee
>       requestMapper = com.ibm.ws.webcontainer.util.URIMapper@76607660
>       parent = com.ibm.ws.wswebcontainer.webapp.WebGroup@300a300a
>       name = helloworld_war#helloworld.war
>       isAlive = true
>       subElements = null
>       attributes = java.util.Collections$SynchronizedMap@78927892
>       config = null
>     target = null
>     cacheWrappers = null
>     targetLoader = 
>       tc = com.ibm.ejs.ras.TraceComponent@69ba69ba
>       parent = com.ibm.ws.classloader.JarClassLoader@543c543c
>       localClassPath = D:\IBM\WAS61\AppServer\profiles\AppSrv02\installedApps\oatmealNode01Cell\helloworld_war.ear\helloworld.war\WEB-INF\classes;
> D:\IBM\WAS61\AppServer\profiles\AppSrv02\installedApps\oatmealNode01Cell\helloworld_war.ear\helloworld.war;D:\TempCXF\cxf-manifest-incubator.jar;
> D:\TempCXF\cxf-2.0-incubator-RC.jar;D:\TempCXF\cxf-tools-wsdlto-frontend-jaxws-2.0-incubator-RC.jar;D:\TempCXF\aopalliance-1.0.jar;D:\TempCXF\jra-1.0-alpha-3.jar;
> D:\TempCXF\cxf-rt-transports-jms-2.0-incubator-RC.jar;D:\TempCXF\cxf-rt-transports-http-jetty-2.0-incubator-RC.jar;D:\TempCXF\stax-api-1.0.1.jar;
> D:\TempCXF\cxf-rt-bindings-xml-2.0-incubator-RC.jar;D:\TempCXF\cxf-rt-frontend-jaxws-2.0-incubator-RC.jar;D:\TempCXF\cxf-bundle-2.0-incubator-RC.jar;
> D:\TempCXF\bcprov-jdk14-136.jar;D:\TempCXF\jetty-sslengine-6.1.2rc0.jar;D:\TempCXF\cxf-rt-databinding-aegis-2.0-incubator-RC.jar;
> D:\TempCXF\XmlSchema-1.2.jar;D:\TempCXF\spring-beans-2.0.4.jar;D:\TempCXF\cxf-rt-databinding-jaxb-2.0-incubator-RC.jar;
> D:\TempCXF\cxf-rt-transports-http-2.0-incubator-RC.jar;D:\TempCXF\cxf-rt-ws-security-2.0-incubator-RC.jar;D:\TempCXF\jetty-util-6.1.2rc0.jar;
> D:\TempCXF\commons-logging-1.1.jar;D:\TempCXF\velocity-dep-1.4.jar;D:\TempCXF\jaxb-impl-2.0.5.jar;D:\TempCXF\jaxb-api.jar;D:\TempCXF\activation.jar;
> D:\TempCXF\jsr173_1.0_api.jar;D:\TempCXF\jaxb1-impl.jar;D:\TempCXF\cxf-tools-wsdlto-databinding-jaxb-2.0-incubator-RC.jar;D:\TempCXF\cxf-api-2.0-incubator-RC.jar;
> D:\TempCXF\geronimo-activation_1.1_spec-1.0-M1.jar;D:\TempCXF\jettison-1.0-RC1.jar;D:\TempCXF\spring-core-2.0.4.jar;D:\TempCXF\xalan-2.7.0.jar;
> D:\TempCXF\xercesImpl.jar;D:\TempCXF\xml-apis.jar;D:\TempCXF\serializer.jar;D:\TempCXF\stax-utils-20060502.jar;D:\TempCXF\velocity-1.4.jar;
> D:\TempCXF\slf4j-api-1.3.1.jar;D:\TempCXF\wsdl4j-1.6.1.jar;D:\TempCXF\cxf-tools-misctools-2.0-incubator-RC.jar;D:\TempCXF\cxf-rt-ws-rm-2.0-incubator-RC.jar;
> D:\TempCXF\saaj-impl-1.3.jar;D:\TempCXF\saaj-api.jar;D:\TempCXF\cxf-rt-ws-addr-2.0-incubator-RC.jar;D:\TempCXF\cxf-common-schemas-2.0-incubator-RC.jar;
> D:\TempCXF\spring-web-2.0.4.jar;D:\TempCXF\spring-context-2.0.4.jar;D:\TempCXF\cxf-rt-bindings-coloc-2.0-incubator-RC.jar;
> D:\TempCXF\cxf-rt-frontend-simple-2.0-incubator-RC.jar;D:\TempCXF\jaxws-api-2.0.jar;D:\TempCXF\cxf-tools-wsdlto-core-2.0-incubator-RC.jar;
> D:\TempCXF\wstx-asl-3.2.1.jar;D:\TempCXF\geronimo-annotation_1.0_spec-1.0.jar;D:\TempCXF\cxf-rt-bindings-object-2.0-incubator-RC.jar;
> D:\TempCXF\wss4j-1.5.1.jar;D:\TempCXF\geronimo-jms_1.1_spec-1.1.jar;D:\TempCXF\cxf-rt-core-2.0-incubator-RC.jar;
> D:\TempCXF\jetty-6.1.2rc0.jar;D:\TempCXF\jaxb-xjc-2.0.jar;D:\TempCXF\jaxb-impl.jar;D:\TempCXF\cxf-rt-transports-local-2.0-incubator-RC.jar;
> D:\TempCXF\cxf-xjc-dv-2.0-incubator-RC.jar;D:\TempCXF\geronimo-javamail_1.4_spec-1.0-M1.jar;D:\TempCXF\jdom-1.0.jar;D:\TempCXF\jaxb-api-2.0.jar;
> D:\TempCXF\xmlsec-1.3.0.jar;D:\TempCXF\cxf-rt-bindings-soap-2.0-incubator-RC.jar;D:\TempCXF\xml-resolver-1.2.jar;D:\TempCXF\cxf-tools-validator-2.0-incubator-RC.jar;
> D:\TempCXF\cxf-tools-java2wsdl-2.0-incubator-RC.jar;D:\TempCXF\slf4j-jdk14-1.3.1.jar;D:\TempCXF\jaxen-1.1.jar;D:\TempCXF\geronimo-servlet_2.5_spec-1.1-M1.jar;
> D:\TempCXF\xml-apis-1.3.02.jar;D:\TempCXF\cxf-common-utilities-2.0-incubator-RC.jar;D:\TempCXF\geronimo-ws-metadata_2.0_spec-1.1-M1.jar;
> D:\TempCXF\saaj-api-1.3.jar;D:\TempCXF\jaxp-api.jar;D:\TempCXF\jax-qname.jar;D:\TempCXF\servlet.jar;D:\TempCXF\servlet-api-2.5-6.1.2rc0.jar;
> D:\TempCXF\cxf-rt-frontend-js-2.0-incubator-RC.jar;D:\TempCXF\cxf-rt-bindings-http-2.0-incubator-RC.jar;D:\TempCXF\cxf-rt-ws-policy-2.0-incubator-RC.jar;
> D:\TempCXF\neethi-2.0.jar;D:\TempCXF\cxf-rt-management-2.0-incubator-RC.jar;D:\TempCXF\cxf-tools-common-2.0-incubator-RC.jar
>       nativelibpaths = {}
>       delegate = false
>       protectedPrefixes = null
>       providers = [Lcom.ibm.ws.classloader.SinglePathClassProvider;@45344534
>       reloadableParents = java.util.Vector@30f030f0
>       badResources = java.util.HashSet@31063106
>       codeSourcePermissions = java.util.HashMap@4abe4abe
>       dynamicPolicy = com.ibm.ws.security.policy.NullDynamicPolicy@48204820
>       serverIdentityHelper = null
>       plugin = null
>       class$com$ibm$ws$classloader$CompoundClassLoader = java.lang.Class@454f454f
>       initialized = true
>       pdcache = java.util.HashMap@30c830c8
>       debug = null
>       systemClassLoader = com.ibm.oti.vm.BootstrapClassLoader@ad60ad6
>       applicationClassLoader = sun.misc.Launcher$AppClassLoader@58c258c2
>       initSystemClassLoader = false
>       vmRef = 375875984
>       assertionLock = java.lang.ClassLoader$AssertionLock@251c251c
>       defaultAssertionStatus = false
>       packageAssertionStatus = null
>       classAssertionStatus = null
>       genericRepository = null
>       annotationCache = null
>       packages = java.util.Hashtable@25202520
>       lazyInitLock = java.lang.ClassLoader$LazyInitLock@253a253a
>       classSigners = null
>       packageSigners = java.util.Hashtable@25fe25fe
>       emptyCertificates = {}
>       defaultProtectionDomain = null
>       methodCache = java.util.Hashtable@26182618
>       fieldCache = java.util.Hashtable@26322632
>       constructorCache = java.util.Hashtable@264c264c
>     evtSource = 
>       _invocationListeners = com.ibm.ws.webcontainer.util.EventListeners@75c875c8
>       _servletListeners = com.ibm.ws.webcontainer.util.EventListeners@75cc75cc
>       _errorListeners = com.ibm.ws.webcontainer.util.EventListeners@75d075d0
>       _applicationListeners = com.ibm.ws.webcontainer.util.EventListeners@75d475d4
>       _filterInvocationListeners = com.ibm.ws.webcontainer.util.EventListeners@75e075e0
>       _filterListeners = com.ibm.ws.webcontainer.util.EventListeners@75d875d8
>       _filterErrorListeners = com.ibm.ws.webcontainer.util.EventListeners@75dc75dc
>     event = null
>     unavailableMessage = null
>     unavailableUntil = -1
>     isSTM = false
>     internalServlet = false
>     class$com$ibm$ws$webcontainer$servlet$ServletWrapper = 
>       serialVersionUID = 3206093459760846163
>       AllPermissionsPD = this.this$0.class$com$ibm$ws$wswebcontainer$servlet$ServletWrapper.AllPermissionsPD
>       SYNTHETIC = 4096
>       ANNOTATION = 8192
>       ENUM = 16384
>       j9Version = 218497585
>       j9Config = 8314596479310233600
>       EmptyParameters = this.this$0.class$com$ibm$ws$wswebcontainer$servlet$ServletWrapper.EmptyParameters
>       copyMethod = this.this$0.class$com$ibm$ws$wswebcontainer$servlet$ServletWrapper.copyMethod
>       copyField = this.this$0.class$com$ibm$ws$wswebcontainer$servlet$ServletWrapper.copyField
>       copyConstructor = this.this$0.class$com$ibm$ws$wswebcontainer$servlet$ServletWrapper.copyConstructor
>       methodParameterTypesField = this.this$0.class$com$ibm$ws$wswebcontainer$servlet$ServletWrapper.methodParameterTypesField
>       constructorParameterTypesField = this.this$0.class$com$ibm$ws$wswebcontainer$servlet$ServletWrapper.constructorParameterTypesField
>       cacheInitInProgress = false
>       NoArgs = this.this$0.class$com$ibm$ws$wswebcontainer$servlet$ServletWrapper.NoArgs
>       PublicKey = this.this$0.class$com$ibm$ws$wswebcontainer$servlet$ServletWrapper.PublicKey
>       DeclaredKey = this.this$0.class$com$ibm$ws$wswebcontainer$servlet$ServletWrapper.DeclaredKey
>     config = null

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.