[ http://jira.activemq.org/jira//browse/SM-347?page=comments#action_35751 ]
Guillaume Nodet commented on SM-347: ------------------------------------ Fix for service assembly related functions. May need other fixes ... Author: gnodet Date: Fri Mar 10 09:38:29 2006 New Revision: 384868 URL: http://svn.apache.org/viewcvs?rev=384868&view=rev Log: Fix SM-347: Exception thrown during command invocation contains nested XMLs result strings Modified: incubator/servicemix/trunk/servicemix-core/src/main/java/org/apache/servicemix/jbi/framework/AdminCommandsService.java > Exception thrown during command invocation contains nested XMLs result strings > ------------------------------------------------------------------------------ > > Key: SM-347 > URL: http://jira.activemq.org/jira//browse/SM-347 > Project: ServiceMix > Type: Bug > Components: servicemix-core > Versions: 3.0 > Reporter: Simone Bordet > > > When invoking AdminCommandsService.startComponent(), and the component > start() method throws an exception, the XML result string (defined by the JBI > spec) is nested, that is contains the XML twice and the second time is > encoded, like for example: > <jbi-task xmlns="http://java.sun.com/xml/ns/jbi/management-message" > version="1.0"> > <jbi-task-result> > <frmwk-task-result> > <frmwk-task-result-details> > <task-result-details> > <task-id>startServiceAssembly</task-id> > <task-result>FAILED</task-result> > <message-type>ERROR</message-type> > <task-status-msg> > <msg-loc-info> > <loc-token/> > <loc-message>loanbroker</loc-message> > </msg-loc-info> > </task-status-msg> > <exception-info> > <nesting-level>1</nesting-level> > <loc-token/> > <loc-message><?xml version="1.0" encoding="UTF-8"?> > <jbi-task xmlns="http://java.sun.com/xml/ns/jbi/management-message" > version="1.0"> > <jbi-task-result> > <frmwk-task-result> > <frmwk-task-result-details> > <task-result-details> > <task-id>start</task-id> > <task-result>FAILED</task-result> > <message-type>ERROR</message-type> > </task-result-details> > </frmwk-task-result-details> > </frmwk-task-result> > <component-task-result > xmlns="http://java.sun.com/xml/ns/jbi/management-message"> > <component-name>servicemix-http</component-name> > <component-task-result-details> > <task-result-details> > <task-id>start</task-id> > <task-result>FAILED</task-result> > <message-type>ERROR</message-type> > <task-status-message> > <msg-loc-info> > <loc-token/> > <loc-message>Unable to start service unit</loc-message> > </msg-loc-info> > </task-status-message> > <exception-info> > <nesting-level>1</nesting-level> > <msg-loc-info> > <loc-token/> > <loc-message>An external > endpoint for service {urn:logicblaze:soa:loanbroker}LoanBrokerService and > endpoint loanbroker is already registered</loc-message> > > <stack-trace><![CDATA[javax.jbi.JBIException: An external endpoint > for service {urn:logicblaze:soa:loanbroker}LoanBrokerService and endpoint > loanbroker is already registered > at > org.apache.servicemix.jbi.framework.EndpointRegistry.registerExternalEndpoint(EndpointRegistry.java:319) > at > org.apache.servicemix.jbi.framework.Registry.registerExternalEndpoint(Registry.java:238) > at > org.apache.servicemix.jbi.framework.ComponentContextImpl.registerExternalEndpoint(ComponentContextImpl.java:324) > at > org.apache.servicemix.http.HttpEndpoint.activate(HttpEndpoint.java:63) > at org.apache.servicemix.common.ServiceUnit.start(ServiceUnit.java:45) > at > org.apache.servicemix.common.BaseServiceUnitManager.start(BaseServiceUnitManager.java:148) > at > org.apache.servicemix.jbi.framework.ServiceUnitLifeCycle.start(ServiceUnitLifeCycle.java:98) > at > org.apache.servicemix.jbi.framework.ServiceAssemblyLifeCycle.start(ServiceAssemblyLifeCycle.java:130) > at > org.apache.servicemix.jbi.framework.DeploymentService.start(DeploymentService.java:373) > at > org.apache.servicemix.jbi.framework.AdminCommandsService.startServiceAssembly(AdminCommandsService.java:202) > 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:585) > at > org.apache.commons.beanutils.MethodUtils.invokeMethod(MethodUtils.java:216) > at > org.apache.commons.beanutils.MethodUtils.invokeMethod(MethodUtils.java:162) > at > org.apache.servicemix.jbi.management.BaseStandardMBean.invoke(BaseStandardMBean.java:307) > at > com.sun.jmx.mbeanserver.DynamicMetaDataImpl.invoke(DynamicMetaDataImpl.java:213) > at com.sun.jmx.mbeanserver.MetaDataImpl.invoke(MetaDataImpl.java:220) > at > com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:815) > at > com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:784) > at > javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionImpl.java:1408) > at > javax.management.remote.rmi.RMIConnectionImpl.access$100(RMIConnectionImpl.java:81) > at > javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(RMIConnectionImpl.java:1245) > at > javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(RMIConnectionImpl.java:1341) > at > javax.management.remote.rmi.RMIConnectionImpl.invoke(RMIConnectionImpl.java:782) > at sun.reflect.GeneratedMethodAccessor66.invoke(Unknown Source) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) > at java.lang.reflect.Method.invoke(Method.java:585) > at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:294) > at sun.rmi.transport.Transport$1.run(Transport.java:153) > at java.security.AccessController.doPrivileged(Native Method) > at sun.rmi.transport.Transport.serviceCall(Transport.java:149) > at > sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:460) > at > sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:701) > at java.lang.Thread.run(Thread.java:595) > ]]></stack-trace> > </msg-loc-info> > </exception-info> > </task-result-details> > </component-task-result-details> > </component-task-result> > </jbi-task-result> > </jbi-task> > </loc-message> > <stack-trace><![CDATA[java.lang.Exception: <?xml version="1.0" > encoding="UTF-8"?> > <jbi-task xmlns="http://java.sun.com/xml/ns/jbi/management-message" > version="1.0"> > <jbi-task-result> > <frmwk-task-result> > <frmwk-task-result-details> > <task-result-details> > <task-id>start</task-id> > <task-result>FAILED</task-result> > <message-type>ERROR</message-type> > </task-result-details> > </frmwk-task-result-details> > </frmwk-task-result> > <component-task-result > xmlns="http://java.sun.com/xml/ns/jbi/management-message"> > <component-name>servicemix-http</component-name> > <component-task-result-details> > <task-result-details> > <task-id>start</task-id> > <task-result>FAILED</task-result> > <message-type>ERROR</message-type> > <task-status-message> > <msg-loc-info> > <loc-token/> > <loc-message>Unable to start service unit</loc-message> > </msg-loc-info> > </task-status-message> > <exception-info> > <nesting-level>1</nesting-level> > <msg-loc-info> > <loc-token/> > <loc-message>An external endpoint for > service {urn:logicblaze:soa:loanbroker}LoanBrokerService and endpoint > loanbroker is already registered</loc-message> > > <stack-trace><![CDATA[javax.jbi.JBIException: An external endpoint for > service {urn:logicblaze:soa:loanbroker}LoanBrokerService and endpoint > loanbroker is already registered > at > org.apache.servicemix.jbi.framework.EndpointRegistry.registerExternalEndpoint(EndpointRegistry.java:319) > at > org.apache.servicemix.jbi.framework.Registry.registerExternalEndpoint(Registry.java:238) > at > org.apache.servicemix.jbi.framework.ComponentContextImpl.registerExternalEndpoint(ComponentContextImpl.java:324) > at > org.apache.servicemix.http.HttpEndpoint.activate(HttpEndpoint.java:63) > at org.apache.servicemix.common.ServiceUnit.start(ServiceUnit.java:45) > at > org.apache.servicemix.common.BaseServiceUnitManager.start(BaseServiceUnitManager.java:148) > at > org.apache.servicemix.jbi.framework.ServiceUnitLifeCycle.start(ServiceUnitLifeCycle.java:98) > at > org.apache.servicemix.jbi.framework.ServiceAssemblyLifeCycle.start(ServiceAssemblyLifeCycle.java:130) > at > org.apache.servicemix.jbi.framework.DeploymentService.start(DeploymentService.java:373) > at > org.apache.servicemix.jbi.framework.AdminCommandsService.startServiceAssembly(AdminCommandsService.java:202) > 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:585) > at > org.apache.commons.beanutils.MethodUtils.invokeMethod(MethodUtils.java:216) > at > org.apache.commons.beanutils.MethodUtils.invokeMethod(MethodUtils.java:162) > at > org.apache.servicemix.jbi.management.BaseStandardMBean.invoke(BaseStandardMBean.java:307) > at > com.sun.jmx.mbeanserver.DynamicMetaDataImpl.invoke(DynamicMetaDataImpl.java:213) > at com.sun.jmx.mbeanserver.MetaDataImpl.invoke(MetaDataImpl.java:220) > at > com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:815) > at > com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:784) > at > javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionImpl.java:1408) > at > javax.management.remote.rmi.RMIConnectionImpl.access$100(RMIConnectionImpl.java:81) > at > javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(RMIConnectionImpl.java:1245) > at > javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(RMIConnectionImpl.java:1341) > at > javax.management.remote.rmi.RMIConnectionImpl.invoke(RMIConnectionImpl.java:782) > at sun.reflect.GeneratedMethodAccessor66.invoke(Unknown Source) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) > at java.lang.reflect.Method.invoke(Method.java:585) > at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:294) > at sun.rmi.transport.Transport$1.run(Transport.java:153) > at java.security.AccessController.doPrivileged(Native Method) > at sun.rmi.transport.Transport.serviceCall(Transport.java:149) > at > sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:460) > at > sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:701) > at java.lang.Thread.run(Thread.java:595) > ]]]]><![CDATA[></stack-trace> > </msg-loc-info> > </exception-info> > </task-result-details> > </component-task-result-details> > </component-task-result> > </jbi-task-result> > </jbi-task> -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://jira.activemq.org/jira//secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira