Sorry to say that, but i'd like you to try with servicemix-http and
servicemix-jms components.
You will find some docs at
  http://incubator.apache.org/servicemix/servicemix-http.html
  http://incubator.apache.org/servicemix/servicemix-jms.html

They both handle InOut meps, but jms lightweight components do not and thus
you receive this exception back.

Cheers,
Guillaume Nodet

On 5/17/06, dajevu <[EMAIL PROTECTED]> wrote:


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.




--
Cheers,
Guillaume Nodet

Reply via email to