1 Reply Latest reply on Jun 28, 2013 9:03 AM by tstelter

    no response of camel component

    tstelter

      Hi,

       

      my camel component is promoted as soap webservice and consumes a bean service . Routing and bean service use the same java interface.

       

      <service name="TestWebService" promote="Routing/RoutingService">

            <interface.wsdl interface="META-INF/client.wsdl#wsdl.porttype(test)"/>

            <binding.soap xmlns="urn:switchyard-component-soap:config:1.0">

                      <wsdl>META-INF/test.wsdl</wsdl>

                      <socketAddr>:18001</socketAddr>

                      <contextPath>test</contextPath>

                      <contextMapper includes=".*" soapHeadersType="VALUE"/>

            </binding.soap>

      </service>

      <component name="Routing">

            <implementation.camel xmlns="urn:switchyard-component-camel:config:1.0">

                 <xml path="META-INF/route.xml"/>

            </implementation.camel>

            <service name="RoutingService">

                 <interface.java interface="de.test.TestService"/>

            </service>

            <reference name="TestService">

                <interface.java interface="de.test.TestService "/>

            </reference>

      </component>

      <component name="TestServiceComp">

           <implementation.bean xmlns="urn:switchyard-component-bean:config:1.0" class="de.test.TestServiceBean"/>

             <service name="TestService">

               <interface.java interface="de.test.TestService"/>

             </service>

      </component>


      The route sends the message directly to the bean service, which works well.

       

      <route xmlns="http://camel.apache.org/schema/spring">

          <from uri="switchyard://RoutingService" />

          <to uri="switchyard://TestService?operationName=opName" />

      </route>

       

      The problem is that the response of the bean service is not returned by the camel component.

      The java transformer gets null instead of the service result. Exchange works if the bean service is promoted itself by the soap gateway.

      Do I have to explicitly define the exchange pattern for the camel component or copy the content to the out message? How can this be done?

       

      I appreciate any help and hints.

       

      Thanks in advance.