Hi Harsha,

I tried that as well, but it is not supporting in ESB as i mentioned
previously.

Thanks,
Sohani

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

Mobile  : +94 716439774
Blog     :http://christinetechtips.blogspot.com/
Twitter  : https://twitter.com/sohanichristine


On Tue, Jun 3, 2014 at 2:08 PM, Harsha Kumara <[email protected]> wrote:

> Hi Sohani,
> May be your expression syntax is incorrect. Is it works when it change
> like  expression="fn:string-join(('name','age'), '-').I'm referring to
> [1].
>
> [1]-http://www.xqueryfunctions.com/xq/fn_string-join.html
> THanks,
> Harsha
>
>
> On Tue, Jun 3, 2014 at 1:36 PM, Sohani Weerasinghe <[email protected]>
> wrote:
>
>> 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
>> [email protected]
>> http://wso2.org/cgi-bin/mailman/listinfo/dev
>>
>>
>
>
> --
> Harsha Kumara
> Software Engineer, WSO2 Inc.
> Mobile: +94775505618
> Blog:harshcreationz.blogspot.com
>
_______________________________________________
Dev mailing list
[email protected]
http://wso2.org/cgi-bin/mailman/listinfo/dev

Reply via email to