You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@servicemix.apache.org by brijesh <br...@gmail.com> on 2009/01/02 11:36:41 UTC

smx bc

hello, 

I have following configuration 

first one for cxf-bc for giving http binding component, second one smx-bean
for substituting xml element  from database, third one is calling actual ejb
from my application.  

cxf-bc-->smx-bean1-->smx-bean2

is it possoble to configure in xbean of smx-bean1 to give targetService as
smx-bean2(for passing control from smx-bean1 to smx-bean2). 

if not , do we need to have eip to configure to achive this?


thanks 

Brijesh N K
-- 
View this message in context: http://www.nabble.com/smx-bc-tp21249850p21249850.html
Sent from the ServiceMix - User mailing list archive at Nabble.com.


Re: smx bc

Posted by Ashwin Karpe <as...@progress.com>.
Hi Brijesh, 

If you want to use an xbean configuration, the problem you will encounter is
that the targetOperation property will need to be set and since this is set
at deploy time (staticalliny via xbean, i.e. explicit) if your web service
has several operations, routing to the right operation will not happen.

The only way  to make it dynamic is to inspect the tope level
SOABosbyElement and determine the operation from the soap message and route
it the way I have stated below by explicitly setting the exchange properties
in code.

Hope this helps.

Cheers,

Ashwin...


brijesh wrote:
> 
> thanks Ashwin, for the respone , 
> But this approach,  we need to code rather than a xbean configuration. 
> 
> but it was good input  for us to use few other places , 
> 
> thanks  
> Brijesh N K
> 
> 
> Ashwin Karpe wrote:
>> 
>> Hi Brijesh,
>> 
>> I am assuming that the SMX-bean2 is a CXF-SE.
>> 
>> If so, You do not need to configure an EIP to do this.
>> 
>> However in SMX-bean1, you do need to set the service, operation and
>> interface in the Message Exchange received so that the Message Exchange
>> is next directed to the CXF-SE. 
>> 
>>              private String wsNamespace = "http://foo.bar.com/xxx";
>> 	private QName svc = new QName(wsNamespace,"MyWebServiceName");
>> 	private QName ifc = new
>> QName(wsNamespace,"MyWebServiceRemoteInterface");
>> 	private QName operation = new QName(wsNamespace,"MyWebServiceOp");
>> 
>>             me.setService(svc);
>>             me.setInterfaceName(ifc);
>>             me.setOperation(operation);
>>             channel.sendSync(me);
>> 
>> Obviously in the CXF-SE you can then call out to an EJB or do whatever
>> else you need to do in the operation invoked in the Web Service
>> Implementation.
>> 
>> Hope this helps.
>>  
>> Cheers,
>> 
>> Ashwin...
>> 
>> 
>> brijesh wrote:
>>> 
>>> hello, 
>>> 
>>> I have following configuration 
>>> 
>>> first one for cxf-bc for giving http binding component, second one
>>> smx-bean for substituting xml element  from database, third one is
>>> calling actual ejb from my application.  
>>> 
>>> cxf-bc-->smx-bean1-->smx-bean2
>>> 
>>> is it possoble to configure in xbean of smx-bean1 to give targetService
>>> as smx-bean2(for passing control from smx-bean1 to smx-bean2). 
>>> 
>>> if not , do we need to have eip to configure to achive this?
>>> 
>>> 
>>> thanks 
>>> 
>>> Brijesh N K
>>> 
>> 
>> 
> 
> 


-----
--- 
Ashwin Karpe, Principal Consultant, PS - Opensource Center of Competence 
Progress Software Corporation
14 Oak Park Drive
Bedford, MA 01730
--- 
+1-972-304-9084 (Office) 
+1-972-971-1700 (Mobile) 
---- 
Blog: http://opensourceknowledge.blogspot.com/


-- 
View this message in context: http://www.nabble.com/smx-bc-tp21249850p21290521.html
Sent from the ServiceMix - User mailing list archive at Nabble.com.


Re: smx bc

Posted by brijesh <br...@gmail.com>.
thanks Ashwin, for the respone , 
But this approach,  we need to code rather than a xbean configuration. 

