Thanks Freeman for the reply. I have 2 unanswered questions in this thread. I will open another thread for those questions as they are not very much related to this thread
Freeman Fang wrote: > > On Tue, May 18, 2010 at 3:21 AM, gnanda > <[email protected]>wrote: > >> >> 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? >> > Hi, > > No, you can't override the MEP for cxf bc endpoint, it's strictly decided > by > wsdl. > > Freeman > >> >> 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? >> >> 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. >> >> > > -- View this message in context: http://old.nabble.com/publishing-wsdl-with-no-autovalidation-and-with-no-webservice-associated-with-it-tp28489180p28596541.html Sent from the ServiceMix - User mailing list archive at Nabble.com.
