You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@servicemix.apache.org by gnanda <gi...@phaseforward.com> on 2010/05/07 19:42:17 UTC

publishing wsdl with no autovalidation and with no webservice associated with it

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


Re: publishing wsdl with no autovalidation and with no webservice associated with it

Posted by gnanda <gi...@phaseforward.com>.
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
> <gi...@phaseforward.com>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.FileSystemXmlApplicationContext@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.


Re: ActiveMq- Channel was inactive for too long

Posted by Soumya <so...@yahoo.co.in>.
Any help guys?

Apart from this.. now I notice te servicemix on the machine .1 itself is behaving weird!!! Hot deploy isnt taking effect and also not able to identify and load classes in jars which are part of a some deployed components.... is the servicemix instance got corrupt? anyone had similar issue where servicemix have started behaving weird all of a sudden! no change had been done to the system for long and same zips work happily in another machine!
Please suggest!





________________________________
From: Soumya <so...@yahoo.co.in>
To: users@servicemix.apache.org
Sent: Tue, 18 May, 2010 3:15:31 PM
Subject: ActiveMq- Channel was inactive for too long

Hi fellow Smix users.
This may not be an exclusive servicemix problem but thought if someoen coudl help.

We are using Smix 3.2.1 - which uses Amq 4.1.1.
We have a broker cluster of 2 machines say 192.200.200.1 and 192.200.200.2 and both have the same components deployed(mostly LWC).

Nowe have 2 client machines - say 192.200.200.3 and 192.200.200.4 - both of which talk to the cluster of .1 and .2 above using teh follwoinf failover configuration

failover:(tcp://192.200.200.1:61616,tcp://192.200.200.2:61616)?randomize=false

So first the clients try machine .1 and if it is down it sends request to .2. However it so happened .1 Servicemix process was up and running but stopped respoding today morning throwing the following error

2010-05-18 05:05:43,988 | WARN  | ActiveMQ Scheduler | ActiveMQConnection       | org.apache.activemq.ActiveMQConnection             1529 | Async exception with no exception listener: org.apache.activemq.transport.InactivityIOException: Channel was inactive for too long.
org.apache.activemq.transport.InactivityIOException: Channel was inactive for too long.
    at org.apache.activemq.transport.InactivityMonitor.readCheck(InactivityMonitor.java:101)
    at org.apache.activemq.transport.InactivityMonitor.access$000(InactivityMonitor.java:35)
    at org.apache.activemq.transport.InactivityMonitor$1.run(InactivityMonitor.java:51)
    at edu.emory.mathcs.backport.java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:442)
    at edu.emory.mathcs.backport.java.util.concurrent.FutureTask.runAndReset(FutureTask.java:198)
    at edu.emory.mathcs.backport.java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(ScheduledThreadPoolExecutor.java:102)
    at edu.emory.mathcs.backport.java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic(ScheduledThreadPoolExecutor.java:189)
    at edu.emory.mathcs.backport.java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:213)
    at edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:665)
    at edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:690)
    at java.lang.Thread.run(Thread.java:595)

And hence the cluster system was hung up unless I stopped .1 when .2 automatically became primary and started servicing requests.

I have 3 questions

1) How can I re-create the situation in Test environment... any configuration that would enable it in say a few minutes time?
2) Is there any solution to this in Smix 3.2.1 - i.e. any configuration change that might help without affecting performance and stability
3) is there a way to flag it in case such an error occurs.