but it was good input  for us to use few other places , 

thanks  
Brijesh N K


Ashwin Karpe wrote:
> 
> Hi Brijesh,
> 
> I am assuming that the SMX-bean2 is a CXF-SE.
> 
> If so, You do not need to configure an EIP to do this.
> 
> However in SMX-bean1, you do need to set the service, operation and
> interface in the Message Exchange received so that the Message Exchange is
> next directed to the CXF-SE. 
> 
>              private String wsNamespace = "http://foo.bar.com/xxx";
> 	private QName svc = new QName(wsNamespace,"MyWebServiceName");
> 	private QName ifc = new QName(wsNamespace,"MyWebServiceRemoteInterface");
> 	private QName operation = new QName(wsNamespace,"MyWebServiceOp");
> 
>             me.setService(svc);
>             me.setInterfaceName(ifc);
>             me.setOperation(operation);
>             channel.sendSync(me);
> 
> Obviously in the CXF-SE you can then call out to an EJB or do whatever
> else you need to do in the operation invoked in the Web Service
> Implementation.
> 
> Hope this helps.
>  
> Cheers,
> 
> Ashwin...
> 
> 
> brijesh wrote:
>> 
>> hello, 
>> 
>> I have following configuration 
>> 
>> first one for cxf-bc for giving http binding component, second one
>> smx-bean for substituting xml element  from database, third one is
>> calling actual ejb from my application.  
>> 
>> cxf-bc-->smx-bean1-->smx-bean2
>> 
>> is it possoble to configure in xbean of smx-bean1 to give targetService
>> as smx-bean2(for passing control from smx-bean1 to smx-bean2). 
>> 
>> if not , do we need to have eip to configure to achive this?
>> 
>> 
>> thanks 
>> 
>> Brijesh N K
>> 
> 
> 

-- 
View this message in context: http://www.nabble.com/smx-bc-tp21249850p21274083.html
Sent from the ServiceMix - User mailing list archive at Nabble.com.


Re: smx bc

Posted by Ashwin Karpe <as...@progress.com>.
Hi Brijesh,

I am assuming that the SMX-bean2 is a CXF-SE.

If so, You do not need to configure an EIP to do this.

However in SMX-bean1, you do need to set the service, operation and
interface in the Message Exchange received so that the Message Exchange is
next directed to the CXF-SE. 

             private String wsNamespace = "http://foo.bar.com/xxx";
	private QName svc = new QName(wsNamespace,"MyWebServiceName");
	private QName ifc = new QName(wsNamespace,"MyWebServiceRemoteInterface");
	private QName operation = new QName(wsNamespace,"MyWebServiceOp");

            me.setService(svc);
            me.setInterfaceName(ifc);
            me.setOperation(operation);
            channel.sendSync(me);

Obviously in the CXF-SE you can then call out to an EJB or do whatever else
you need to do in the operation invoked in the Web Service Implementation.

Hope this helps.
 
Cheers,

Ashwin...


brijesh wrote:
> 
> hello, 
> 
> I have following configuration 
> 
> first one for cxf-bc for giving http binding component, second one
> smx-bean for substituting xml element  from database, third one is calling
> actual ejb from my application.  
> 
> cxf-bc-->smx-bean1-->smx-bean2
> 
> is it possoble to configure in xbean of smx-bean1 to give targetService as
> smx-bean2(for passing control from smx-bean1 to smx-bean2). 
> 
> if not , do we need to have eip to configure to achive this?
> 
> 
> thanks 
> 
> Brijesh N K
> 


-----
--- 
Ashwin Karpe, Principal Consultant, PS - Opensource Center of Competence 
Progress Software Corporation
14 Oak Park Drive
Bedford, MA 01730
--- 
+1-972-304-9084 (Office) 
+1-972-971-1700 (Mobile) 
---- 
Blog: http://opensourceknowledge.blogspot.com/


-- 
View this message in context: http://www.nabble.com/smx-bc-tp21249850p21260078.html
Sent from the ServiceMix - User mailing list archive at Nabble.com.