First off, I want to thank you for all of your help -- you guys are
fantastic!

I am still struggling to understand how to properly configure this. On the
webserver/client box (where the incoming HTTP request is received), I've
configured SM such as:

      <sm:activationSpecs>
       <sm:activationSpec componentName="httpBinding"
service="foo:httpBinding" destinationService="my:outputSender">
        <sm:component><bean
class="org.apache.servicemix.components.http.HttpInOutBinding"
/></sm:component>
      </sm:activationSpec>

      <sm:activationSpec componentName="inputReceiver"
service="my:inputReceiver">
        <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.apache.servicemix.result"/>
            <property name="destinationType" value="javax.jms.Topic"/>
          </bean>
        </property>
          </bean>
        </sm:component>
      </sm:activationSpec>

      <sm:activationSpec componentName="outputSender"
service="my:outputSender">
        <sm:component>
          <bean
class="org.apache.servicemix.components.jms.JmsSenderComponent">
        <property name="template">
          <bean class="org.springframework.jms.core.JmsTemplate">
            <property name="connectionFactory">
              <ref local="jmsFactory"/>
            </property>
            <property name="defaultDestinationName"
value="demo.org.apache.servicemix.source"/>
            <property name="pubSubDomain" value="true"/>
          </bean>
        </property>
          </bean>
        </sm:component>
      </sm:activationSpec>

And, on the other box running SM (which will receive the message from the
other, do a little transformation, and return it):

                        <sm:activationSpec componentName="myJmsReceiver"
service="foo:myJmsReceiver" 
                                destinationService="foo:transformer">
                                <sm:component><bean
class="org.apache.servicemix.components.jms.JmsReceiverComponent">
                                        <property name="template">
                                                <bean 
class="org.springframework.jms.core.JmsTemplate">
                                                        <property 
name="connectionFactory">
                                                                <ref 
local="jmsFactory"/>
                                                        </property>
                                                        <property 
name="defaultDestinationName"
value="demo.org.apache.servicemix.source"/>
                                                        <property 
name="pubSubDomain" value="true"/>
                                                </bean>
                                        </property>
                                </bean></sm:component>
                        </sm:activationSpec>
                        
                        <!-- START SNIPPET: xslt -->
                        <sm:activationSpec componentName="transformer" 
service="foo:transformer"
destinationService="foo:transformedSender">
                                <sm:component><bean
class="org.apache.servicemix.components.xslt.XsltComponent">
                                        <property name="xsltResource" 
value="xslt/rm-request-url.xslt"/>
                                </bean></sm:component>
                        </sm:activationSpec>
                        <!-- END SNIPPET: xslt -->
                        
                        
                        <sm:activationSpec componentName="transformedSender"
service="foo:transformedSender">
                                <sm:component><bean
class="org.apache.servicemix.components.jms.JmsSenderComponent">
                                        <property name="template">
                                                <bean 
class="org.springframework.jms.core.JmsTemplate">
                                                        <property 
name="connectionFactory">
                                                                <ref 
local="jmsFactory"/>
                                                        </property>
                                                        <property 
name="defaultDestinationName"
value="demo.org.apache.servicemix.result"/>
                                                        <property 
name="pubSubDomain" value="true"/>
                                                </bean>
                                        </property>
                                </bean></sm:component>
                        </sm:activationSpec>            

I've tried many different permutations, but usually, the message I always
get back on the webserver box is:

javax.servlet.ServletException: illegal exchange status: done

I've confirmed that the transformed message is arriving back in the result
queue, but I still don't know how to get that back as the HTTP Response.

I still don't have a solid understanding of NMR (even after reading the JBI,
but that's not the easiest doc to follow).

Thanks again for all of your help!

jeff

--
View this message in context: 
http://www.nabble.com/NMR-Flow-scenario-question-t1637079.html#a4436884
Sent from the ServiceMix - User forum at Nabble.com.

Reply via email to