Hi All,

I am using an XPATH expression as follows,

<sequence xmlns="http://ws.apache.org/ns/synapse"; name="sequence1">
   <log level="custom">
      <property xmlns:ns="http://org.apache.synapse/xsd";
xmlns:fn="http://www.w3.org/2005/xpath-functions"; name="insq"
expression="fn:string-join('name','age', '-')"/>
   </log>
   <drop/>
</sequence>

When I invoke the proxy I am getting an error as follows

SynapseXPath Evaluation of the XPath expression
fn:string-join('name','age', '-') resulted in an error

org.jaxen.UnresolvableException: No Such Function
{http://www.w3.org/2005/xpath-functions}:string-join

        at 
org.jaxen.SimpleFunctionContext.getFunction(SimpleFunctionContext.java:127)

        at 
org.apache.synapse.util.xpath.SynapseXPathFunctionContext.getFunction(SynapseXPathFunctionContext.java:93)

        at org.jaxen.ContextSupport.getFunction(ContextSupport.java:242)

        at org.jaxen.Context.getFunction(Context.java:216)

        at 
org.jaxen.expr.DefaultFunctionCallExpr.evaluate(DefaultFunctionCallExpr.java:172)

        at org.jaxen.expr.DefaultXPathExpr.asList(DefaultXPathExpr.java:102)

        at org.jaxen.BaseXPath.selectNodesForContext(BaseXPath.java:674)

        at org.jaxen.BaseXPath.selectNodes(BaseXPath.java:213)

        at org.jaxen.BaseXPath.evaluate(BaseXPath.java:172)

        at 
org.apache.synapse.util.xpath.SynapseXPath.stringValueOf(SynapseXPath.java:297)

        at 
org.apache.synapse.mediators.MediatorProperty.getEvaluatedExpression(MediatorProperty.java:138)

        at 
org.apache.synapse.mediators.builtin.LogMediator.setCustomProperties(LogMediator.java:192)

        at 
org.apache.synapse.mediators.builtin.LogMediator.getCustomLogMessage(LogMediator.java:131)

        at 
org.apache.synapse.mediators.builtin.LogMediator.getLogMessage(LogMediator.java:117)

        at 
org.apache.synapse.mediators.builtin.LogMediator.mediate(LogMediator.java:91)

        at 
org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:77)

        at 
org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:47)

        at 
org.apache.synapse.mediators.base.SequenceMediator.mediate(SequenceMediator.java:131)

        at 
org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:77)

        at 
org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:47)

        at 
org.apache.synapse.mediators.base.SequenceMediator.mediate(SequenceMediator.java:131)

        at 
org.apache.synapse.core.axis2.ProxyServiceMessageReceiver.receive(ProxyServiceMessageReceiver.java:166)

        at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:180)

        at 
org.apache.synapse.transport.passthru.ServerWorker.processEntityEnclosingRequest(ServerWorker.java:411)

        at 
org.apache.synapse.transport.passthru.ServerWorker.run(ServerWorker.java:183)

        at 
org.apache.axis2.transport.base.threads.NativeWorkerPool$1.run(NativeWorkerPool.java:172)

        at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)

        at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)

        at java.lang.Thread.run(Thread.java:722)


According to [1] it states the string-join function should be as follows,

fn:string-join(('name','age'), '-') - with two brackets but when I try
to do so, ESB doesn't support this.

[1]
http://www.w3.org/TR/2014/REC-xpath-functions-30-20140408/#func-string-join

Can someone please state the correct way of writing the XPATH expression ?

Thanks,
Sohani

Sohani Weerasinghe
Software Engineer
WSO2, Inc: http://wso2.com

Mobile  : +94 716439774
Blog     :http://christinetechtips.blogspot.com/
Twitter  : https://twitter.com/sohanichristine
_______________________________________________
Dev mailing list
Dev@wso2.org
http://wso2.org/cgi-bin/mailman/listinfo/dev

Reply via email to