You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@servicemix.apache.org by acm <an...@boeing.com> on 2006/07/27 20:09:30 UTC

JMS to SOAP?

I'm trying to take a message sent through JMS and route it to a SOAP
webservice.  Nothing is getting sent to the web service (I'm running a
proxy) and Servicemix is giving me this error: 

SEVERE: SAAJ0009: Message send failed

Here is the DEBUG statement:

DEBUG - DeliveryChannelImpl.traceMessageExchange(342) | Sent:
MessageExchange[
  id: ID:E096417-40984-1154023643615-5:0
  status: Error
  role: provider
  service: {http://servicemix.apache.org/demo/}helloWorld
  endpoint: helloWorld
  in: <?xml version="1.0" encoding="UTF-8"?>
  error: java.security.PrivilegedActionException:
com.sun.xml.messaging.saaj.SOAPExceptionImpl: Message send failed
]

Config below.  Help please


servicemix.xml:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns:sm="http://servicemix.apache.org/config/1.0"
       xmlns:my="http://servicemix.apache.org/demo/">
    
  <!-- the JBI container -->
  <sm:container id="jbi"
  		useMBeanServer="true"
  		createMBeanServer="true"
  		dumpStats="true"
  		statsInterval="10"
  		transactionManager="#transactionManager">
  		
  	<sm:activationSpecs>
  	
        <!-- Subscribe to a JMS destination -->
  		<sm:activationSpec componentName="inputReceiver" 	
  						   service="my:inputReceiver"
  						   destinationService="my:helloWorld">
  		  <sm:component>
  		    <bean
class="org.apache.servicemix.components.jms.JmsInUsingJCABinding">
                      <property name="jcaContainer" ref="jencks"/>
                      <property name="activationSpec">
                        <bean
class="org.apache.activemq.ra.ActiveMQActivationSpec">
                          <property name="destination"
value="demo.org.servicemix.source"/>
                          <property name="destinationType"
value="javax.jms.Topic"/>
                        </bean>
                      </property>
  		    </bean>
  		  </sm:component>
  		</sm:activationSpec>

	<!-- This just invokes another service -->
  		<sm:activationSpec componentName="helloWorld" service="my:helloWorld">
  		  
                  <!--  lets subscribe to the output of the foo:jmsReceiver
component 
                  <sm:subscriptions>
                    <sm:subscriptionSpec service="my:outputSender" />
                  </sm:subscriptions>
		  -->
		  <sm:component>
  		    <bean class="org.apache.servicemix.components.saaj.SaajBinding">
			      <property name="soapEndpoint">
				      <bean class="javax.xml.messaging.URLEndpoint">
					      <constructor-arg
value="http://destination-server:8080/axis2/services/HelloWorld"/>
				      </bean>
			      </property>
  		    </bean>
  		  </sm:component>
  		</sm:activationSpec>	

  	</sm:activationSpecs>
  </sm:container>


  <!-- the JCA container -->
  <bean id="jencks" class="org.jencks.JCAContainer" singleton="true">

    <!-- lets use the default configuration of work manager and transaction
manager-->
    <property name="bootstrapContext">
      <bean class="org.jencks.factory.BootstrapContextFactoryBean">
        <property name="threadPoolSize" value="25"/>
      </bean>
    </property>

    <!-- the JCA Resource Adapter -->
    <property name="resourceAdapter">
      <bean id="activeMQResourceAdapter"
class="org.apache.activemq.ra.ActiveMQResourceAdapter" singleton="true">
        <property name="serverUrl" value="tcp://localhost:61616"/>
      </bean>
    </property>
  </bean>

  <!-- message broker -->
   <bean id="broker" class="org.apache.activemq.xbean.BrokerFactoryBean">
     <property name="config" value="classpath:activemq.xml"/>
   </bean> 

	<bean id="transactionContextManager"
class="org.jencks.factory.TransactionContextManagerFactoryBean"/>
	<bean id="transactionManager"
class="org.jencks.factory.GeronimoTransactionManagerFactoryBean" />

  <bean id="jmsFactory"
class="org.apache.activemq.pool.PooledConnectionFactory">
    <property name="connectionFactory">
      <bean class="org.apache.activemq.ActiveMQConnectionFactory">
        <property name="brokerURL">
          <value>tcp://localhost:61616</value>
        </property>
      </bean>
    </property>
  </bean>

</beans>

-- 
View this message in context: http://www.nabble.com/JMS-to-SOAP--tf2011123.html#a5526352
Sent from the ServiceMix - User forum at Nabble.com.


Re: JMS to SOAP?

Posted by acm <an...@boeing.com>.
hmm... I'm 0 for 3 in getting responses to my questions on the servicemix
mailing list.  Is there something wrong with the questions I'm asking, or
the way I'm asking them?  

acm


acm wrote:
> 
> I'm trying to take a message sent through JMS and route it to a SOAP
> webservice.  Nothing is getting sent to the web service (I'm running a
> proxy) and Servicemix is giving me this error: 
> 
> SEVERE: SAAJ0009: Message send failed
> 
> Here is the DEBUG statement:
> 
> DEBUG - DeliveryChannelImpl.traceMessageExchange(342) | Sent:
> MessageExchange[
>   id: ID:E096417-40984-1154023643615-5:0
>   status: Error
>   role: provider
>   service: {http://servicemix.apache.org/demo/}helloWorld
>   endpoint: helloWorld
>   in: <?xml version="1.0" encoding="UTF-8"?>
>   error: java.security.PrivilegedActionException:
> com.sun.xml.messaging.saaj.SOAPExceptionImpl: Message send failed
> ]
> 
> Config below.  Help please
> 
> 
> servicemix.xml:
> 
> <?xml version="1.0" encoding="UTF-8"?>
> <beans xmlns:sm="http://servicemix.apache.org/config/1.0"
>        xmlns:my="http://servicemix.apache.org/demo/">
>     
>   <!-- the JBI container -->
>   <sm:container id="jbi"
>   		useMBeanServer="true"
>   		createMBeanServer="true"
>   		dumpStats="true"
>   		statsInterval="10"
>   		transactionManager="#transactionManager">
>   		
>   	<sm:activationSpecs>
>   	
>         <!-- Subscribe to a JMS destination -->
>   		<sm:activationSpec componentName="inputReceiver" 	
>   						   service="my:inputReceiver"
>   						   destinationService="my:helloWorld">
>   		  <sm:component>
>   		    <bean
> class="org.apache.servicemix.components.jms.JmsInUsingJCABinding">
>                       <property name="jcaContainer" ref="jencks"/>
>                       <property name="activationSpec">
>                         <bean
> class="org.apache.activemq.ra.ActiveMQActivationSpec">
>                           <property name="destination"
> value="demo.org.servicemix.source"/>
>                           <property name="destinationType"
> value="javax.jms.Topic"/>
>                         </bean>
>                       </property>
>   		    </bean>
>   		  </sm:component>
>   		</sm:activationSpec>
> 
> 	<!-- This just invokes another service -->
>   		<sm:activationSpec componentName="helloWorld" service="my:helloWorld">
>   		  
>                   <!--  lets subscribe to the output of the
> foo:jmsReceiver component 
>                   <sm:subscriptions>
>                     <sm:subscriptionSpec service="my:outputSender" />
>                   </sm:subscriptions>
> 		  -->
> 		  <sm:component>
>   		    <bean class="org.apache.servicemix.components.saaj.SaajBinding">
> 			      <property name="soapEndpoint">
> 				      <bean class="javax.xml.messaging.URLEndpoint">
> 					      <constructor-arg
> value="http://destination-server:8080/axis2/services/HelloWorld"/>
> 				      </bean>
> 			      </property>
>   		    </bean>
>   		  </sm:component>
>   		</sm:activationSpec>	
> 
>   	</sm:activationSpecs>
>   </sm:container>
> 
> 
>   <!-- the JCA container -->
>   <bean id="jencks" class="org.jencks.JCAContainer" singleton="true">
> 
>     <!-- lets use the default configuration of work manager and
> transaction manager-->
>     <property name="bootstrapContext">
>       <bean class="org.jencks.factory.BootstrapContextFactoryBean">
>         <property name="threadPoolSize" value="25"/>
>       </bean>
>     </property>
> 
>     <!-- the JCA Resource Adapter -->
>     <property name="resourceAdapter">
>       <bean id="activeMQResourceAdapter"
> class="org.apache.activemq.ra.ActiveMQResourceAdapter" singleton="true">
>         <property name="serverUrl" value="tcp://localhost:61616"/>
>       </bean>
>     </property>
>   </bean>
> 
>   <!-- message broker -->
>    <bean id="broker" class="org.apache.activemq.xbean.BrokerFactoryBean">
>      <property name="config" value="classpath:activemq.xml"/>
>    </bean> 
> 
> 	<bean id="transactionContextManager"
> class="org.jencks.factory.TransactionContextManagerFactoryBean"/>
> 	<bean id="transactionManager"
> class="org.jencks.factory.GeronimoTransactionManagerFactoryBean" />
> 
>   <bean id="jmsFactory"
> class="org.apache.activemq.pool.PooledConnectionFactory">
>     <property name="connectionFactory">
>       <bean class="org.apache.activemq.ActiveMQConnectionFactory">
>         <property name="brokerURL">
>           <value>tcp://localhost:61616</value>
>         </property>
>       </bean>
>     </property>
>   </bean>
> 
> </beans>
> 
> 
-- 
View this message in context: http://www.nabble.com/JMS-to-SOAP--tf2011123.html#a5576937
Sent from the ServiceMix - User forum at Nabble.com.


Re: JMS to SOAP?

Posted by Guillaume Nodet <gn...@gmail.com>.
It seems related to a security issue.
See your exception: java.security.PrivilegedActionException
Do you run ServiceMix standalone or embedded in an app server ?

On 7/27/06, acm <an...@boeing.com> wrote:
>
>
> I'm trying to take a message sent through JMS and route it to a SOAP
> webservice.  Nothing is getting sent to the web service (I'm running a
> proxy) and Servicemix is giving me this error:
>
> SEVERE: SAAJ0009: Message send failed
>
> Here is the DEBUG statement:
>
> DEBUG - DeliveryChannelImpl.traceMessageExchange(342) | Sent:
> MessageExchange[
>   id: ID:E096417-40984-1154023643615-5:0
>   status: Error
>   role: provider
>   service: {http://servicemix.apache.org/demo/}helloWorld
>   endpoint: helloWorld
>   in: <?xml version="1.0" encoding="UTF-8"?>
>   error: java.security.PrivilegedActionException:
> com.sun.xml.messaging.saaj.SOAPExceptionImpl: Message send failed
> ]
>
> Config below.  Help please
>
>
> servicemix.xml:
>
> <?xml version="1.0" encoding="UTF-8"?>
> <beans xmlns:sm="http://servicemix.apache.org/config/1.0"
>        xmlns:my="http://servicemix.apache.org/demo/">
>
>   <!-- the JBI container -->
>   <sm:container id="jbi"
>                 useMBeanServer="true"
>                 createMBeanServer="true"
>                 dumpStats="true"
>                 statsInterval="10"
>                 transactionManager="#transactionManager">
>
>         <sm:activationSpecs>
>
>         <!-- Subscribe to a JMS destination -->
>                 <sm:activationSpec componentName="inputReceiver"
>
> service="my:inputReceiver"
>
> destinationService="my:helloWorld">
>                   <sm:component>
>                     <bean
> class="org.apache.servicemix.components.jms.JmsInUsingJCABinding">
>                       <property name="jcaContainer" ref="jencks"/>
>                       <property name="activationSpec">
>                         <bean
> class="org.apache.activemq.ra.ActiveMQActivationSpec">
>                           <property name="destination"
> value="demo.org.servicemix.source"/>
>                           <property name="destinationType"
> value="javax.jms.Topic"/>
>                         </bean>
>                       </property>
>                     </bean>
>                   </sm:component>
>                 </sm:activationSpec>
>
>         <!-- This just invokes another service -->
>                 <sm:activationSpec componentName="helloWorld"
> service="my:helloWorld">
>
>                   <!--  lets subscribe to the output of the
> foo:jmsReceiver
> component
>                   <sm:subscriptions>
>                     <sm:subscriptionSpec service="my:outputSender" />
>                   </sm:subscriptions>
>                   -->
>                   <sm:component>
>                     <bean class="
> org.apache.servicemix.components.saaj.SaajBinding">
>                               <property name="soapEndpoint">
>                                       <bean class="
> javax.xml.messaging.URLEndpoint">
>                                               <constructor-arg
> value="http://destination-server:8080/axis2/services/HelloWorld"/>
>                                       </bean>
>                               </property>
>                     </bean>
>                   </sm:component>
>                 </sm:activationSpec>
>
>         </sm:activationSpecs>
>   </sm:container>
>
>
>   <!-- the JCA container -->
>   <bean id="jencks" class="org.jencks.JCAContainer" singleton="true">
>
>     <!-- lets use the default configuration of work manager and
> transaction
> manager-->
>     <property name="bootstrapContext">
>       <bean class="org.jencks.factory.BootstrapContextFactoryBean">
>         <property name="threadPoolSize" value="25"/>
>       </bean>
>     </property>
>
>     <!-- the JCA Resource Adapter -->
>     <property name="resourceAdapter">
>       <bean id="activeMQResourceAdapter"
> class="org.apache.activemq.ra.ActiveMQResourceAdapter" singleton="true">
>         <property name="serverUrl" value="tcp://localhost:61616"/>
>       </bean>
>     </property>
>   </bean>
>
>   <!-- message broker -->
>    <bean id="broker" class="org.apache.activemq.xbean.BrokerFactoryBean">
>      <property name="config" value="classpath:activemq.xml"/>
>    </bean>
>
>         <bean id="transactionContextManager"
> class="org.jencks.factory.TransactionContextManagerFactoryBean"/>
>         <bean id="transactionManager"
> class="org.jencks.factory.GeronimoTransactionManagerFactoryBean" />
>
>   <bean id="jmsFactory"
> class="org.apache.activemq.pool.PooledConnectionFactory">
>     <property name="connectionFactory">
>       <bean class="org.apache.activemq.ActiveMQConnectionFactory">
>         <property name="brokerURL">
>           <value>tcp://localhost:61616</value>
>         </property>
>       </bean>
>     </property>
>   </bean>
>
> </beans>
>
> --
> View this message in context:
> http://www.nabble.com/JMS-to-SOAP--tf2011123.html#a5526352
> Sent from the ServiceMix - User forum at Nabble.com.
>
>


-- 
Cheers,
Guillaume Nodet