Hi Claus, Ok, I progressed a bit but still has the a problem consuming my WS.
Here is my Processor code (producer.sendBody() first arg' has changed). public void process(Exchange exchange) throws Exception { ProducerTemplate producer = exchange.getContext().createProducerTemplate(); String payload = exchange.getIn().getBody(String.class); // == liav String request = "<?xml version=\"1.0\" encoding=\"UTF-8\"?><soapenv:Body><sayHello><name>"+payload+"</name></sayHello></soapenv:Body>"; Object response = producer.sendBody("jbi:service:http://com.amdocs.oxp/esb/LiavHelloImplSvcService", request); } This is the xbean of the SMX http Provider: <?xml version="1.0" encoding="UTF-8"?> <beans xmlns:http="http://servicemix.apache.org/http/1.0" xmlns:wsn="http://com.amdocs.oxp/esb" xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://servicemix.apache.org/http/1.0 http://servicemix.apache.org/schema/servicemix-http-3.3.1.3-fuse.xsd http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd"> <http:endpoint service="wsn:LiavHelloImplSvcService" endpoint="wsn:LiavHelloImplSvc" role="provider" locationURI="http://localhost:8080/LiavHello2/services/LiavHelloImplSvc" wsdlResource="c:/HTTPReceiverServices/LiavHelloImplSvc.wsdl" defaultMep="http://www.w3.org/2004/08/wsdl/in-out" soap="true" /> </beans> My question: By looking at the end-point invoke (via the producerTemplate) & at the end-point config (xbean file), do you see a reason why my WS (LiavHelloImplSvcService) isn't consumed? Here is the current SMX log after deployment: ERROR - HttpComponent - Error processing exchange InOnly[ id: ID:10.236.11.194-11eca7dd5b2-2:8 status: Active role: provider service: {http://com.amdocs.oxp/esb}LiavHelloImplSvcService endpoint: wsn:LiavHelloImplSvc in: <?xml version="1.0" encoding="UTF-8"?><soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:q0="http://service.app.esb.oxp.amdocs.com" xmlns:xsd=" http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><soapenv:Body><q0:sayHello><q0:name>LiavFromRouterBuilder</q0:name></q0:sayHello></soapenv:B ody></soapenv:Envelope> ] java.lang.Exception: Invalid status response: 500 Thanks. Liav Ezer wrote: > > Hi Claus, > > What i managed to accomplish is that my producer is 'familiar' with my > Provider end-point but from some reason it doesn't invoke my service (WS) > & hence report an invalide status response (500). > > ERROR - HttpComponent - Error processing exchange InOnly[ > id: ID:10.236.11.194-11ec622522e-2:96 > status: Active > role: provider > service: {http://com.amdocs.oxp/esb}LiavHelloImplSvcService > endpoint: wsn:LiavHelloImplSvc > in: <?xml version="1.0" encoding="UTF-8"?><soapenv:Envelope > xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" > xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http > ://www.w3.org/2001/XMLSchema-instance"><soapenv:Body><sayHello><name>Liav</name></sayHello></soapenv:Body></soapenv:Envelope> > ] > > This is my xbean.xml (it must be related to the end-point configuration): > > <http:endpoint service="wsn:LiavHelloImplSvcService" > endpoint="wsn:LiavHelloImplSvc" > role="provider" > > locationURI="http://localhost:8080/LiavHello2/services/LiavHelloImplSvc" > > wsdlResource="c:/HTTPReceiverServices/LiavHelloImplSvc.wsdl" > defaultMep="http://www.w3.org/2004/08/wsdl/in-out" > soap="true" /> > > Thanks. > java.lang.Exception: Invalid status response: 500 > > > > > > Liav Ezer wrote: >> >> Hi Claus, >> >> I'm stuck with a problem that my servixmix is reporting a try to send a >> request to the provider but appearantly it's not able to consume the >> Provider's WS. >> >> Here is the console: >> >> ERROR - DeadLetterChannel - Failed delivery for exchangeId: >> ID-LIAVE02/1441-1231673232762/0-2. On delivery attempt: 0 caught: >> org.apache.camel.RuntimeCamelException: o >> rg.apache.servicemix.camel.JbiException: >> javax.jbi.messaging.MessagingException: Could not find route for >> exchange: InOnly[ >> id: ID:10.236.11.194-11ec5713753-2:7 >> status: Active >> role: provider >> in: <?xml version="1.0" encoding="UTF-8"?><soapenv:Envelope >> xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" >> xmlns:q0="http://service.app.esb.oxp.amdocs.com" xmlns:xsd=" >> http://www.w3.org/2001/XMLSchema" >> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><soapenv:Body><q0:sayHello><q0:name>liav-name</q0:name> >> </q0:sayHello></soapenv:Body></soape >> nv:Envelope> >> ] for service: null and interface: null >> >> When i develpoed the WS i tested it via eclipse with success. >> >> Here is the xbean definition: >> >> <http:endpoint service="wsn:LiavHelloImplSvcService" >> endpoint="wsn:LiavHelloImplSvc" >> role="provider" >> >> locationURI="http://localhost:8080/LiavHello2/services/LiavHelloImplSvc" >> >> wsdlResource="c:/HTTPReceiverServices/LiavHelloImplSvc.wsdl" >> defaultMep="http://www.w3.org/2004/08/wsdl/in-out" >> soap="true" /> >> >> Why does it report null for the service & interface? >> >> Thanks. >> >> Claus Ibsen-2 wrote: >>> >>> On Sun, Jan 11, 2009 at 9:19 AM, Liav Ezer <liav.e...@gmail.com> wrote: >>>> >>>> Hi Claus, >>>> >>>> Yes, i changed the body (arg2 in the sendBody method) to be a SOAP >>>> request >>>> like the following: >>>> >>>> String request = "<soapenv:Envelope >>>> xmlns:soapenv='http://schemas.xmlsoap.org/soap/envelope/' >>>> xmlns:q0='http://service.app.esb.oxp.liav.com' >>>> xmlns:xsd='http://www.w3.org/2001/XMLSchema' >>>> xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'><soapenv:Body><q0:sayHello><q0:name>liav-name</q0:name> >>>> </q0:sayHello></soapenv:Body></soapenv:Envelope>"; >>>> >>>> 1. Is it a correct payload to send a request? >>> Yeah it should be something like that. You might need the <?xml >>> version...> header. But try with and without it. >>> >>> >>>> >>>> 2. Does this method will return the provider response - The API shows >>>> that >>>> it returns an Object - should i cast it to be an 'Exchange' & extract >>>> the >>>> response from the provider? >>> When you use Camel's producer template to do a request/reply then >>> Camel will extract the response from the Exchange/IN or OUT/Message, >>> so you just get the payload. The type is Object but it can be what SMX >>> returns, so it could be some sort of XML holder such as >>> org.w3c.Document. But try and see what kind of Object you get back. >>> >>> There are type converters in Camel that can convert it back to a >>> String if you want to use that, or what else there is >>> http://activemq.apache.org/camel/type-converter.html >>> >>> >>> >>>> >>>> Thanks. >>>> >>>> Claus Ibsen-2 wrote: >>>>> >>>>> On Sat, Jan 10, 2009 at 8:51 PM, Liav Ezer <liav.e...@gmail.com> >>>>> wrote: >>>>>> >>>>>> Hi Claus, >>>>>> >>>>>> I changed the notation as needed to: >>>>>> >>>>>> producer.sendBody("jbi:endpoint:http://localhost:8080/LiavHello/services/LiavHelloImpl", >>>>>> "Netania"); >>>>>> >>>>>> SMX console now output some wierd error - googling it comes up with >>>>>> some >>>>>> xml parsing error: >>>>>> >>>>>> [Fatal Error] :1:1: Content is not allowed in prolog.DEBUG - >>>>>> DeliveryChannelImpl - Exception processing: >>>>>> ID:10.236.11.194-11ec1f3a450-2:291 in >>>>>> DeliveryChannel{servicemix-camel} >>>>>> ERROR - DeadLetterChannel - Failed delivery for >>>>>> exchangeId: >>>>>> ID-LIAVE02/4519-1231614935663/0-50. On delivery attempt: 0 caught: >>>>>> org.apache >>>>>> org.apache.servicemix.camel.JbiException: >>>>>> javax.jbi.messaging.MessagingException: Could not find route for >>>>>> exchange: >>>>>> InOnly[ >>>>>> id: ID:10.236.11.194-11ec1f3a450-2:291 >>>>>> status: Active >>>>>> role: provider >>>>> Yeah when you send data to SMX you must remember that its expecting >>>>> the payload to be according to the JBI spec. in XML format. So you >>>>> should send the data as XML. >>>>> >>>>> "Content is not allowed in prolog" is a bit cryptical XML parser error >>>>> stating that it could not find the <?xml ... ?> declaration in top of >>>>> the content it was parsing. >>>>> >>>>> So you should send the payload as XML. >>>>> >>>>> BTW: Which version of SMX and Camel are you using? I think the missing >>>>> method from X mails back could be because we added it in Camel 1.4.0 >>>>> (I think). >>>>> >>>>> >>>>> >>>>>> >>>>>> Claus Ibsen-2 wrote: >>>>>>> >>>>>>> >>>>>>> >>>>>>> This is the SMX Provider xbean: >>>>>>> >>>>>>> <?xml version="1.0" encoding="UTF-8"?> >>>>>>> <beans xmlns:http="http://servicemix.apache.org/http/1.0" >>>>>>> xmlns:wsn="http://com.amdocs.oxp/esb" >>>>>>> xmlns="http://www.springframework.org/schema/beans" >>>>>>> xmlns:xsi="http://http://www.w3.org/2001/XMLSchema-instance" >>>>>>> xsi:schemaLocation="http://servicemix.apache.org/http/1.0 >>>>>>> http://servicemix.apache.org/schema/servicemix-http-3.3.1.3-fuse.xsd >>>>>>> http://www.springframework.org/schema/beans >>>>>>> http://www.springframework.org/schema/beans/spring-beans-2.0.xsd"> >>>>>>> >>>>>>> <http:endpoint service="wsn:LiavHelloImplService" >>>>>>> endpoint="wsn:LiavHelloImpl" >>>>>>> role="provider" >>>>>>> >>>>>>> locationURI="http://localhost:8080/LiavHello/services/LiavHelloImpl" >>>>>>> >>>>>>> wsdlResource="c:/HTTPReceiverServices/LiavHelloImpl.wsdl" >>>>>>> defaultMep="http://www.w3.org/2004/08/wsdl/in-out" >>>>>>> soap="true" /> >>>>>>> </beans> >>>>>>> Any clue? >>>>>>> On Sat, Jan 10, 2009 at 4:17 PM, Liav Ezer <liav.e...@gmail.com> >>>>>>> wrote: >>>>>>>> >>>>>>>> Hi Claus, >>>>>>>> >>>>>>>> Well i'll stick with the Http SMX provider end-point. I guess it's >>>>>>>> should >>>>>>>> integrate with camel routing with no problem. >>>>>>>> >>>>>>>> Ok what i did is the advise you gave me a few answers ago: >>>>>>>> >>>>>>>> ProducerTemplate producer = >>>>>>>> exchange.getContext().createProducerTemplate(); >>>>>>>> Object response = >>>>>>>> producer.sendBody("http://localhost:8080/LiavHello/services/LiavHelloImpl", >>>>>>>> "Daviv"); >>>>>>> See below >>>>>>> >>>>>>> >>>>>>>> >>>>>>>> And got this exception (SMX console after deply): >>>>>>>> >>>>>>>> : No endpoint could be found for: >>>>>>>> http://localhost:8080/LiavHello/services/LiavHelloImpl >>>>>>>> org.apache.camel.NoSuchEndpointException: No endpoint could be >>>>>>>> found >>>>>>>> for: >>>>>>>> http://localhost:8080/LiavHello/services/LiavHelloImpl >>>>>>>> >>>>>>>> LiavHelloImpl is the wsdlsoap:address location of the wsdl file >>>>>>>> representing >>>>>>>> the LiavHelloImp web project (under a running tomcat 6.0). >>>>>>>> >>>>>>>> Can you advise? It seems that the routing trying to be accomplished >>>>>>>> but >>>>>>>> something "configi" is messed up. >>>>>>>> >>>>>>>> Here is my provider xbean: >>>>>>>> >>>>>>>> <http:endpoint service="wsn:LiavHelloImplService" >>>>>>>> endpoint="wsn:LiavHelloImpl" >>>>>>>> role="provider" >>>>>>>> >>>>>>>> locationURI="http://localhost:8080/LiavHello/services/LiavHelloImpl" >>>>>>>> >>>>>>>> wsdlResource="c:/HTTPReceiverServices/LiavHelloImpl.wsdl" >>>>>>>> defaultMep="http://www.w3.org/2004/08/wsdl/in-out" >>>>>>>> soap="true" /> >>>>>>> When you want from Camel to call service on SMX then you must use >>>>>>> the >>>>>>> camel-jbi component that delegates to the SU in SMX. >>>>>>> So you need to add the jbi prefix in front. >>>>>>> See: http://activemq.apache.org/camel/jbi.html >>>>>>> >>>>>>> It should be something like this. By by all means I am not SMX >>>>>>> expert >>>>>>> (yet): >>>>>>> producer.sendBody("jbi:service:wsn:LiavHelloImplService", "Daviv"); >>>>>>> >>>>>>> The jbi component have different notation so please check it out. >>>>>>> >>>>>>> If you manage to get it working, then please write back how to, so >>>>>>> we >>>>>>> can improve the documentation and help others in the future. >>>>>>> >>>>>>> >>>>>>> >>>>>>>> >>>>>>>> Thanks! >>>>>>>> >>>>>>>> >>>>>>>> Claus Ibsen-2 wrote: >>>>>>>>> >>>>>>>>> On Sat, Jan 10, 2009 at 3:02 PM, Liav Ezer <liav.e...@gmail.com> >>>>>>>>> wrote: >>>>>>>>>> >>>>>>>>>> Hi Claus, >>>>>>>>>> >>>>>>>>>> I did follow this camel example & set up a timer 'from' end-point >>>>>>>>>> which >>>>>>>>>> my >>>>>>>>>> processor 'catched'. >>>>>>>>>> >>>>>>>>>> My will is to query this 'catched' data by sending it to a >>>>>>>>>> different >>>>>>>>>> end-point such as a service provider. >>>>>>>>>> >>>>>>>>>> Therefore, i deployed two SU's in my servicemix: One for the >>>>>>>>>> camel >>>>>>>>>> routing >>>>>>>>>> (timer example) & two is for >>>>>>>>>> >>>>>>>>>> the HTTP servicemix provider which i want to invoke in the >>>>>>>>>> proceesor. >>>>>>>>>> >>>>>>>>>> My question seems simple as long as an API exists for it: >>>>>>>>>> >>>>>>>>>> When my Processor class is instansiated than the process() method >>>>>>>>>> is >>>>>>>>>> invoked: >>>>>>>>>> >>>>>>>>>> public void process(Exchange exchange) throws Exception { >>>>>>>>>> >>>>>>>>>> The exchange.getIn() consist my 'from' end-point data (=the >>>>>>>>>> timer). >>>>>>>>>> >>>>>>>>>> I need the API to fetch the Http servicemix provider end-point & >>>>>>>>>> to >>>>>>>>>> send >>>>>>>>>> hime a request with this data. >>>>>>>>> If you want to send FROM Camel to SMX then you need to use the >>>>>>>>> camel-jbi component. That is you get endpoints FROM Camel starting >>>>>>>>> with the "jbi:" prefix. See camel-jbi component. >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>>> >>>>>>>>>> One extra small question: Do i need to replace my provider SU >>>>>>>>>> with a >>>>>>>>>> camel >>>>>>>>>> http producer SU? >>>>>>>>> If you are using SMX 3.x then you dont as SMX has one SU for >>>>>>>>> Camel. >>>>>>>>> However if you need to use any of the other camel components from >>>>>>>>> SMX >>>>>>>>> you need to have them in the classpath as well, such as >>>>>>>>> camel-http.jar. >>>>>>>>> >>>>>>>>> >>>>>>>>> (In SMX 4.x its all OSGi land and you need to install features >>>>>>>>> into >>>>>>>>> SMX.) >>>>>>>>> >>>>>>>>> A bit confused now. Which http provider do you want to use? >>>>>>>>> - SMX Http provider >>>>>>>>> - Camel http provider >>>>>>>>> >>>>>>>>> >>>>>>>>>> >>>>>>>>>> Thanks. >>>>>>>>>> >>>>>>>>>> Claus Ibsen-2 wrote: >>>>>>>>>>> >>>>>>>>>>> Hi >>>>>>>>>>> >>>>>>>>>>> Yeah its a bit mixed up since Camel and ServiceMix have classes >>>>>>>>>>> with >>>>>>>>>>> common name: Endpoint, Exchange etc. >>>>>>>>>>> >>>>>>>>>>> All the code I have shown assumes pure Camel code. >>>>>>>>>>> >>>>>>>>>>> I advice to check the ServceMix docu about using Camel in >>>>>>>>>>> ServiceMix. >>>>>>>>>>> And get a basic example running. Such as this example >>>>>>>>>>> http://servicemix.apache.org/camel-example.html >>>>>>>>>>> >>>>>>>>>>> You could use that as a starting point to get Camel invoking >>>>>>>>>>> your >>>>>>>>>>> HTTP >>>>>>>>>>> server. Just let the timer start it. >>>>>>>>>>> Then later your can connect using SMX instead of the camel >>>>>>>>>>> timer. >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> On Sat, Jan 10, 2009 at 12:53 PM, Liav Ezer >>>>>>>>>>> <liav.e...@gmail.com> >>>>>>>>>>> wrote: >>>>>>>>>>>> >>>>>>>>>>>> Hi Claus again, >>>>>>>>>>>> >>>>>>>>>>>> I addition to what i asked in my previouse response here is a >>>>>>>>>>>> question >>>>>>>>>>>> regarding the producer snippet which you gave in your last >>>>>>>>>>>> answer: >>>>>>>>>>>> >>>>>>>>>>>> I indeed wrote the following in my process() method: >>>>>>>>>>>> >>>>>>>>>>>> ProducerTemplate producer = >>>>>>>>>>>> >>>>>>>>>>>> exchange.getCamelContext().createProducerTemplate(); >>>>>>>>>>>> Object response = >>>>>>>>>>>> >>>>>>>>>>>> producer.sendBody("http://myserver.com/myapp?foo=bar", "Liav >>>>>>>>>>>> Camel >>>>>>>>>>>> POC"); >>>>>>>>>>>> >>>>>>>>>>>> but i don't have the camel context at hand (saying "The method >>>>>>>>>>>> getCamelContext() is undefined for the type Exchange"). >>>>>>>>>>>> & also do i need to deploy a camel http producer su instead of >>>>>>>>>>>> an >>>>>>>>>>>> http >>>>>>>>>>>> service mix provider? >>>>>>>>>>>> >>>>>>>>>>>> Claus Ibsen-2 wrote: >>>>>>>>>>>>> >>>>>>>>>>>>> Hi >>>>>>>>>>>>> >>>>>>>>>>>>> When you are working with ServiceMix you must use the JBI >>>>>>>>>>>>> component >>>>>>>>>>>>> in >>>>>>>>>>>>> Camel >>>>>>>>>>>>> http://activemq.apache.org/camel/jbi.html >>>>>>>>>>>>> >>>>>>>>>>>>> So your endpoints should starting with "jbi:XXXX" >>>>>>>>>>>>> >>>>>>>>>>>>> And ServiceMix has some Camel docu here: >>>>>>>>>>>>> http://servicemix.apache.org/servicemix-camel.html >>>>>>>>>>>>> >>>>>>>>>>>>> Could you take a look at this docu a bit. There might be some >>>>>>>>>>>>> help >>>>>>>>>>>>> there. >>>>>>>>>>>>> >>>>>>>>>>>>> Try to get something more easier working with SMX and Camel >>>>>>>>>>>>> and >>>>>>>>>>>>> then >>>>>>>>>>>>> later do the stuff you want with the dynamic add a camel >>>>>>>>>>>>> context. >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> On Sat, Jan 10, 2009 at 12:39 PM, Liav Ezer >>>>>>>>>>>>> <liav.e...@gmail.com> >>>>>>>>>>>>> wrote: >>>>>>>>>>>>>> >>>>>>>>>>>>>> Hi Claus, >>>>>>>>>>>>>> >>>>>>>>>>>>>> I read your tutorial & learnt from it. Thanks. I adopted the >>>>>>>>>>>>>> cxf >>>>>>>>>>>>>> framework >>>>>>>>>>>>>> for now. >>>>>>>>>>>>>> >>>>>>>>>>>>>> Regarding my project (as stated above in snippets): >>>>>>>>>>>>>> >>>>>>>>>>>>>> I planted the following camel routing logic at my processor >>>>>>>>>>>>>> class: >>>>>>>>>>>>>> >>>>>>>>>>>>>> process method - with camel: >>>>>>>>>>>>>> >>>>>>>>>>>>>> public void process(Exchange exchange) throws Exception { >>>>>>>>>>>>>> >>>>>>>>>>>>>> CamelContext camel = new DefaultCamelContext(); >>>>>>>>>>>>>> camel.start(); >>>>>>>>>>>>>> >>>>>>>>>>>>>> Component component = (Component) >>>>>>>>>>>>>> camel.getComponent("http-provider-su"); >>>>>>>>>>>>>> >>>>>>>>>>>>>> Endpoint endpoint = (Endpoint) ((org.apache.camel.Component) >>>>>>>>>>>>>> component).createEndpoint("provider:com.amdocs.oxp.esb"); >>>>>>>>>>>>>> >>>>>>>>>>>>>> exchange.getIn().setBody("Liav testing here!"); >>>>>>>>>>>>>> >>>>>>>>>>>>>> Producer producer = ((org.apache.camel.Endpoint) >>>>>>>>>>>>>> endpoint).createProducer(); >>>>>>>>>>>>>> >>>>>>>>>>>>>> producer.start(); >>>>>>>>>>>>>> producer.process(exchange); >>>>>>>>>>>>>> producer.stop(); >>>>>>>>>>>>>> >>>>>>>>>>>>>> //System.out.println(exchange.getIn().toString() + "process >>>>>>>>>>>>>> activated >>>>>>>>>>>>>> by >>>>>>>>>>>>>> SU"); >>>>>>>>>>>>>> } >>>>>>>>>>>>>> >>>>>>>>>>>>>> And got the following exception while SA's jar was deployed: >>>>>>>>>>>>>> >>>>>>>>>>>>>> ERROR - DeadLetterChannel - Failed delivery for >>>>>>>>>>>>>> exchangeId: >>>>>>>>>>>>>> ID-LIAVE02/1885-1231586726193/0-0. On delivery attemp >>>>>>>>>>>>>> java.lang.NullPointerException >>>>>>>>>>>>>> at >>>>>>>>>>>>>> org.apache.servicemix.tutorial.camel.MyProcessor.process(MyProcessor.java:33) >>>>>>>>>>>>>> at >>>>>>>>>>>>>> org.apache.camel.impl.ProcessorEndpoint.onExchange(ProcessorEndpoint.java:92) >>>>>>>>>>>>>> at >>>>>>>>>>>>>> org.apache.camel.impl.ProcessorEndpoint$1.process(ProcessorEndpoint.java:66) >>>>>>>>>>>>>> at >>>>>>>>>>>>>> org.apache.camel.impl.converter.AsyncProcessorTypeConverter$ProcessorToAsyncProcessorBridge.process(AsyncProcessorT >>>>>>>>>>>>>> at >>>>>>>>>>>>>> org.apache.camel.processor.SendProcessor.process(SendProcessor.java:75) >>>>>>>>>>>>>> at >>>>>>>>>>>>>> org.apache.camel.processor.DeadLetterChannel.process(DeadLetterChannel.java:146) >>>>>>>>>>>>>> at >>>>>>>>>>>>>> org.apache.camel.processor.DeadLetterChannel.process(DeadLetterChannel.java:90) >>>>>>>>>>>>>> at >>>>>>>>>>>>>> org.apache.camel.processor.Pipeline.process(Pipeline.java:101) >>>>>>>>>>>>>> at >>>>>>>>>>>>>> org.apache.camel.processor.Pipeline.process(Pipeline.java:85) >>>>>>>>>>>>>> at >>>>>>>>>>>>>> org.apache.camel.processor.UnitOfWorkProcessor.process(UnitOfWorkProcessor.java:39) >>>>>>>>>>>>>> at >>>>>>>>>>>>>> org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:41) >>>>>>>>>>>>>> at >>>>>>>>>>>>>> org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:66) >>>>>>>>>>>>>> at >>>>>>>>>>>>>> org.apache.camel.component.timer.TimerConsumer.sendTimerExchange(TimerConsumer.java:91) >>>>>>>>>>>>>> at >>>>>>>>>>>>>> org.apache.camel.component.timer.TimerConsumer$1.run(TimerConsumer.java:48) >>>>>>>>>>>>>> at java.util.TimerThread.mainLoop(Timer.java:512) >>>>>>>>>>>>>> at java.util.TimerThread.run(Timer.java:462) >>>>>>>>>>>>>> >>>>>>>>>>>>>> Be advise that line 33 is:Endpoint endpoint = (Endpoint) >>>>>>>>>>>>>> ((org.apache.camel.Component) >>>>>>>>>>>>>> component).createEndpoint("provider:com.amdocs.oxp.esb"); >>>>>>>>>>>>>> >>>>>>>>>>>>>> My questions: >>>>>>>>>>>>>> >>>>>>>>>>>>>> 1. As bolded above i "fetched" my provider su component by >>>>>>>>>>>>>> staing >>>>>>>>>>>>>> it's >>>>>>>>>>>>>> name >>>>>>>>>>>>>> - is it correct? >>>>>>>>>>>>>> >>>>>>>>>>>>>> 2. I used the following servicemix object (not camel's) since >>>>>>>>>>>>>> i >>>>>>>>>>>>>> work >>>>>>>>>>>>>> with >>>>>>>>>>>>>> servicemix provider endpoint. That's the reason for all the >>>>>>>>>>>>>> casting >>>>>>>>>>>>>> in >>>>>>>>>>>>>> my >>>>>>>>>>>>>> code: >>>>>>>>>>>>>> import org.apache.servicemix.jbi.deployment.Component; >>>>>>>>>>>>>> import org.apache.servicemix.jbi.framework.Endpoint; >>>>>>>>>>>>>> >>>>>>>>>>>>>> Is it correct? >>>>>>>>>>>>>> >>>>>>>>>>>>>> Thank again, >>>>>>>>>>>>>> Liav Ezer. >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> Claus Ibsen-2 wrote: >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> Hi >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> You can use the producer template to call an external http >>>>>>>>>>>>>>> server >>>>>>>>>>>>>>> and >>>>>>>>>>>>>>> get the response. >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> See this tutorial: >>>>>>>>>>>>>>> http://activemq.apache.org/camel/tutorial-axis-camel.html >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> From the section - integrating Camel >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> Its kinda the same but its just uses the producer template >>>>>>>>>>>>>>> to >>>>>>>>>>>>>>> save >>>>>>>>>>>>>>> a >>>>>>>>>>>>>>> file. Its the same API for using any of the camel >>>>>>>>>>>>>>> components. >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> Little sidenote: >>>>>>>>>>>>>>> And since you use InOut you should use: requestBody instread >>>>>>>>>>>>>>> of >>>>>>>>>>>>>>> sendBody. However Camel is not to stricky about this yet so >>>>>>>>>>>>>>> if >>>>>>>>>>>>>>> you >>>>>>>>>>>>>>> use >>>>>>>>>>>>>>> a send instead of request then it should work as well. >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> The demo shows how to inject a producer template from spring >>>>>>>>>>>>>>> into >>>>>>>>>>>>>>> your >>>>>>>>>>>>>>> bean class = your processor. when you have this template you >>>>>>>>>>>>>>> can >>>>>>>>>>>>>>> call >>>>>>>>>>>>>>> the external http server and get the response using the >>>>>>>>>>>>>>> requestBody >>>>>>>>>>>>>>> method. >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> On Thu, Jan 8, 2009 at 1:46 PM, Liav Ezer >>>>>>>>>>>>>>> <liav.e...@gmail.com> >>>>>>>>>>>>>>> wrote: >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> Hi, >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> Here is my camel-context: >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> <camelContext id="camel" >>>>>>>>>>>>>>>> xmlns="http://activemq.apache.org/camel/schema/spring"> >>>>>>>>>>>>>>>> <package>org.apache.servicemix.tutorial.camel</package> >>>>>>>>>>>>>>>> </camelContext> >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> <bean id="myProcessor" >>>>>>>>>>>>>>>> class="org.apache.servicemix.tutorial.camel.MyProcessor"/> >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> Here is my RouteBuilder java file: >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> public class MyRouteBuilder extends RouteBuilder { >>>>>>>>>>>>>>>> public void configure() { >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> from("timer://tutorial?fixedRate=true&delay=3000&period=10000") >>>>>>>>>>>>>>>> .setBody(constant(".....................Liav >>>>>>>>>>>>>>>> Camel >>>>>>>>>>>>>>>> POC.......................")) >>>>>>>>>>>>>>>> .to("myProcessor"); >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> } >>>>>>>>>>>>>>>> } >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> Here is my processor java file: >>>>>>>>>>>>>>>> public class MyProcessor implements Processor { >>>>>>>>>>>>>>>> public void process(Exchange exchange) throws >>>>>>>>>>>>>>>> Exception >>>>>>>>>>>>>>>> { >>>>>>>>>>>>>>>> //WANT TO INITIATE A CALL TO http pROVIDER END >>>>>>>>>>>>>>>> POINT >>>>>>>>>>>>>>>> & >>>>>>>>>>>>>>>> PASS >>>>>>>>>>>>>>>> THE >>>>>>>>>>>>>>>> 'FROM' >>>>>>>>>>>>>>>> // PARAMETRS RECIEVED PROIRE TO THE >>>>>>>>>>>>>>>> PROCESSOR >>>>>>>>>>>>>>>> INVOKE. >>>>>>>>>>>>>>>> } >>>>>>>>>>>>>>>> } >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> Thanks. >>>>>>>>>>>>>>>> -- >>>>>>>>>>>>>>>> View this message in context: >>>>>>>>>>>>>>>> http://www.nabble.com/How-do-i-call-an-HTTP-Provider-end-pont-from-the-process-method--tp21351142s22882p21351142.html >>>>>>>>>>>>>>>> Sent from the Camel - Users mailing list archive at >>>>>>>>>>>>>>>> Nabble.com. >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> -- >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> /Claus Ibsen >>>>>>>>>>>>>>> Apache Camel Committer >>>>>>>>>>>>>>> Blog: http://davsclaus.blogspot.com/ >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> -- >>>>>>>>>>>>>> View this message in context: >>>>>>>>>>>>>> http://www.nabble.com/How-do-i-call-an-HTTP-Provider-end-pont-from-the-process-method--tp21351142s22882p21387207.html >>>>>>>>>>>>>> Sent from the Camel - Users mailing list archive at >>>>>>>>>>>>>> Nabble.com. >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> -- >>>>>>>>>>>>> >>>>>>>>>>>>> /Claus Ibsen >>>>>>>>>>>>> Apache Camel Committer >>>>>>>>>>>>> Blog: http://davsclaus.blogspot.com/ >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> -- >>>>>>>>>>>> View this message in context: >>>>>>>>>>>> http://www.nabble.com/How-do-i-call-an-HTTP-Provider-end-pont-from-the-process-method--tp21351142s22882p21387318.html >>>>>>>>>>>> Sent from the Camel - Users mailing list archive at Nabble.com. >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> -- >>>>>>>>>>> >>>>>>>>>>> /Claus Ibsen >>>>>>>>>>> Apache Camel Committer >>>>>>>>>>> Blog: http://davsclaus.blogspot.com/ >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>> >>>>>>>>>> -- >>>>>>>>>> View this message in context: >>>>>>>>>> http://www.nabble.com/How-do-i-call-an-HTTP-Provider-end-pont-from-the-process-method--tp21351142s22882p21388391.html >>>>>>>>>> Sent from the Camel - Users mailing list archive at Nabble.com. >>>>>>>>>> >>>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> -- >>>>>>>>> >>>>>>>>> /Claus Ibsen >>>>>>>>> Apache Camel Committer >>>>>>>>> Blog: http://davsclaus.blogspot.com/ >>>>>>>>> >>>>>>>>> >>>>>>>> >>>>>>>> -- >>>>>>>> View this message in context: >>>>>>>> http://www.nabble.com/How-do-i-call-an-HTTP-Provider-end-pont-from-the-process-method--tp21351142s22882p21389069.html >>>>>>>> Sent from the Camel - Users mailing list archive at Nabble.com. >>>>>>>> >>>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> -- >>>>>>> >>>>>>> /Claus Ibsen >>>>>>> Apache Camel Committer >>>>>>> Blog: http://davsclaus.blogspot.com/ >>>>>>> >>>>>>> >>>>>> >>>>>> -- >>>>>> View this message in context: >>>>>> http://www.nabble.com/How-do-i-call-an-HTTP-Provider-end-pont-from-the-process-method--tp21351142s22882p21390941.html >>>>>> Sent from the Camel - Users mailing list archive at Nabble.com. >>>>>> >>>>>> >>>>> >>>>> >>>>> >>>>> -- >>>>> >>>>> /Claus Ibsen >>>>> Apache Camel Committer >>>>> Blog: http://davsclaus.blogspot.com/ >>>>> >>>>> >>>> >>>> -- >>>> View this message in context: >>>> http://www.nabble.com/How-do-i-call-an-HTTP-Provider-end-pont-from-the-process-method--tp21351142s22882p21396985.html >>>> Sent from the Camel - Users mailing list archive at Nabble.com. >>>> >>>> >>> >>> >>> >>> -- >>> >>> /Claus Ibsen >>> Apache Camel Committer >>> Blog: http://davsclaus.blogspot.com/ >>> >>> >> >> > > -- View this message in context: http://www.nabble.com/How-do-i-call-an-HTTP-Provider-end-pont-from-the-process-method--tp21351142s22882p21412377.html Sent from the Camel - Users mailing list archive at Nabble.com.