Virtual services & content-based routing

I’m having a hard time trying to get the following to work:

  • I have two flow services, same input/ output, different internal logic
  • Both flow services exposed via producer WSD
  • this needs to be presented to the customer as one endpoint - depending on the value of one of the fields, either the one or the other service should be invoked. (2 services on the same server)
  • I understand this can/ should be done via virtual services using content-based routing.

I am battling to implement the content-based routing (I’ve read the documentation & due to the fact that I can’t find any sample, I can’t figure out how this is to work)

I have the XPath query sorted out, what remains now is the services to be invoked - I get one right, but not both. I get the following error:

“Mediator encountered an error:PG outbound client encountered error:org.apache.axis2.AxisFault: [ISS.0088.9166] Binder not found for soapAction = csTest_addNum1_WSD_Binder_test_addNum_1 while executing operation:{http://MCZAWVAN01.eur.ad.sag/csTest/addNum1_WSD}test_addNum_1 service:VS_addNum1_WSD at time:11:25:06 PM on date:01 Feb 2011. The client ip was:127.0.0.1.”

Is what I am trying to achieve the way content-based routing was intended or is content-based routing intended to route to the same service on different servers?

Looking forward to any responses.

OK, judging by the number of views & the lack of response I am either trying to do something weird or else something so stupid that nobody wants to stoop low enough to tell me that…

looks like the error is coming from the Integration Server. Have you verified that the soap request works against IS?

Hi Douglas, yes, I’ve verified it. The request to both services I have works perfectly if I run it from SOAP UI. Being two different services, the signatures are different - not sure whether I should’ve used CS versioning instead?

I’m currently having the same problem to get the xpath expression working for the Content-based routing rule on my virtual service.
Does anybody has a simple example of an XPath expression for following xml input:

<?xml version="1.0" encoding="UTF-8 "?>

soapenv:Envelope
soapenv:Body
tns:input1Hi</tns:input1>
tns:input2data</tns:input2>
</soapenv:Body>
</soapenv:Envelope>

I would like to set an XPath query which verifies if the content of node tns:input = Hi and route to endpoint1 in case not route to default end point.
Has somebody already performed this content-based routing of virtual services?

I would be already very happy just to have a working xpath expression, it might be even for a different xml sample, doesn’t matter…

Kr,
Patrick

A hint if someone faces this issue, which is the current google top page, do:

-> You can check this error is formed like this

0050.0027 Mediator outbound client encountered error:{0}

Explanation

Client encountered an exception while attempting to send a message. The associated exception message should include more details regarding the problem.

Action

Fix the problem identified by the exception message.

@ https://empower.softwareag.com/infocenter/messages_release/help/index.jsp?topic=%2Fcom.softwareag.webmethods951.smg.mac%2Fmsg_smg%2FSMG.htm

-> It might be a problem because you have the Send Native Provider Fault (when available) option disabled

This can be set in IS > Solutions > Mediator Administrator page and by checking the Service Fault Configuration.