You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@geronimo.apache.org by "Jarek Gawor (JIRA)" <ji...@apache.org> on 2007/03/02 06:46:50 UTC
[jira] Created: (GERONIMO-2921) Tomcat does not register web
service url mappings when web.xml is not present
Tomcat does not register web service url mappings when web.xml is not present
-----------------------------------------------------------------------------
Key: GERONIMO-2921
URL: https://issues.apache.org/jira/browse/GERONIMO-2921
Project: Geronimo
Issue Type: Bug
Security Level: public (Regular issues)
Components: Tomcat
Reporter: Jarek Gawor
Here's some background info. The web.xml file is now optional for JAX-WS POJO web services. In such cases, there are certain rules on how the web.xml should get updated. That is, appropriate <servlet> and <servlet-mapping> elements should be inserted into the web.xml. When I update the in-memory representation of the web.xml with the appropriate entires, everything works just fine on Jetty. However, with Tomcat, it seems like the url-mappings for the web services do not get registered. Everything else is fine, e.g. the web services gbeans get initialized, etc. and I can access a JSP deployed in the same war as the web services.
After a bit of debugging I see that GeronimoStandardContext.addChild() is not called if the web.xml file is not present even though the in-memory representation of the DD is updated correctly. So somehow I think the in-memory representation of the DD is not being passed around correctly.
Here's a stack trace when web.xml file is present and when addChild() is called:
System Thread [RMI TCP Connection(9)-192.168.1.102] (Suspended (breakpoint at line 217 in GeronimoStandardContext))
GeronimoStandardContext.addChild(Container) line: 217
GeneratedMethodAccessor201.invoke(Object, Object[]) line: not available
DelegatingMethodAccessorImpl.invoke(Object, Object[]) line: 25
Method.invoke(Object, Object...) line: 585
IntrospectionUtils.callMethod1(Object, String, Object, String, ClassLoader) line: 899
SetNextRule.end() line: 193
SetNextRule(Rule).end(String, String) line: 229
Digester.endElement(String, String, String) line: 1058
SAXParserImpl$JAXPSAXParser(AbstractSAXParser).endElement(QName, Augmentations) line: not available
XMLDocumentScannerImpl(XMLDocumentFragmentScannerImpl).scanEndElement() line: not available [local variables unavailable]
XMLDocumentScannerImpl$ContentDispatcher(XMLDocumentFragmentScannerImpl$FragmentContentDispatcher).dispatch(boolean) line: not available
XMLDocumentScannerImpl(XMLDocumentFragmentScannerImpl).scanDocument(boolean) line: not available
XIncludeAwareParserConfiguration(XML11Configuration).parse(boolean) line: not available
XIncludeAwareParserConfiguration(XML11Configuration).parse(XMLInputSource) line: not available
SAXParserImpl$JAXPSAXParser(XMLParser).parse(XMLInputSource) line: not available
SAXParserImpl$JAXPSAXParser(AbstractSAXParser).parse(InputSource) line: not available
SAXParserImpl$JAXPSAXParser.parse(InputSource) line: not available
Digester.parse(InputSource) line: 1562
ContextConfig.applicationWebConfig() line: 369
ContextConfig.start() line: 1060
ContextConfig.lifecycleEvent(LifecycleEvent) line: 261
LifecycleSupport.fireLifecycleEvent(String, Object) line: 120
GeronimoStandardContext(StandardContext).start() line: 4238
GeronimoStandardContext.access$201(GeronimoStandardContext) line: 66
GeronimoStandardContext$SystemMethodValve.invoke(Request, Response) line: 334
GeronimoBeforeAfterValve.invoke(Request, Response) line: 47
GeronimoStandardContext.start() line: 189
StandardHost(ContainerBase).addChildInternal(Container) line: 760
StandardHost(ContainerBase).addChild(Container) line: 740
StandardHost.addChild(Container) line: 525
TomcatContainer.addContext(TomcatContext) line: 331
TomcatContainer$$FastClassByCGLIB$$9370b073.invoke(int, Object, Object[]) line: not available
FastMethod.invoke(Object, Object[]) line: 53
FastMethodInvoker.invoke(Object, Object[]) line: 38
GBeanOperation.invoke(Object, Object[]) line: 127
GBeanInstance.invoke(int, Object[]) line: 820
RawInvoker.invoke(int, Object[]) line: 57
RawOperationInvoker.invoke(AbstractName, Object[]) line: 35
ProxyMethodInterceptor.intercept(Object, Method, Object[], MethodProxy) line: 96
TomcatContainer$$EnhancerByCGLIB$$d873f7e2.addContext(TomcatContext) line: not available
TomcatWebAppContext.doStart() line: 496
GBeanInstance.createInstance() line: 986
GBeanInstanceState.attemptFullStart() line: 267
GBeanInstanceState.start() line: 102
GBeanInstance.start() line: 529
GBeanDependency.attemptFullStart() line: 111
GBeanDependency.addTarget(AbstractName) line: 146
GBeanDependency$1.running(AbstractName) line: 120
BasicLifecycleMonitor.fireRunningEvent(AbstractName) line: 173
BasicLifecycleMonitor.access$300(BasicLifecycleMonitor, AbstractName) line: 41
BasicLifecycleMonitor$RawLifecycleBroadcaster.fireRunningEvent() line: 251
GBeanInstanceState.attemptFullStart() line: 292
GBeanInstanceState.start() line: 102
GBeanInstanceState.startRecursive() line: 124
GBeanInstance.startRecursive() line: 543
BasicKernel.startRecursiveGBean(AbstractName) line: 379
ConfigurationUtil.startConfigurationGBeans(AbstractName, Configuration, Kernel) line: 434
EditableKernelConfigurationManager(KernelConfigurationManager).start(Configuration) line: 188
EditableKernelConfigurationManager(SimpleConfigurationManager).startConfiguration(Artifact, LifecycleMonitor) line: 527
EditableKernelConfigurationManager(SimpleConfigurationManager).startConfiguration(Artifact) line: 508
SimpleConfigurationManager$$FastClassByCGLIB$$ce77a924.invoke(int, Object, Object[]) line: not available
FastMethod.invoke(Object, Object[]) line: 53
FastMethodInvoker.invoke(Object, Object[]) line: 38
GBeanOperation.invoke(Object, Object[]) line: 127
GBeanInstance.invoke(String, Object[], String[]) line: 855
BasicKernel.invoke(AbstractName, String, Object[], String[]) line: 239
KernelGBean.invoke(AbstractName, String, Object[], String[]) line: 342
KernelGBean$$FastClassByCGLIB$$1cccefc9.invoke(int, Object, Object[]) line: not available
FastMethod.invoke(Object, Object[]) line: 53
FastMethodInvoker.invoke(Object, Object[]) line: 38
GBeanOperation.invoke(Object, Object[]) line: 127
GBeanInstance.invoke(String, Object[], String[]) line: 855
BasicKernel.invoke(AbstractName, String, Object[], String[]) line: 239
MBeanGBeanBridge.invoke(String, Object[], String[]) line: 168
MetaDataImpl$PrivateDynamicMeta(DynamicMetaDataImpl).invoke(Object, String, Object[], String[]) line: 213
MetaDataImpl.invoke(Object, String, Object[], String[]) line: 220
DefaultMBeanServerInterceptor.invoke(ObjectName, String, Object[], String[]) line: 815
JmxMBeanServer.invoke(ObjectName, String, Object[], String[]) line: 784
RMIConnectionImpl.doOperation(int, Object[]) line: 1408
RMIConnectionImpl.access$100(RMIConnectionImpl, int, Object[]) line: 81
RMIConnectionImpl$PrivilegedOperation.run() line: 1245
AccessController.doPrivileged(PrivilegedExceptionAction<T>, AccessControlContext) line: not available [native method]
RMIConnectionImpl.doPrivilegedOperation(int, Object[], Subject) line: 1348
RMIConnectionImpl.invoke(ObjectName, String, MarshalledObject, String[], Subject) line: 782
NativeMethodAccessorImpl.invoke0(Method, Object, Object[]) line: not available [native method]
NativeMethodAccessorImpl.invoke(Object, Object[]) line: 39
DelegatingMethodAccessorImpl.invoke(Object, Object[]) line: 25
Method.invoke(Object, Object...) line: 585
UnicastServerRef2(UnicastServerRef).dispatch(Remote, RemoteCall) line: 294
Transport$1.run() line: 153
AccessController.doPrivileged(PrivilegedExceptionAction<T>, AccessControlContext) line: not available [native method]
TCPTransport(Transport).serviceCall(RemoteCall) line: 149
TCPTransport.handleMessages(Connection, boolean) line: 466
TCPTransport$ConnectionHandler.run() line: 707
Thread.run() line: 595
It looks like ContextConfig.applicationWebConfig() is (re)parsing web.xml file but I'm not sure where it gets it from. The url its using to load the file is: jndi:/0.0.0.0/jaxws-war-2.0-SNAPSHOT/WEB-INF/web.xml
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Commented: (GERONIMO-2921) Tomcat does not register web
service url mappings when web.xml is not present
Posted by "Jeff Genender (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/GERONIMO-2921?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12477299 ]
Jeff Genender commented on GERONIMO-2921:
-----------------------------------------
Can you provide a simple test case for this?
> Tomcat does not register web service url mappings when web.xml is not present
> -----------------------------------------------------------------------------
>
> Key: GERONIMO-2921
> URL: https://issues.apache.org/jira/browse/GERONIMO-2921
> Project: Geronimo
> Issue Type: Bug
> Security Level: public(Regular issues)
> Components: Tomcat
> Reporter: Jarek Gawor
>
> Here's some background info. The web.xml file is now optional for JAX-WS POJO web services. In such cases, there are certain rules on how the web.xml should get updated. That is, appropriate <servlet> and <servlet-mapping> elements should be inserted into the web.xml. When I update the in-memory representation of the web.xml with the appropriate entires, everything works just fine on Jetty. However, with Tomcat, it seems like the url-mappings for the web services do not get registered. Everything else is fine, e.g. the web services gbeans get initialized, etc. and I can access a JSP deployed in the same war as the web services.
> After a bit of debugging I see that GeronimoStandardContext.addChild() is not called if the web.xml file is not present even though the in-memory representation of the DD is updated correctly. So somehow I think the in-memory representation of the DD is not being passed around correctly.
> Here's a stack trace when web.xml file is present and when addChild() is called:
> System Thread [RMI TCP Connection(9)-192.168.1.102] (Suspended (breakpoint at line 217 in GeronimoStandardContext))
> GeronimoStandardContext.addChild(Container) line: 217
> GeneratedMethodAccessor201.invoke(Object, Object[]) line: not available
> DelegatingMethodAccessorImpl.invoke(Object, Object[]) line: 25
> Method.invoke(Object, Object...) line: 585
> IntrospectionUtils.callMethod1(Object, String, Object, String, ClassLoader) line: 899
> SetNextRule.end() line: 193
> SetNextRule(Rule).end(String, String) line: 229
> Digester.endElement(String, String, String) line: 1058
> SAXParserImpl$JAXPSAXParser(AbstractSAXParser).endElement(QName, Augmentations) line: not available
> XMLDocumentScannerImpl(XMLDocumentFragmentScannerImpl).scanEndElement() line: not available [local variables unavailable]
> XMLDocumentScannerImpl$ContentDispatcher(XMLDocumentFragmentScannerImpl$FragmentContentDispatcher).dispatch(boolean) line: not available
> XMLDocumentScannerImpl(XMLDocumentFragmentScannerImpl).scanDocument(boolean) line: not available
> XIncludeAwareParserConfiguration(XML11Configuration).parse(boolean) line: not available
> XIncludeAwareParserConfiguration(XML11Configuration).parse(XMLInputSource) line: not available
> SAXParserImpl$JAXPSAXParser(XMLParser).parse(XMLInputSource) line: not available
> SAXParserImpl$JAXPSAXParser(AbstractSAXParser).parse(InputSource) line: not available
> SAXParserImpl$JAXPSAXParser.parse(InputSource) line: not available
> Digester.parse(InputSource) line: 1562
> ContextConfig.applicationWebConfig() line: 369
> ContextConfig.start() line: 1060
> ContextConfig.lifecycleEvent(LifecycleEvent) line: 261
> LifecycleSupport.fireLifecycleEvent(String, Object) line: 120
> GeronimoStandardContext(StandardContext).start() line: 4238
> GeronimoStandardContext.access$201(GeronimoStandardContext) line: 66
> GeronimoStandardContext$SystemMethodValve.invoke(Request, Response) line: 334
> GeronimoBeforeAfterValve.invoke(Request, Response) line: 47
> GeronimoStandardContext.start() line: 189
> StandardHost(ContainerBase).addChildInternal(Container) line: 760
> StandardHost(ContainerBase).addChild(Container) line: 740
> StandardHost.addChild(Container) line: 525
> TomcatContainer.addContext(TomcatContext) line: 331
> TomcatContainer$$FastClassByCGLIB$$9370b073.invoke(int, Object, Object[]) line: not available
> FastMethod.invoke(Object, Object[]) line: 53
> FastMethodInvoker.invoke(Object, Object[]) line: 38
> GBeanOperation.invoke(Object, Object[]) line: 127
> GBeanInstance.invoke(int, Object[]) line: 820
> RawInvoker.invoke(int, Object[]) line: 57
> RawOperationInvoker.invoke(AbstractName, Object[]) line: 35
> ProxyMethodInterceptor.intercept(Object, Method, Object[], MethodProxy) line: 96
> TomcatContainer$$EnhancerByCGLIB$$d873f7e2.addContext(TomcatContext) line: not available
> TomcatWebAppContext.doStart() line: 496
> GBeanInstance.createInstance() line: 986
> GBeanInstanceState.attemptFullStart() line: 267
> GBeanInstanceState.start() line: 102
> GBeanInstance.start() line: 529
> GBeanDependency.attemptFullStart() line: 111
> GBeanDependency.addTarget(AbstractName) line: 146
> GBeanDependency$1.running(AbstractName) line: 120
> BasicLifecycleMonitor.fireRunningEvent(AbstractName) line: 173
> BasicLifecycleMonitor.access$300(BasicLifecycleMonitor, AbstractName) line: 41
> BasicLifecycleMonitor$RawLifecycleBroadcaster.fireRunningEvent() line: 251
> GBeanInstanceState.attemptFullStart() line: 292
> GBeanInstanceState.start() line: 102
> GBeanInstanceState.startRecursive() line: 124
> GBeanInstance.startRecursive() line: 543
> BasicKernel.startRecursiveGBean(AbstractName) line: 379
> ConfigurationUtil.startConfigurationGBeans(AbstractName, Configuration, Kernel) line: 434
> EditableKernelConfigurationManager(KernelConfigurationManager).start(Configuration) line: 188
> EditableKernelConfigurationManager(SimpleConfigurationManager).startConfiguration(Artifact, LifecycleMonitor) line: 527
> EditableKernelConfigurationManager(SimpleConfigurationManager).startConfiguration(Artifact) line: 508
> SimpleConfigurationManager$$FastClassByCGLIB$$ce77a924.invoke(int, Object, Object[]) line: not available
> FastMethod.invoke(Object, Object[]) line: 53
> FastMethodInvoker.invoke(Object, Object[]) line: 38
> GBeanOperation.invoke(Object, Object[]) line: 127
> GBeanInstance.invoke(String, Object[], String[]) line: 855
> BasicKernel.invoke(AbstractName, String, Object[], String[]) line: 239
> KernelGBean.invoke(AbstractName, String, Object[], String[]) line: 342
> KernelGBean$$FastClassByCGLIB$$1cccefc9.invoke(int, Object, Object[]) line: not available
> FastMethod.invoke(Object, Object[]) line: 53
> FastMethodInvoker.invoke(Object, Object[]) line: 38
> GBeanOperation.invoke(Object, Object[]) line: 127
> GBeanInstance.invoke(String, Object[], String[]) line: 855
> BasicKernel.invoke(AbstractName, String, Object[], String[]) line: 239
> MBeanGBeanBridge.invoke(String, Object[], String[]) line: 168
> MetaDataImpl$PrivateDynamicMeta(DynamicMetaDataImpl).invoke(Object, String, Object[], String[]) line: 213
> MetaDataImpl.invoke(Object, String, Object[], String[]) line: 220
> DefaultMBeanServerInterceptor.invoke(ObjectName, String, Object[], String[]) line: 815
> JmxMBeanServer.invoke(ObjectName, String, Object[], String[]) line: 784
> RMIConnectionImpl.doOperation(int, Object[]) line: 1408
> RMIConnectionImpl.access$100(RMIConnectionImpl, int, Object[]) line: 81
> RMIConnectionImpl$PrivilegedOperation.run() line: 1245
> AccessController.doPrivileged(PrivilegedExceptionAction<T>, AccessControlContext) line: not available [native method]
> RMIConnectionImpl.doPrivilegedOperation(int, Object[], Subject) line: 1348
> RMIConnectionImpl.invoke(ObjectName, String, MarshalledObject, String[], Subject) line: 782
> NativeMethodAccessorImpl.invoke0(Method, Object, Object[]) line: not available [native method]
> NativeMethodAccessorImpl.invoke(Object, Object[]) line: 39
> DelegatingMethodAccessorImpl.invoke(Object, Object[]) line: 25
> Method.invoke(Object, Object...) line: 585
> UnicastServerRef2(UnicastServerRef).dispatch(Remote, RemoteCall) line: 294
> Transport$1.run() line: 153
> AccessController.doPrivileged(PrivilegedExceptionAction<T>, AccessControlContext) line: not available [native method]
> TCPTransport(Transport).serviceCall(RemoteCall) line: 149
> TCPTransport.handleMessages(Connection, boolean) line: 466
> TCPTransport$ConnectionHandler.run() line: 707
> Thread.run() line: 595
> It looks like ContextConfig.applicationWebConfig() is (re)parsing web.xml file but I'm not sure where it gets it from. The url its using to load the file is: jndi:/0.0.0.0/jaxws-war-2.0-SNAPSHOT/WEB-INF/web.xml
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Assigned: (GERONIMO-2921) Tomcat does not register web
service url mappings when web.xml is not present
Posted by "Jeff Genender (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/GERONIMO-2921?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Jeff Genender reassigned GERONIMO-2921:
---------------------------------------
Assignee: Jeff Genender
> Tomcat does not register web service url mappings when web.xml is not present
> -----------------------------------------------------------------------------
>
> Key: GERONIMO-2921
> URL: https://issues.apache.org/jira/browse/GERONIMO-2921
> Project: Geronimo
> Issue Type: Bug
> Security Level: public(Regular issues)
> Components: Tomcat
> Reporter: Jarek Gawor
> Assigned To: Jeff Genender
> Attachments: jaxws-war-2.0-SNAPSHOT.war
>
>
> Here's some background info. The web.xml file is now optional for JAX-WS POJO web services. In such cases, there are certain rules on how the web.xml should get updated. That is, appropriate <servlet> and <servlet-mapping> elements should be inserted into the web.xml. When I update the in-memory representation of the web.xml with the appropriate entires, everything works just fine on Jetty. However, with Tomcat, it seems like the url-mappings for the web services do not get registered. Everything else is fine, e.g. the web services gbeans get initialized, etc. and I can access a JSP deployed in the same war as the web services.
> After a bit of debugging I see that GeronimoStandardContext.addChild() is not called if the web.xml file is not present even though the in-memory representation of the DD is updated correctly. So somehow I think the in-memory representation of the DD is not being passed around correctly.
> Here's a stack trace when web.xml file is present and when addChild() is called:
> System Thread [RMI TCP Connection(9)-192.168.1.102] (Suspended (breakpoint at line 217 in GeronimoStandardContext))
> GeronimoStandardContext.addChild(Container) line: 217
> GeneratedMethodAccessor201.invoke(Object, Object[]) line: not available
> DelegatingMethodAccessorImpl.invoke(Object, Object[]) line: 25
> Method.invoke(Object, Object...) line: 585
> IntrospectionUtils.callMethod1(Object, String, Object, String, ClassLoader) line: 899
> SetNextRule.end() line: 193
> SetNextRule(Rule).end(String, String) line: 229
> Digester.endElement(String, String, String) line: 1058
> SAXParserImpl$JAXPSAXParser(AbstractSAXParser).endElement(QName, Augmentations) line: not available
> XMLDocumentScannerImpl(XMLDocumentFragmentScannerImpl).scanEndElement() line: not available [local variables unavailable]
> XMLDocumentScannerImpl$ContentDispatcher(XMLDocumentFragmentScannerImpl$FragmentContentDispatcher).dispatch(boolean) line: not available
> XMLDocumentScannerImpl(XMLDocumentFragmentScannerImpl).scanDocument(boolean) line: not available
> XIncludeAwareParserConfiguration(XML11Configuration).parse(boolean) line: not available
> XIncludeAwareParserConfiguration(XML11Configuration).parse(XMLInputSource) line: not available
> SAXParserImpl$JAXPSAXParser(XMLParser).parse(XMLInputSource) line: not available
> SAXParserImpl$JAXPSAXParser(AbstractSAXParser).parse(InputSource) line: not available
> SAXParserImpl$JAXPSAXParser.parse(InputSource) line: not available
> Digester.parse(InputSource) line: 1562
> ContextConfig.applicationWebConfig() line: 369
> ContextConfig.start() line: 1060
> ContextConfig.lifecycleEvent(LifecycleEvent) line: 261
> LifecycleSupport.fireLifecycleEvent(String, Object) line: 120
> GeronimoStandardContext(StandardContext).start() line: 4238
> GeronimoStandardContext.access$201(GeronimoStandardContext) line: 66
> GeronimoStandardContext$SystemMethodValve.invoke(Request, Response) line: 334
> GeronimoBeforeAfterValve.invoke(Request, Response) line: 47
> GeronimoStandardContext.start() line: 189
> StandardHost(ContainerBase).addChildInternal(Container) line: 760
> StandardHost(ContainerBase).addChild(Container) line: 740
> StandardHost.addChild(Container) line: 525
> TomcatContainer.addContext(TomcatContext) line: 331
> TomcatContainer$$FastClassByCGLIB$$9370b073.invoke(int, Object, Object[]) line: not available
> FastMethod.invoke(Object, Object[]) line: 53
> FastMethodInvoker.invoke(Object, Object[]) line: 38
> GBeanOperation.invoke(Object, Object[]) line: 127
> GBeanInstance.invoke(int, Object[]) line: 820
> RawInvoker.invoke(int, Object[]) line: 57
> RawOperationInvoker.invoke(AbstractName, Object[]) line: 35
> ProxyMethodInterceptor.intercept(Object, Method, Object[], MethodProxy) line: 96
> TomcatContainer$$EnhancerByCGLIB$$d873f7e2.addContext(TomcatContext) line: not available
> TomcatWebAppContext.doStart() line: 496
> GBeanInstance.createInstance() line: 986
> GBeanInstanceState.attemptFullStart() line: 267
> GBeanInstanceState.start() line: 102
> GBeanInstance.start() line: 529
> GBeanDependency.attemptFullStart() line: 111
> GBeanDependency.addTarget(AbstractName) line: 146
> GBeanDependency$1.running(AbstractName) line: 120
> BasicLifecycleMonitor.fireRunningEvent(AbstractName) line: 173
> BasicLifecycleMonitor.access$300(BasicLifecycleMonitor, AbstractName) line: 41
> BasicLifecycleMonitor$RawLifecycleBroadcaster.fireRunningEvent() line: 251
> GBeanInstanceState.attemptFullStart() line: 292
> GBeanInstanceState.start() line: 102
> GBeanInstanceState.startRecursive() line: 124
> GBeanInstance.startRecursive() line: 543
> BasicKernel.startRecursiveGBean(AbstractName) line: 379
> ConfigurationUtil.startConfigurationGBeans(AbstractName, Configuration, Kernel) line: 434
> EditableKernelConfigurationManager(KernelConfigurationManager).start(Configuration) line: 188
> EditableKernelConfigurationManager(SimpleConfigurationManager).startConfiguration(Artifact, LifecycleMonitor) line: 527
> EditableKernelConfigurationManager(SimpleConfigurationManager).startConfiguration(Artifact) line: 508
> SimpleConfigurationManager$$FastClassByCGLIB$$ce77a924.invoke(int, Object, Object[]) line: not available
> FastMethod.invoke(Object, Object[]) line: 53
> FastMethodInvoker.invoke(Object, Object[]) line: 38
> GBeanOperation.invoke(Object, Object[]) line: 127
> GBeanInstance.invoke(String, Object[], String[]) line: 855
> BasicKernel.invoke(AbstractName, String, Object[], String[]) line: 239
> KernelGBean.invoke(AbstractName, String, Object[], String[]) line: 342
> KernelGBean$$FastClassByCGLIB$$1cccefc9.invoke(int, Object, Object[]) line: not available
> FastMethod.invoke(Object, Object[]) line: 53
> FastMethodInvoker.invoke(Object, Object[]) line: 38
> GBeanOperation.invoke(Object, Object[]) line: 127
> GBeanInstance.invoke(String, Object[], String[]) line: 855
> BasicKernel.invoke(AbstractName, String, Object[], String[]) line: 239
> MBeanGBeanBridge.invoke(String, Object[], String[]) line: 168
> MetaDataImpl$PrivateDynamicMeta(DynamicMetaDataImpl).invoke(Object, String, Object[], String[]) line: 213
> MetaDataImpl.invoke(Object, String, Object[], String[]) line: 220
> DefaultMBeanServerInterceptor.invoke(ObjectName, String, Object[], String[]) line: 815
> JmxMBeanServer.invoke(ObjectName, String, Object[], String[]) line: 784
> RMIConnectionImpl.doOperation(int, Object[]) line: 1408
> RMIConnectionImpl.access$100(RMIConnectionImpl, int, Object[]) line: 81
> RMIConnectionImpl$PrivilegedOperation.run() line: 1245
> AccessController.doPrivileged(PrivilegedExceptionAction<T>, AccessControlContext) line: not available [native method]
> RMIConnectionImpl.doPrivilegedOperation(int, Object[], Subject) line: 1348
> RMIConnectionImpl.invoke(ObjectName, String, MarshalledObject, String[], Subject) line: 782
> NativeMethodAccessorImpl.invoke0(Method, Object, Object[]) line: not available [native method]
> NativeMethodAccessorImpl.invoke(Object, Object[]) line: 39
> DelegatingMethodAccessorImpl.invoke(Object, Object[]) line: 25
> Method.invoke(Object, Object...) line: 585
> UnicastServerRef2(UnicastServerRef).dispatch(Remote, RemoteCall) line: 294
> Transport$1.run() line: 153
> AccessController.doPrivileged(PrivilegedExceptionAction<T>, AccessControlContext) line: not available [native method]
> TCPTransport(Transport).serviceCall(RemoteCall) line: 149
> TCPTransport.handleMessages(Connection, boolean) line: 466
> TCPTransport$ConnectionHandler.run() line: 707
> Thread.run() line: 595
> It looks like ContextConfig.applicationWebConfig() is (re)parsing web.xml file but I'm not sure where it gets it from. The url its using to load the file is: jndi:/0.0.0.0/jaxws-war-2.0-SNAPSHOT/WEB-INF/web.xml
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Updated: (GERONIMO-2921) Tomcat does not register web
service url mappings when web.xml is not present
Posted by "Jarek Gawor (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/GERONIMO-2921?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Jarek Gawor updated GERONIMO-2921:
----------------------------------
Attachment: jaxws-war-2.0-SNAPSHOT.war
> Tomcat does not register web service url mappings when web.xml is not present
> -----------------------------------------------------------------------------
>
> Key: GERONIMO-2921
> URL: https://issues.apache.org/jira/browse/GERONIMO-2921
> Project: Geronimo
> Issue Type: Bug
> Security Level: public(Regular issues)
> Components: Tomcat
> Reporter: Jarek Gawor
> Attachments: jaxws-war-2.0-SNAPSHOT.war
>
>
> Here's some background info. The web.xml file is now optional for JAX-WS POJO web services. In such cases, there are certain rules on how the web.xml should get updated. That is, appropriate <servlet> and <servlet-mapping> elements should be inserted into the web.xml. When I update the in-memory representation of the web.xml with the appropriate entires, everything works just fine on Jetty. However, with Tomcat, it seems like the url-mappings for the web services do not get registered. Everything else is fine, e.g. the web services gbeans get initialized, etc. and I can access a JSP deployed in the same war as the web services.
> After a bit of debugging I see that GeronimoStandardContext.addChild() is not called if the web.xml file is not present even though the in-memory representation of the DD is updated correctly. So somehow I think the in-memory representation of the DD is not being passed around correctly.
> Here's a stack trace when web.xml file is present and when addChild() is called:
> System Thread [RMI TCP Connection(9)-192.168.1.102] (Suspended (breakpoint at line 217 in GeronimoStandardContext))
> GeronimoStandardContext.addChild(Container) line: 217
> GeneratedMethodAccessor201.invoke(Object, Object[]) line: not available
> DelegatingMethodAccessorImpl.invoke(Object, Object[]) line: 25
> Method.invoke(Object, Object...) line: 585
> IntrospectionUtils.callMethod1(Object, String, Object, String, ClassLoader) line: 899
> SetNextRule.end() line: 193
> SetNextRule(Rule).end(String, String) line: 229
> Digester.endElement(String, String, String) line: 1058
> SAXParserImpl$JAXPSAXParser(AbstractSAXParser).endElement(QName, Augmentations) line: not available
> XMLDocumentScannerImpl(XMLDocumentFragmentScannerImpl).scanEndElement() line: not available [local variables unavailable]
> XMLDocumentScannerImpl$ContentDispatcher(XMLDocumentFragmentScannerImpl$FragmentContentDispatcher).dispatch(boolean) line: not available
> XMLDocumentScannerImpl(XMLDocumentFragmentScannerImpl).scanDocument(boolean) line: not available
> XIncludeAwareParserConfiguration(XML11Configuration).parse(boolean) line: not available
> XIncludeAwareParserConfiguration(XML11Configuration).parse(XMLInputSource) line: not available
> SAXParserImpl$JAXPSAXParser(XMLParser).parse(XMLInputSource) line: not available
> SAXParserImpl$JAXPSAXParser(AbstractSAXParser).parse(InputSource) line: not available
> SAXParserImpl$JAXPSAXParser.parse(InputSource) line: not available
> Digester.parse(InputSource) line: 1562
> ContextConfig.applicationWebConfig() line: 369
> ContextConfig.start() line: 1060
> ContextConfig.lifecycleEvent(LifecycleEvent) line: 261
> LifecycleSupport.fireLifecycleEvent(String, Object) line: 120
> GeronimoStandardContext(StandardContext).start() line: 4238
> GeronimoStandardContext.access$201(GeronimoStandardContext) line: 66
> GeronimoStandardContext$SystemMethodValve.invoke(Request, Response) line: 334
> GeronimoBeforeAfterValve.invoke(Request, Response) line: 47
> GeronimoStandardContext.start() line: 189
> StandardHost(ContainerBase).addChildInternal(Container) line: 760
> StandardHost(ContainerBase).addChild(Container) line: 740
> StandardHost.addChild(Container) line: 525
> TomcatContainer.addContext(TomcatContext) line: 331
> TomcatContainer$$FastClassByCGLIB$$9370b073.invoke(int, Object, Object[]) line: not available
> FastMethod.invoke(Object, Object[]) line: 53
> FastMethodInvoker.invoke(Object, Object[]) line: 38
> GBeanOperation.invoke(Object, Object[]) line: 127
> GBeanInstance.invoke(int, Object[]) line: 820
> RawInvoker.invoke(int, Object[]) line: 57
> RawOperationInvoker.invoke(AbstractName, Object[]) line: 35
> ProxyMethodInterceptor.intercept(Object, Method, Object[], MethodProxy) line: 96
> TomcatContainer$$EnhancerByCGLIB$$d873f7e2.addContext(TomcatContext) line: not available
> TomcatWebAppContext.doStart() line: 496
> GBeanInstance.createInstance() line: 986
> GBeanInstanceState.attemptFullStart() line: 267
> GBeanInstanceState.start() line: 102
> GBeanInstance.start() line: 529
> GBeanDependency.attemptFullStart() line: 111
> GBeanDependency.addTarget(AbstractName) line: 146
> GBeanDependency$1.running(AbstractName) line: 120
> BasicLifecycleMonitor.fireRunningEvent(AbstractName) line: 173
> BasicLifecycleMonitor.access$300(BasicLifecycleMonitor, AbstractName) line: 41
> BasicLifecycleMonitor$RawLifecycleBroadcaster.fireRunningEvent() line: 251
> GBeanInstanceState.attemptFullStart() line: 292
> GBeanInstanceState.start() line: 102
> GBeanInstanceState.startRecursive() line: 124
> GBeanInstance.startRecursive() line: 543
> BasicKernel.startRecursiveGBean(AbstractName) line: 379
> ConfigurationUtil.startConfigurationGBeans(AbstractName, Configuration, Kernel) line: 434
> EditableKernelConfigurationManager(KernelConfigurationManager).start(Configuration) line: 188
> EditableKernelConfigurationManager(SimpleConfigurationManager).startConfiguration(Artifact, LifecycleMonitor) line: 527
> EditableKernelConfigurationManager(SimpleConfigurationManager).startConfiguration(Artifact) line: 508
> SimpleConfigurationManager$$FastClassByCGLIB$$ce77a924.invoke(int, Object, Object[]) line: not available
> FastMethod.invoke(Object, Object[]) line: 53
> FastMethodInvoker.invoke(Object, Object[]) line: 38
> GBeanOperation.invoke(Object, Object[]) line: 127
> GBeanInstance.invoke(String, Object[], String[]) line: 855
> BasicKernel.invoke(AbstractName, String, Object[], String[]) line: 239
> KernelGBean.invoke(AbstractName, String, Object[], String[]) line: 342
> KernelGBean$$FastClassByCGLIB$$1cccefc9.invoke(int, Object, Object[]) line: not available
> FastMethod.invoke(Object, Object[]) line: 53
> FastMethodInvoker.invoke(Object, Object[]) line: 38
> GBeanOperation.invoke(Object, Object[]) line: 127
> GBeanInstance.invoke(String, Object[], String[]) line: 855
> BasicKernel.invoke(AbstractName, String, Object[], String[]) line: 239
> MBeanGBeanBridge.invoke(String, Object[], String[]) line: 168
> MetaDataImpl$PrivateDynamicMeta(DynamicMetaDataImpl).invoke(Object, String, Object[], String[]) line: 213
> MetaDataImpl.invoke(Object, String, Object[], String[]) line: 220
> DefaultMBeanServerInterceptor.invoke(ObjectName, String, Object[], String[]) line: 815
> JmxMBeanServer.invoke(ObjectName, String, Object[], String[]) line: 784
> RMIConnectionImpl.doOperation(int, Object[]) line: 1408
> RMIConnectionImpl.access$100(RMIConnectionImpl, int, Object[]) line: 81
> RMIConnectionImpl$PrivilegedOperation.run() line: 1245
> AccessController.doPrivileged(PrivilegedExceptionAction<T>, AccessControlContext) line: not available [native method]
> RMIConnectionImpl.doPrivilegedOperation(int, Object[], Subject) line: 1348
> RMIConnectionImpl.invoke(ObjectName, String, MarshalledObject, String[], Subject) line: 782
> NativeMethodAccessorImpl.invoke0(Method, Object, Object[]) line: not available [native method]
> NativeMethodAccessorImpl.invoke(Object, Object[]) line: 39
> DelegatingMethodAccessorImpl.invoke(Object, Object[]) line: 25
> Method.invoke(Object, Object...) line: 585
> UnicastServerRef2(UnicastServerRef).dispatch(Remote, RemoteCall) line: 294
> Transport$1.run() line: 153
> AccessController.doPrivileged(PrivilegedExceptionAction<T>, AccessControlContext) line: not available [native method]
> TCPTransport(Transport).serviceCall(RemoteCall) line: 149
> TCPTransport.handleMessages(Connection, boolean) line: 466
> TCPTransport$ConnectionHandler.run() line: 707
> Thread.run() line: 595
> It looks like ContextConfig.applicationWebConfig() is (re)parsing web.xml file but I'm not sure where it gets it from. The url its using to load the file is: jndi:/0.0.0.0/jaxws-war-2.0-SNAPSHOT/WEB-INF/web.xml
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Commented: (GERONIMO-2921) Tomcat does not register web
service url mappings when web.xml is not present
Posted by "Jarek Gawor (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/GERONIMO-2921?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12477327 ]
Jarek Gawor commented on GERONIMO-2921:
---------------------------------------
First, https://issues.apache.org/jira/browse/GERONIMO-2922 needs to be applied. Second, deploy the attached .war file. If things are deployed and connected successfully the following urls should work fine:
http://localhost:8080/jaxws-war-2.0-SNAPSHOT/SOAPService?wsdl
http://localhost:8080/jaxws-war-2.0-SNAPSHOT/HelloServiceService?wsdl
http://localhost:8080/jaxws-war-2.0-SNAPSHOT/EchoServiceService?wsdl
> Tomcat does not register web service url mappings when web.xml is not present
> -----------------------------------------------------------------------------
>
> Key: GERONIMO-2921
> URL: https://issues.apache.org/jira/browse/GERONIMO-2921
> Project: Geronimo
> Issue Type: Bug
> Security Level: public(Regular issues)
> Components: Tomcat
> Reporter: Jarek Gawor
> Attachments: jaxws-war-2.0-SNAPSHOT.war
>
>
> Here's some background info. The web.xml file is now optional for JAX-WS POJO web services. In such cases, there are certain rules on how the web.xml should get updated. That is, appropriate <servlet> and <servlet-mapping> elements should be inserted into the web.xml. When I update the in-memory representation of the web.xml with the appropriate entires, everything works just fine on Jetty. However, with Tomcat, it seems like the url-mappings for the web services do not get registered. Everything else is fine, e.g. the web services gbeans get initialized, etc. and I can access a JSP deployed in the same war as the web services.
> After a bit of debugging I see that GeronimoStandardContext.addChild() is not called if the web.xml file is not present even though the in-memory representation of the DD is updated correctly. So somehow I think the in-memory representation of the DD is not being passed around correctly.
> Here's a stack trace when web.xml file is present and when addChild() is called:
> System Thread [RMI TCP Connection(9)-192.168.1.102] (Suspended (breakpoint at line 217 in GeronimoStandardContext))
> GeronimoStandardContext.addChild(Container) line: 217
> GeneratedMethodAccessor201.invoke(Object, Object[]) line: not available
> DelegatingMethodAccessorImpl.invoke(Object, Object[]) line: 25
> Method.invoke(Object, Object...) line: 585
> IntrospectionUtils.callMethod1(Object, String, Object, String, ClassLoader) line: 899
> SetNextRule.end() line: 193
> SetNextRule(Rule).end(String, String) line: 229
> Digester.endElement(String, String, String) line: 1058
> SAXParserImpl$JAXPSAXParser(AbstractSAXParser).endElement(QName, Augmentations) line: not available
> XMLDocumentScannerImpl(XMLDocumentFragmentScannerImpl).scanEndElement() line: not available [local variables unavailable]
> XMLDocumentScannerImpl$ContentDispatcher(XMLDocumentFragmentScannerImpl$FragmentContentDispatcher).dispatch(boolean) line: not available
> XMLDocumentScannerImpl(XMLDocumentFragmentScannerImpl).scanDocument(boolean) line: not available
> XIncludeAwareParserConfiguration(XML11Configuration).parse(boolean) line: not available
> XIncludeAwareParserConfiguration(XML11Configuration).parse(XMLInputSource) line: not available
> SAXParserImpl$JAXPSAXParser(XMLParser).parse(XMLInputSource) line: not available
> SAXParserImpl$JAXPSAXParser(AbstractSAXParser).parse(InputSource) line: not available
> SAXParserImpl$JAXPSAXParser.parse(InputSource) line: not available
> Digester.parse(InputSource) line: 1562
> ContextConfig.applicationWebConfig() line: 369
> ContextConfig.start() line: 1060
> ContextConfig.lifecycleEvent(LifecycleEvent) line: 261
> LifecycleSupport.fireLifecycleEvent(String, Object) line: 120
> GeronimoStandardContext(StandardContext).start() line: 4238
> GeronimoStandardContext.access$201(GeronimoStandardContext) line: 66
> GeronimoStandardContext$SystemMethodValve.invoke(Request, Response) line: 334
> GeronimoBeforeAfterValve.invoke(Request, Response) line: 47
> GeronimoStandardContext.start() line: 189
> StandardHost(ContainerBase).addChildInternal(Container) line: 760
> StandardHost(ContainerBase).addChild(Container) line: 740
> StandardHost.addChild(Container) line: 525
> TomcatContainer.addContext(TomcatContext) line: 331
> TomcatContainer$$FastClassByCGLIB$$9370b073.invoke(int, Object, Object[]) line: not available
> FastMethod.invoke(Object, Object[]) line: 53
> FastMethodInvoker.invoke(Object, Object[]) line: 38
> GBeanOperation.invoke(Object, Object[]) line: 127
> GBeanInstance.invoke(int, Object[]) line: 820
> RawInvoker.invoke(int, Object[]) line: 57
> RawOperationInvoker.invoke(AbstractName, Object[]) line: 35
> ProxyMethodInterceptor.intercept(Object, Method, Object[], MethodProxy) line: 96
> TomcatContainer$$EnhancerByCGLIB$$d873f7e2.addContext(TomcatContext) line: not available
> TomcatWebAppContext.doStart() line: 496
> GBeanInstance.createInstance() line: 986
> GBeanInstanceState.attemptFullStart() line: 267
> GBeanInstanceState.start() line: 102
> GBeanInstance.start() line: 529
> GBeanDependency.attemptFullStart() line: 111
> GBeanDependency.addTarget(AbstractName) line: 146
> GBeanDependency$1.running(AbstractName) line: 120
> BasicLifecycleMonitor.fireRunningEvent(AbstractName) line: 173
> BasicLifecycleMonitor.access$300(BasicLifecycleMonitor, AbstractName) line: 41
> BasicLifecycleMonitor$RawLifecycleBroadcaster.fireRunningEvent() line: 251
> GBeanInstanceState.attemptFullStart() line: 292
> GBeanInstanceState.start() line: 102
> GBeanInstanceState.startRecursive() line: 124
> GBeanInstance.startRecursive() line: 543
> BasicKernel.startRecursiveGBean(AbstractName) line: 379
> ConfigurationUtil.startConfigurationGBeans(AbstractName, Configuration, Kernel) line: 434
> EditableKernelConfigurationManager(KernelConfigurationManager).start(Configuration) line: 188
> EditableKernelConfigurationManager(SimpleConfigurationManager).startConfiguration(Artifact, LifecycleMonitor) line: 527
> EditableKernelConfigurationManager(SimpleConfigurationManager).startConfiguration(Artifact) line: 508
> SimpleConfigurationManager$$FastClassByCGLIB$$ce77a924.invoke(int, Object, Object[]) line: not available
> FastMethod.invoke(Object, Object[]) line: 53
> FastMethodInvoker.invoke(Object, Object[]) line: 38
> GBeanOperation.invoke(Object, Object[]) line: 127
> GBeanInstance.invoke(String, Object[], String[]) line: 855
> BasicKernel.invoke(AbstractName, String, Object[], String[]) line: 239
> KernelGBean.invoke(AbstractName, String, Object[], String[]) line: 342
> KernelGBean$$FastClassByCGLIB$$1cccefc9.invoke(int, Object, Object[]) line: not available
> FastMethod.invoke(Object, Object[]) line: 53
> FastMethodInvoker.invoke(Object, Object[]) line: 38
> GBeanOperation.invoke(Object, Object[]) line: 127
> GBeanInstance.invoke(String, Object[], String[]) line: 855
> BasicKernel.invoke(AbstractName, String, Object[], String[]) line: 239
> MBeanGBeanBridge.invoke(String, Object[], String[]) line: 168
> MetaDataImpl$PrivateDynamicMeta(DynamicMetaDataImpl).invoke(Object, String, Object[], String[]) line: 213
> MetaDataImpl.invoke(Object, String, Object[], String[]) line: 220
> DefaultMBeanServerInterceptor.invoke(ObjectName, String, Object[], String[]) line: 815
> JmxMBeanServer.invoke(ObjectName, String, Object[], String[]) line: 784
> RMIConnectionImpl.doOperation(int, Object[]) line: 1408
> RMIConnectionImpl.access$100(RMIConnectionImpl, int, Object[]) line: 81
> RMIConnectionImpl$PrivilegedOperation.run() line: 1245
> AccessController.doPrivileged(PrivilegedExceptionAction<T>, AccessControlContext) line: not available [native method]
> RMIConnectionImpl.doPrivilegedOperation(int, Object[], Subject) line: 1348
> RMIConnectionImpl.invoke(ObjectName, String, MarshalledObject, String[], Subject) line: 782
> NativeMethodAccessorImpl.invoke0(Method, Object, Object[]) line: not available [native method]
> NativeMethodAccessorImpl.invoke(Object, Object[]) line: 39
> DelegatingMethodAccessorImpl.invoke(Object, Object[]) line: 25
> Method.invoke(Object, Object...) line: 585
> UnicastServerRef2(UnicastServerRef).dispatch(Remote, RemoteCall) line: 294
> Transport$1.run() line: 153
> AccessController.doPrivileged(PrivilegedExceptionAction<T>, AccessControlContext) line: not available [native method]
> TCPTransport(Transport).serviceCall(RemoteCall) line: 149
> TCPTransport.handleMessages(Connection, boolean) line: 466
> TCPTransport$ConnectionHandler.run() line: 707
> Thread.run() line: 595
> It looks like ContextConfig.applicationWebConfig() is (re)parsing web.xml file but I'm not sure where it gets it from. The url its using to load the file is: jndi:/0.0.0.0/jaxws-war-2.0-SNAPSHOT/WEB-INF/web.xml
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Closed: (GERONIMO-2921) Tomcat does not register web service
url mappings when web.xml is not present
Posted by "Jeff Genender (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/GERONIMO-2921?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Jeff Genender closed GERONIMO-2921.
-----------------------------------
Resolution: Fixed
Fix Version/s: 2.0-beta2
Ok...here is the story...
Tomcat does it's own parsing of web.xml. I tried to manually push wrappers (Servlets) and patterns to the context, but this is not working. In debugging Tomcat, apparently the url patterns don't get placed at the appropriate level when the context is running. I don't know if this is a bug or not, but it certainly is not following the architecture for the embedded/.manual tomcat component building as shown in examples all over the place. The issue may be that the context is already started.
Therefore, I am writing out the XML to the deployment dir if a web.xml does not exist. This is kind of a kludge because of the Tomcat explained above. Hence, creating and writing out a web.xml to the deployed location is the only way around this until Tomcat fixes that bug.
Once/if Tomcat can allow a how deploy of a servlet and url-pattern mapping to get picked up and dispatched, I can do a cleaner implementation with pure objects, thus removing the need to write out a web.xml.
But for now, this seems to work.
Committed revision 514188.
> Tomcat does not register web service url mappings when web.xml is not present
> -----------------------------------------------------------------------------
>
> Key: GERONIMO-2921
> URL: https://issues.apache.org/jira/browse/GERONIMO-2921
> Project: Geronimo
> Issue Type: Bug
> Security Level: public(Regular issues)
> Components: Tomcat
> Reporter: Jarek Gawor
> Assigned To: Jeff Genender
> Fix For: 2.0-beta2
>
> Attachments: jaxws-war-2.0-SNAPSHOT.war
>
>
> Here's some background info. The web.xml file is now optional for JAX-WS POJO web services. In such cases, there are certain rules on how the web.xml should get updated. That is, appropriate <servlet> and <servlet-mapping> elements should be inserted into the web.xml. When I update the in-memory representation of the web.xml with the appropriate entires, everything works just fine on Jetty. However, with Tomcat, it seems like the url-mappings for the web services do not get registered. Everything else is fine, e.g. the web services gbeans get initialized, etc. and I can access a JSP deployed in the same war as the web services.
> After a bit of debugging I see that GeronimoStandardContext.addChild() is not called if the web.xml file is not present even though the in-memory representation of the DD is updated correctly. So somehow I think the in-memory representation of the DD is not being passed around correctly.
> Here's a stack trace when web.xml file is present and when addChild() is called:
> System Thread [RMI TCP Connection(9)-192.168.1.102] (Suspended (breakpoint at line 217 in GeronimoStandardContext))
> GeronimoStandardContext.addChild(Container) line: 217
> GeneratedMethodAccessor201.invoke(Object, Object[]) line: not available
> DelegatingMethodAccessorImpl.invoke(Object, Object[]) line: 25
> Method.invoke(Object, Object...) line: 585
> IntrospectionUtils.callMethod1(Object, String, Object, String, ClassLoader) line: 899
> SetNextRule.end() line: 193
> SetNextRule(Rule).end(String, String) line: 229
> Digester.endElement(String, String, String) line: 1058
> SAXParserImpl$JAXPSAXParser(AbstractSAXParser).endElement(QName, Augmentations) line: not available
> XMLDocumentScannerImpl(XMLDocumentFragmentScannerImpl).scanEndElement() line: not available [local variables unavailable]
> XMLDocumentScannerImpl$ContentDispatcher(XMLDocumentFragmentScannerImpl$FragmentContentDispatcher).dispatch(boolean) line: not available
> XMLDocumentScannerImpl(XMLDocumentFragmentScannerImpl).scanDocument(boolean) line: not available
> XIncludeAwareParserConfiguration(XML11Configuration).parse(boolean) line: not available
> XIncludeAwareParserConfiguration(XML11Configuration).parse(XMLInputSource) line: not available
> SAXParserImpl$JAXPSAXParser(XMLParser).parse(XMLInputSource) line: not available
> SAXParserImpl$JAXPSAXParser(AbstractSAXParser).parse(InputSource) line: not available
> SAXParserImpl$JAXPSAXParser.parse(InputSource) line: not available
> Digester.parse(InputSource) line: 1562
> ContextConfig.applicationWebConfig() line: 369
> ContextConfig.start() line: 1060
> ContextConfig.lifecycleEvent(LifecycleEvent) line: 261
> LifecycleSupport.fireLifecycleEvent(String, Object) line: 120
> GeronimoStandardContext(StandardContext).start() line: 4238
> GeronimoStandardContext.access$201(GeronimoStandardContext) line: 66
> GeronimoStandardContext$SystemMethodValve.invoke(Request, Response) line: 334
> GeronimoBeforeAfterValve.invoke(Request, Response) line: 47
> GeronimoStandardContext.start() line: 189
> StandardHost(ContainerBase).addChildInternal(Container) line: 760
> StandardHost(ContainerBase).addChild(Container) line: 740
> StandardHost.addChild(Container) line: 525
> TomcatContainer.addContext(TomcatContext) line: 331
> TomcatContainer$$FastClassByCGLIB$$9370b073.invoke(int, Object, Object[]) line: not available
> FastMethod.invoke(Object, Object[]) line: 53
> FastMethodInvoker.invoke(Object, Object[]) line: 38
> GBeanOperation.invoke(Object, Object[]) line: 127
> GBeanInstance.invoke(int, Object[]) line: 820
> RawInvoker.invoke(int, Object[]) line: 57
> RawOperationInvoker.invoke(AbstractName, Object[]) line: 35
> ProxyMethodInterceptor.intercept(Object, Method, Object[], MethodProxy) line: 96
> TomcatContainer$$EnhancerByCGLIB$$d873f7e2.addContext(TomcatContext) line: not available
> TomcatWebAppContext.doStart() line: 496
> GBeanInstance.createInstance() line: 986
> GBeanInstanceState.attemptFullStart() line: 267
> GBeanInstanceState.start() line: 102
> GBeanInstance.start() line: 529
> GBeanDependency.attemptFullStart() line: 111
> GBeanDependency.addTarget(AbstractName) line: 146
> GBeanDependency$1.running(AbstractName) line: 120
> BasicLifecycleMonitor.fireRunningEvent(AbstractName) line: 173
> BasicLifecycleMonitor.access$300(BasicLifecycleMonitor, AbstractName) line: 41
> BasicLifecycleMonitor$RawLifecycleBroadcaster.fireRunningEvent() line: 251
> GBeanInstanceState.attemptFullStart() line: 292
> GBeanInstanceState.start() line: 102
> GBeanInstanceState.startRecursive() line: 124
> GBeanInstance.startRecursive() line: 543
> BasicKernel.startRecursiveGBean(AbstractName) line: 379
> ConfigurationUtil.startConfigurationGBeans(AbstractName, Configuration, Kernel) line: 434
> EditableKernelConfigurationManager(KernelConfigurationManager).start(Configuration) line: 188
> EditableKernelConfigurationManager(SimpleConfigurationManager).startConfiguration(Artifact, LifecycleMonitor) line: 527
> EditableKernelConfigurationManager(SimpleConfigurationManager).startConfiguration(Artifact) line: 508
> SimpleConfigurationManager$$FastClassByCGLIB$$ce77a924.invoke(int, Object, Object[]) line: not available
> FastMethod.invoke(Object, Object[]) line: 53
> FastMethodInvoker.invoke(Object, Object[]) line: 38
> GBeanOperation.invoke(Object, Object[]) line: 127
> GBeanInstance.invoke(String, Object[], String[]) line: 855
> BasicKernel.invoke(AbstractName, String, Object[], String[]) line: 239
> KernelGBean.invoke(AbstractName, String, Object[], String[]) line: 342
> KernelGBean$$FastClassByCGLIB$$1cccefc9.invoke(int, Object, Object[]) line: not available
> FastMethod.invoke(Object, Object[]) line: 53
> FastMethodInvoker.invoke(Object, Object[]) line: 38
> GBeanOperation.invoke(Object, Object[]) line: 127
> GBeanInstance.invoke(String, Object[], String[]) line: 855
> BasicKernel.invoke(AbstractName, String, Object[], String[]) line: 239
> MBeanGBeanBridge.invoke(String, Object[], String[]) line: 168
> MetaDataImpl$PrivateDynamicMeta(DynamicMetaDataImpl).invoke(Object, String, Object[], String[]) line: 213
> MetaDataImpl.invoke(Object, String, Object[], String[]) line: 220
> DefaultMBeanServerInterceptor.invoke(ObjectName, String, Object[], String[]) line: 815
> JmxMBeanServer.invoke(ObjectName, String, Object[], String[]) line: 784
> RMIConnectionImpl.doOperation(int, Object[]) line: 1408
> RMIConnectionImpl.access$100(RMIConnectionImpl, int, Object[]) line: 81
> RMIConnectionImpl$PrivilegedOperation.run() line: 1245
> AccessController.doPrivileged(PrivilegedExceptionAction<T>, AccessControlContext) line: not available [native method]
> RMIConnectionImpl.doPrivilegedOperation(int, Object[], Subject) line: 1348
> RMIConnectionImpl.invoke(ObjectName, String, MarshalledObject, String[], Subject) line: 782
> NativeMethodAccessorImpl.invoke0(Method, Object, Object[]) line: not available [native method]
> NativeMethodAccessorImpl.invoke(Object, Object[]) line: 39
> DelegatingMethodAccessorImpl.invoke(Object, Object[]) line: 25
> Method.invoke(Object, Object...) line: 585
> UnicastServerRef2(UnicastServerRef).dispatch(Remote, RemoteCall) line: 294
> Transport$1.run() line: 153
> AccessController.doPrivileged(PrivilegedExceptionAction<T>, AccessControlContext) line: not available [native method]
> TCPTransport(Transport).serviceCall(RemoteCall) line: 149
> TCPTransport.handleMessages(Connection, boolean) line: 466
> TCPTransport$ConnectionHandler.run() line: 707
> Thread.run() line: 595
> It looks like ContextConfig.applicationWebConfig() is (re)parsing web.xml file but I'm not sure where it gets it from. The url its using to load the file is: jndi:/0.0.0.0/jaxws-war-2.0-SNAPSHOT/WEB-INF/web.xml
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.