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>&lt;?xml version="1.0" encoding="UTF-8"?&gt;
&lt;jbi-task xmlns="http://java.sun.com/xml/ns/jbi/management-message"; 
version="1.0"&gt;
&lt;jbi-task-result&gt;
&lt;frmwk-task-result&gt;
&lt;frmwk-task-result-details&gt;
&lt;task-result-details&gt;
&lt;task-id&gt;start&lt;/task-id&gt;
&lt;task-result&gt;FAILED&lt;/task-result&gt;
&lt;message-type&gt;ERROR&lt;/message-type&gt;
&lt;/task-result-details&gt;
&lt;/frmwk-task-result-details&gt;
&lt;/frmwk-task-result&gt;
&lt;component-task-result 
xmlns="http://java.sun.com/xml/ns/jbi/management-message"&gt;
        &lt;component-name&gt;servicemix-http&lt;/component-name&gt;
        &lt;component-task-result-details&gt;
                &lt;task-result-details&gt;
                        &lt;task-id&gt;start&lt;/task-id&gt;
                        &lt;task-result&gt;FAILED&lt;/task-result&gt;
                        &lt;message-type&gt;ERROR&lt;/message-type&gt;
                        &lt;task-status-message&gt;
&lt;msg-loc-info&gt;
&lt;loc-token/&gt;
&lt;loc-message&gt;Unable to start service unit&lt;/loc-message&gt;
&lt;/msg-loc-info&gt;
&lt;/task-status-message&gt;
                        &lt;exception-info&gt;
                                &lt;nesting-level&gt;1&lt;/nesting-level&gt;
                                &lt;msg-loc-info&gt;
                                        &lt;loc-token/&gt;
                                        &lt;loc-message&gt;An external endpoint 
for service {urn:logicblaze:soa:loanbroker}LoanBrokerService and endpoint 
loanbroker is already registered&lt;/loc-message&gt;
                                        
&lt;stack-trace&gt;&lt;![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)
]]&gt;&lt;/stack-trace&gt;
                                &lt;/msg-loc-info&gt;
                        &lt;/exception-info&gt;
                &lt;/task-result-details&gt;
        &lt;/component-task-result-details&gt;
&lt;/component-task-result&gt;
&lt;/jbi-task-result&gt;
&lt;/jbi-task&gt;
</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

Reply via email to