You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@servicemix.apache.org by Prem Kumar L <pr...@gmail.com> on 2008/05/13 10:05:12 UTC

Re: SOAP + drools problem

Can someone share a working Service Assembly for this scenario ? I am looking
at deploying a similar kind of service. Any help would be much appreciated!
Prem
PS: Please send it to my personal email id.


lhein wrote:
> 
> Bence,
> 
> if it's correct what you wrote then your flow is the following:
> 
> 1. Somebody calls the webservice "http://localhost:8192/servicerouter/"
> 2. the soap call will be forwarded to the drools SU
> 3. Rule "anything" is executed
> 4. the soap call is routed to "http://localhost:8080/testservice"
> 
> If you turn on Debug Mode in <smx install folder>/conf/log4j.xml you will
> see the message flow.
> It might be a problem that the incoming soap message from /servicerouter/
> is not compatible to use as soap request for /testservice/ so you need to
> put a transformation somewhere between I suppose.
> 
> Regards,
> Lars
> 
> 
> 
> 
> 
> Bence wrote:
>> 
>> Hi,
>> 
>> I am trying to create the easiest drools routing of SOAP messages
>> example.
>> 
>> At the moment i have 2 SUs:
>> service-router-su - from the maven archetype
>> servicemix-drools-service-unit
>> service-router-http-su - from the maven archetype
>> servicemix-http-consumer-service-unit
>> 
>> I only want to send a SOAP message to the BC, and have it routed back to
>> another endpoint in the same BC no matter what.
>> So I have this rule:
>> rule "anything"
>> 	when
>> 		eval(true)
>> 	then
>> 		jbi.route( "service::test:httpprovider" );
>> end
>> 
>> in the BC I have 2 endpoints:
>>   <http:endpoint service="test:httplistener"
>>                  endpoint="listenerEndpoint"
>>                  role="consumer" 
>>                  locationURI="http://localhost:8192/servicerouter/"
>>                  defaultMep="http://www.w3.org/2004/08/wsdl/in-out"
>>                  targetService="test:servicerouter"
>>                  targetEndpoint="servicerouterEndpoint"
>>                  soap="true" />
>>    <http:endpoint service="test:httpprovider"
>>                  endpoint="providerEndpoint"
>>                  role="provider" 
>>                  locationURI="http://localhost:8080/testservice />
>> 
>> The drools endpoint is:
>> <drools:endpoint service="test:servicerouter"
>>                    endpoint="servicerouterEndpoint"
>>                    ruleBaseResource="classpath:router.drl"
>>                    namespaceContext="#nsContext" />
>> 
>> Now this is not really working, and there are a few things which I don't
>> understand.
>> 
>> Since the SOAP message is routed to a webservice outside of servicemix,
>> how would the drools SU expose teh WSDL of that service? What kind of
>> SOAP message do I have to write so that it gets recognized by drools and
>> routed forward to that other service?
>> 
>> Thanks in advance
>> 
> 
> 

-- 
View this message in context: http://www.nabble.com/SOAP-%2B-drools-problem-tp16537434p17203192.html
Sent from the ServiceMix - User mailing list archive at Nabble.com.