looking forward to suggestions from you experts. Will update further in case I hit upon any concrete solution.. none yet... :-(

Thanks in advance
Soumya


ActiveMq- Channel was inactive for too long

Posted by Soumya <so...@yahoo.co.in>.
Hi fellow Smix users.
This may not be an exclusive servicemix problem but thought if someoen coudl help.

We are using Smix 3.2.1 - which uses Amq 4.1.1.
We have a broker cluster of 2 machines say 192.200.200.1 and 192.200.200.2 and both have the same components deployed(mostly LWC).

Nowe have 2 client machines - say 192.200.200.3 and 192.200.200.4 - both of which talk to the cluster of .1 and .2 above using teh follwoinf failover configuration

failover:(tcp://192.200.200.1:61616,tcp://192.200.200.2:61616)?randomize=false

So first the clients try machine .1 and if it is down it sends request to .2. However it so happened .1 Servicemix process was up and running but stopped respoding today morning throwing the following error

2010-05-18 05:05:43,988 | WARN  | ActiveMQ Scheduler | ActiveMQConnection       | org.apache.activemq.ActiveMQConnection             1529 | Async exception with no exception listener: org.apache.activemq.transport.InactivityIOException: Channel was inactive for too long.
org.apache.activemq.transport.InactivityIOException: Channel was inactive for too long.
    at org.apache.activemq.transport.InactivityMonitor.readCheck(InactivityMonitor.java:101)
    at org.apache.activemq.transport.InactivityMonitor.access$000(InactivityMonitor.java:35)
    at org.apache.activemq.transport.InactivityMonitor$1.run(InactivityMonitor.java:51)
    at edu.emory.mathcs.backport.java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:442)
    at edu.emory.mathcs.backport.java.util.concurrent.FutureTask.runAndReset(FutureTask.java:198)
    at edu.emory.mathcs.backport.java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(ScheduledThreadPoolExecutor.java:102)
    at edu.emory.mathcs.backport.java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic(ScheduledThreadPoolExecutor.java:189)
    at edu.emory.mathcs.backport.java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:213)
    at edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:665)
    at edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:690)
    at java.lang.Thread.run(Thread.java:595)

And hence the cluster system was hung up unless I stopped .1 when .2 automatically became primary and started servicing requests.

I have 3 questions

1) How can I re-create the situation in Test environment... any configuration that would enable it in say a few minutes time?
2) Is there any solution to this in Smix 3.2.1 - i.e. any configuration change that might help without affecting performance and stability
3) is there a way to flag it in case such an error occurs.

looking forward to suggestions from you experts. Will update further in case I hit upon any concrete solution.. none yet... :-(

Thanks in advance
Soumya



Re: publishing wsdl with no autovalidation and with no webservice associated with it

Posted by Freeman Fang <fr...@gmail.com>.
On Tue, May 18, 2010 at 3:21 AM, gnanda <gi...@phaseforward.com>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?</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.FileSystemXmlApplicationContext@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.
>
>

Re: publishing wsdl with no autovalidation and with no webservice associated with it

Posted by gnanda <gi...@phaseforward.com>.
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.FileSystemXmlApplicationContext@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.


Re: publishing wsdl with no autovalidation and with no webservice associated with it

Posted by gnanda <gi...@phaseforward.com>.
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.FileSystemXmlApplicationContext@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-tp28489180p28584929.html
Sent from the ServiceMix - User mailing list archive at Nabble.com.


Re: publishing wsdl with no autovalidation and with no webservice associated with it

Posted by gnanda <gi...@phaseforward.com>.
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.FileSystemXmlApplicationContext@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.


Re: publishing wsdl with no autovalidation and with no webservice associated with it

Posted by Freeman Fang <fr...@gmail.com>.
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.FileSystemXmlApplicationContext@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


Re: publishing wsdl with no autovalidation and with no webservice associated with it

Posted by gnanda <gi...@phaseforward.com>.
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.FileSystemXmlApplicationContext@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?





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.


Re: publishing wsdl with no autovalidation and with no webservice associated with it

Posted by Freeman Fang <fr...@gmail.com>.
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


Re: publishing wsdl with no autovalidation and with no webservice associated with it

Posted by gnanda <gi...@phaseforward.com>.
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.


Re: publishing wsdl with no autovalidation and with no webservice associated with it

Posted by Freeman Fang <fr...@gmail.com>.
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


Re: publishing wsdl with no autovalidation and with no webservice associated with it

Posted by gnanda <gi...@phaseforward.com>.
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.


Re: publishing wsdl with no autovalidation and with no webservice associated with it

Posted by Freeman Fang <fr...@gmail.com>.
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


Re: publishing wsdl with no autovalidation and with no webservice associated with it

Posted by gnanda <gi...@phaseforward.com>.
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.