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-tp28489180p28559595.html
Sent from the ServiceMix - User mailing list archive at Nabble.com.

Reply via email to