Besides to the 3 questions that I posted in my last message. I have another one that is related to mep. I discovered that map attached to cxf-bc depends on the definition of wsdl operation (one way or two ways). I cannot override it to in-only pattern. That mean I cannot use pipeline here. Because it anly receives in-only Is that correct?
Please suggest gnanda wrote: > > Hi Freeman, > In a hurry, I think I did not complete my thought properly in my last > post.Sorry about that. > I have three questions that I like to get suggestion from you > 1)If I follow eip pattern do I need to use servicemix-bean as a trnsformer > or is there any better way for this? > basically the flow is as below > cxf-bc->servicemix bean->camel > > If I do not want to instantiate servicemix client inside servicemix-bean > to call camel component then the flow would be as below > <eip:pipeline service="test:mycxfbc" endpoint="endpoint"> > <eip:transformer> > <eip:exchange-target service="test:mypojo-bean" /> > </eip:transformer> > <eip:target> > <eip:exchange-target service="test:mycamel" /> > </eip:target> > </eip:pipeline> > > 2) I looked into the below URL regarding pojo clss deployed as osgi bundle > https://cwiki.apache.org/confluence/display/SMX4/Creating+an+OSGi+bundle+for+deploying+JBI+endpoints > > If I am not wrong, if I deploy the pojo calss as OSGi as explained above > URL then I still need to use messagexchangelistner class and servicemix > client to receive message from source and send message to the target. Is > that correct? > 3)Is there in document available that I can go thru to understand the > benefit of osgi type of deployement over su-sa deployement? > Thanks a lot for your time and help > > > > gnanda wrote: >> >> No that service assmbly is a generic bundle and will be used for every >> message and every service provided by every product that we are going to >> support. It does some dynamic routing, business entity lookup etc. I do >> not want to put service specific validation or service specific >> processing in this bundle >> the bundle that receive incoming http message would need to have a unit >> that will do service/product specific validation/processing >> Looks like I need to use either servicemix-bean (with servicemix client) >> or eip (with servicemix-bean as a transformer). If I follow eip pattern >> do I need to use servicemix-bean as a trnsformer or is there any other >> way around it? >> Another related question is, I am moving to OSGI kind of deployement >> instead of t service assembly type of deployement as I saw some >> recommendation using OSGI deployement (though not found good comparisone >> detail, reference to any document explaining pros/cons of both the way >> would be very helpful) >> If I use OSGI bundle for defining my bean pojo class then I guess I do >> not need to extend MessageExchangeListener class. Do I? I think it wuld >> be a simple pojo class, but how would it receive incoming message >> exchnage from NMR? Is there any link that i can read to define my >> servicemix-bean and deploy inside a osgi bundle?</b> >> I looked into the below URL, but still got properely , how would I >> receive exchange inside pojo and how would i call target service unit >> from the pojo class. For my scenario I could replace filler unit poller >> with cxf-bc that will call servicemix-bean here, >> >> >> >> Freeman Fang wrote: >>> >>> >>> On 2010-5-14, at 上午3:41, gnanda wrote: >>> >>>> >>>> Thanks Freeman. I am trying to follow the below route >>>> cxfBC consumer with wsdl->servicemix-bean (pojo) >>>> I am not made cxfbc worked yet. having classnotfoundexception as below >>>> java.lang.ClassNotFoundException: >>>> org.apache.servicemix.cxfbc.CxfBcConsumer >>>> in classloader >>>> org.apache.xbean.spring.context.filesystemxmlapplicationcont...@a79f01 >>>> I could deploy wsdl-first example which means I have something wrong >>>> in my >>>> pom or xbean. >>>> >>>> I have some questions related to the design of servicemix bean >>>> calling camel >>>> router. Just as a note servicemix bean class supposed to do some >>>> validation >>>> task on the incoming messages and then call a camel router deployed in >>>> another service assembly. Camelrouter does dynamic routing to the >>>> target >>>> services using recipient list pattern >>>> >>>> >>>> 1)I have to call my camel router from servicemix bean. I could pass >>>> traget >>>> servicename and target endpointname from xbean.xml file then inside >>>> the >>>> class file I could use servicemixclient to call the targetservice.I >>>> have >>>> done this way before for other part of my project but I do not like >>>> using >>>> servicemixclient from the java class. >>>> >>>> Is there a better way to call camel router from servicemix bean >>>> without >>>> using servicemixclient inside the bean? >>>> >>>> Would eip pipeline a better way to do this? If I use eip do I need >>>> to refer >>>> my bean class as a transformer? >>>> >>>> My taregt here the camel router deployed inside another SA. I would >>>> not >>>> prefer eip pipeline to call camel router. >>>> Is there a better solution to this design? >>>> >>> Then how about not use servicemix-bean(pojo)->camel router, use >>> bean(which can do anything you want to for incoming message) in camel >>> router directly? >>> You can just put bean befpre recipientlist, you may need take a look >>> at [1] to get details how to use bean inside camel router >>> [1]http://camel.apache.org/bean.html >>> >>> Freeman >>>> >>>> >>>> >>>> >>>> Freeman Fang wrote: >>>>> >>>>> Hi, >>>>> Yeah, some thing like >>>>> servicemix-http or servicemix-cxf-bc(with wsdl)->servicemix- >>>>> bean(pojo). >>>>> You can take a look at [1] how pojo in servicemix-bean works. >>>>> >>>>> [1]http://servicemix.apache.org/servicemix-bean.html >>>>> >>>>> Freeman >>>>> On 2010-5-13, at 上午5:04, gnanda wrote: >>>>> >>>>>> >>>>>> Thanks Freeman for the reply. Are you suggesting something like >>>>>> below >>>>>> servicemix http (with wsdl ) -> servicemix-bean(pojo) >>>>>> The pojo does not need to have have all these operations defined in >>>>>> WSDL? >>>>>> Do you have any document available that I can refer to or any >>>>>> similar >>>>>> example that I an follow? >>>>>> >>>>>> I am following the above design to see if that works. >>>>>> Please let me know if my inderstanding is incorrect >>>>>> >>>>>> >>>>>> Freeman Fang wrote: >>>>>>> >>>>>>> Hi, >>>>>>> >>>>>>> Ok, I understand your requirement more clearly now. >>>>>>> In your case you can't use cxf se endpoint, as cxf se endpoint bind >>>>>>> to >>>>>>> wsdl model strictly, which means it will parse the incoming >>>>>>> message, >>>>>>> and from the message payload and wsdl model it will determine the >>>>>>> operationName, so you must have extact same interface used for >>>>>>> cxf se >>>>>>> pojo and frontend cxfbc(or http) consumer wsdl. >>>>>>> >>>>>>> But I think you can use a pojo in servicemix-bean, which can >>>>>>> process >>>>>>> all incoming messages and don't do the operation match from >>>>>>> payload, >>>>>>> in that bean you can do what ever you want and then dispatch to >>>>>>> next >>>>>>> stop(camel router in your case). >>>>>>> >>>>>>> Hope this helps. >>>>>>> >>>>>>> Freeman >>>>>>> On 2010-5-11, at 下午10:29, gnanda wrote: >>>>>>> >>>>>>>> >>>>>>>> Hi Freeman, thanks for the reply. In my scenario, it is actually >>>>>>>> other way >>>>>>>> around. >>>>>>>> >>>>>>>> In wsdl I need to have add,delete,update operations but in POJO, I >>>>>>>> need to >>>>>>>> have only one operation >>>>>>>> >>>>>>>> To give you little background, here is my route architecture >>>>>>>> http endpoint ->pojo service->camel router- queue->camel router- >>>>>>>>> external >>>>>>>> webservice >>>>>>>> >>>>>>>> My external webservice which is in .NET has WSDL. I need to clone >>>>>>>> that and >>>>>>>> publish it on my front http endpoint. This WSDL has 5/6 >>>>>>>> operations. >>>>>>>> In a >>>>>>>> ususal scenario I have to create 5/6 operations (kind of donothing >>>>>>>> operaions) to satisfy WSDL publishing. Is there a way I could just >>>>>>>> have one >>>>>>>> method in my pojo attached to all these operations in WSDLs. >>>>>>>> >>>>>>>> In real scenario I do have more than 5 WSDLS with each with 5/6 >>>>>>>> operations. >>>>>>>> For each WSDL I have a http endpoint but I do not want the >>>>>>>> corresponding >>>>>>>> POJO service to have all these operations defined. These >>>>>>>> operations >>>>>>>> are >>>>>>>> actually being perform by external web services. >>>>>>>> >>>>>>>> >>>>>>>> Could I use cxf proxy? I do have camel router in my route which >>>>>>>> has >>>>>>>> to be >>>>>>>> there in between cxf proxy and external web service, not sure >>>>>>>> if it >>>>>>>> is >>>>>>>> possible doing that >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> Freeman Fang wrote: >>>>>>>>> >>>>>>>>> Hi, >>>>>>>>> >>>>>>>>> Use cxf bc endpoint, you must specify a wsdl for it, which >>>>>>>>> clearly >>>>>>>>> define the interface. >>>>>>>>> >>>>>>>>> For your case, I think you can use a wsdl with one operation >>>>>>>>> provideRequest, and then in your cxf-se endpoint(or POJO) you can >>>>>>>>> do >>>>>>>>> anything you want(add, delete, update) for the incoming message. >>>>>>>>> >>>>>>>>> Freeman >>>>>>>>> On 2010-5-11, at 上午12:00, gnanda wrote: >>>>>>>>> >>>>>>>>>> >>>>>>>>>> Anyone please let me know if have any suggestion how to >>>>>>>>>> publish a >>>>>>>>>> wsdl from a >>>>>>>>>> http (or cxf bc?) endpoint where the associated cxf-se would >>>>>>>>>> just >>>>>>>>>> have a >>>>>>>>>> generic method accpeting messages for any operation defined in >>>>>>>>>> the >>>>>>>>>> wsdl >>>>>>>>>> >>>>>>>>>> For example: My wsdl has operations as addRequest(String xml), >>>>>>>>>> deleteRequest(String xml), updateRequest(String xml). This wsdl >>>>>>>>>> will >>>>>>>>>> be >>>>>>>>>> published on the http (cxf-bc?) endpoint >>>>>>>>>> >>>>>>>>>> But the service(cxf-se? or POJO class?) associated with my http >>>>>>>>>> (or >>>>>>>>>> cxf-bc) >>>>>>>>>> will have only one method provideRequest(String xml) accepting >>>>>>>>>> message for >>>>>>>>>> addRequest(),deleteRequest() and updateRequest() >>>>>>>>>> >>>>>>>>>> How would I proceed doing this? >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> gnanda wrote: >>>>>>>>>>> >>>>>>>>>>> Hi All, I have an interesting design issue related to my http >>>>>>>>>>> component >>>>>>>>>>> and wsdl publishing >>>>>>>>>>> currently I have below scenario >>>>>>>>>>> >>>>>>>>>>> smx:http consumer(no wsdl, accep any well formed soap >>>>>>>>>>> message) -> >>>>>>>>>>> camel >>>>>>>>>>> router-> external web service >>>>>>>>>>> >>>>>>>>>>> I need to publish wsdl with my http component but would need to >>>>>>>>>>> accept any >>>>>>>>>>> well formed soap message then route to a pojo class to do few >>>>>>>>>>> validation >>>>>>>>>>> on my own then route to a camel router then to external web >>>>>>>>>>> service >>>>>>>>>>> >>>>>>>>>>> here is the new flow >>>>>>>>>>> smx:http consumer(could be cxf bc? , publishing wsdl) -> pojo >>>>>>>>>>> class >>>>>>>>>>> with >>>>>>>>>>> doListen()->camel router->external web service >>>>>>>>>>> Important point to be noted here are >>>>>>>>>>> ** the pojo class will not have any operation defined for the >>>>>>>>>>> operations >>>>>>>>>>> declared in the wsdl >>>>>>>>>>> ** doListen() method in the pojo class will receive any >>>>>>>>>>> incoming >>>>>>>>>>> soap >>>>>>>>>>> message for all operations declared in the wsdl and do a few >>>>>>>>>>> validation >>>>>>>>>>> and send to camel router. >>>>>>>>>>> >>>>>>>>>>> How would I proceed doing this? Any suggestion will be very >>>>>>>>>>> helpful >>>>>>>>>>> >>>>>>>>>> >>>>>>>>>> -- >>>>>>>>>> View this message in context: >>>>>>>>>> http://old.nabble.com/publishing-wsdl-with-no-autovalidation-and-with-no-webservice-associated-with-it-tp28489180p28512285.html >>>>>>>>>> Sent from the ServiceMix - User mailing list archive at >>>>>>>>>> Nabble.com. >>>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> -- >>>>>>>>> Freeman Fang >>>>>>>>> ------------------------ >>>>>>>>> Open Source SOA: http://fusesource.com >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>> >>>>>>>> -- >>>>>>>> View this message in context: >>>>>>>> http://old.nabble.com/publishing-wsdl-with-no-autovalidation-and-with-no-webservice-associated-with-it-tp28489180p28524890.html >>>>>>>> Sent from the ServiceMix - User mailing list archive at >>>>>>>> Nabble.com. >>>>>>>> >>>>>>> >>>>>>> >>>>>>> -- >>>>>>> Freeman Fang >>>>>>> ------------------------ >>>>>>> Open Source SOA: http://fusesource.com >>>>>>> >>>>>>> >>>>>>> >>>>>> >>>>>> -- >>>>>> View this message in context: >>>>>> http://old.nabble.com/publishing-wsdl-with-no-autovalidation-and-with-no-webservice-associated-with-it-tp28489180p28541101.html >>>>>> Sent from the ServiceMix - User mailing list archive at Nabble.com. >>>>>> >>>>> >>>>> >>>>> -- >>>>> Freeman Fang >>>>> ------------------------ >>>>> Open Source SOA: http://fusesource.com >>>>> >>>>> >>>>> >>>> >>>> -- >>>> View this message in context: >>>> http://old.nabble.com/publishing-wsdl-with-no-autovalidation-and-with-no-webservice-associated-with-it-tp28489180p28551740.html >>>> Sent from the ServiceMix - User mailing list archive at Nabble.com. >>>> >>> >>> >>> -- >>> Freeman Fang >>> ------------------------ >>> Open Source SOA: http://fusesource.com >>> >>> >>> >> >> > > -- View this message in context: http://old.nabble.com/publishing-wsdl-with-no-autovalidation-and-with-no-webservice-associated-with-it-tp28489180p28587613.html Sent from the ServiceMix - User mailing list archive at Nabble.com.
