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.

Reply via email to