You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@servicemix.apache.org by sistar <ra...@gmail.com> on 2008/06/06 16:30:28 UTC

JBI InOnly to ServicemixCamel to JBI InOut

Hello,

when i saw the unit Test in 

http://svn.apache.org/repos/asf/servicemix/smx3/trunk/deployables/serviceengines/servicemix-camel/src/test/java/org/apache/servicemix/camel/su6/MyRouter.java

i was thinking that the following Code could switch from a in-only JBI
Consumer to a in-out JBI Provider:

public class MyRouter extends RouteBuilder {
    public void configure() throws Exception {
       
from("jbi:name:cheese").to("jbi:service:namespace:echo?mep=in-out&operation={http://hello}echo");
    }
}

But unfortunately my own route fails, when I am trying to connect a in-only
http consumer Service to an XSLT transformer:

private final static String SERVICE_T1 = "jbi:service:" + NS
            + "/xslt?mep=in-out";

from(SERVICE_UNI_IN).to(SERVICE_T1).to(OUTFILE);

i get the following error logs (showing that the HTTP parameter is not
honoured): 


2008-06-06 15:34:45,883 [-saxon-thread-1] DEBUG DeliveryChannelImpl           
- Send ID:192.168.73.73-11a5e159df9-2:2 in DeliveryChannel{servicemix-saxon}
2008-06-06 15:34:45,883 [-saxon-thread-1] DEBUG SedaFlow                      
- Called Flow send
2008-06-06 15:34:45,883 [-saxon-thread-1] DEBUG SedaQueue                     
- org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1@c6b8b0 dequeued
exchange: InOnly[
  id: ID:192.168.73.73-11a5e159df9-2:2
  status: Error
  role: consumer
  service: {http://opitz-consulting.de/orderProcessing}xslt
  endpoint: orderToEnricher
  operation:
{http://opitz-consulting.de/wsdl/orderProcessing}orderProcessingUniOperation
  in: <?xml version="1.0" encoding="UTF-8"?><ord:OrderRequest
xmlns:ord="http://opitz-consulting.de/schema/orderProcessing"
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
         <ord:order>
            <ord:customer>
               <ord:first>Heinz</ord:first>
               <ord:last>Schmitt</ord:last>
               <ord:cuId>333</ord:cuId>
            </ord:customer>
            <!--1 or more repetitions:-->
            <ord:orderLine>
               <ord:productId>5</ord:productId>
               <ord:qty>2</ord:qty>
            </ord:orderLine>

         </ord:order>
      </ord:OrderRequest>
  error: java.lang.UnsupportedOperationException: Unsupported MEP:
http://www.w3.org/2004/08/wsdl/in-only
]
2008-06-06 15:34:45,883 [-saxon-thread-1] DEBUG DeliveryChannelImpl           
- Notifying exchange ID:192.168.73.73-11a5e159df9-2:2(244f74) in
DeliveryChannel{servicemix-camel} from processInboundSynchronousExchange
2008-06-06 15:34:45,883 [-camel-thread-1] DEBUG DeliveryChannelImpl           
- Notified: ID:192.168.73.73-11a5e159df9-2:2(244f74) in
DeliveryChannel{servicemix-camel} from sendSync
2008-06-06 15:34:45,883 [-camel-thread-1] ERROR DeadLetterChannel             
- Failed delivery for exchangeId: ID-laphh50/3075-1212759269662/0-1. On
delivery attempt: 2 caught: java.lang.UnsupportedOperationException:
Unsupported MEP: http://www.w3.org/2004/08/wsdl/in-only
java.lang.UnsupportedOperationException: Unsupported MEP:
http://www.w3.org/2004/08/wsdl/in-only
	at
org.apache.servicemix.common.endpoints.ProviderEndpoint.processInOnly(ProviderEndpoint.java:130)
	at
org.apache.servicemix.common.endpoints.ProviderEndpoint.process(ProviderEndpoint.java:100)
	at
org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLifeCycle.java:551)
	at
org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(AsyncBaseLifeCycle.java:502)
	at
org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLifeCycle.java:46)
	at
org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBound(DeliveryChannelImpl.java:610)
	at
org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlow.java:172)
	at
org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.java:167)
	at
org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.java:134)
	at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885)
	at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
	at java.lang.Thread.run(Thread.java:619)

Thanks for any help!
Greets Ralf

-- 
View this message in context: http://www.nabble.com/JBI-InOnly-to-ServicemixCamel-to-JBI-InOut-tp17693522p17693522.html
Sent from the ServiceMix - User mailing list archive at Nabble.com.