Thanks Shafreen for the input. @Nisrin: Please note
Sohani Weerasinghe Senior Software Engineer WSO2, Inc: http://wso2.com Mobile : +94 716439774 Blog :http://christinetechtips.blogspot.com/ Twitter : https://twitter.com/sohanichristine On Tue, Aug 9, 2016 at 11:21 AM, Shafreen Anfar <shafr...@wso2.com> wrote: > Hi Sohani, > > Sorry for the delayed response. IMO, ideally we should try writing a > simple java program with HE and see if it supports that particular function > or not. Anyways, since it is not working in ESB. I think it is OK to > conclude that is not supported in our ESB. > > On Fri, Aug 5, 2016 at 10:52 AM, Sohani Weerasinghe <soh...@wso2.com> > wrote: > >> >> Hi Shafreen, >> >> I have used [1] in testing the functions, since there is no proper >> reference to get a list of functions supported by the Saxon 9.4 HE. Based >> on this, can we confirm that the mentioned functions in the above thread >> are not supported in HE? (so that we can conclude with the functions we are >> supporting in ESB) >> >> [1] http://www.saxonica.com/html/documentation9.4/functions/ >> >> Sohani Weerasinghe >> Senior Software Engineer >> WSO2, Inc: http://wso2.com >> >> Mobile : +94 716439774 >> Blog :http://christinetechtips.blogspot.com/ >> Twitter : https://twitter.com/sohanichristine >> >> On Fri, Aug 5, 2016 at 10:21 AM, Shafreen Anfar <shafr...@wso2.com> >> wrote: >> >>> Hi Sohanai, >>> >>> [+ Asanthi] >>> >>> We are using Saxon: HE (Home Edition) for XAPTH 2 functions. AFAIK, we >>> don't select functionality to support so anything supported by library >>> should already be there, which means it's likely HE edition does not >>> contain function you're looking for. Please have a look at [1]. >>> >>> [1] http://www.saxonica.com/html/documentation9.4/about/ >>> >>> On Thu, Aug 4, 2016 at 6:57 PM, Sohani Weerasinghe <soh...@wso2.com> >>> wrote: >>> >>>> Hi ESB Team, >>>> >>>> Please find the summary of issues encountered while testing the XPath >>>> 2.0 functions at [1] ( referred [2] & [3] for syntax) and really appreciate >>>> your input on this >>>> >>>> >>>> *1. "Invalid XPath Syntax" occurs when saving the synapse configuration >>>> in management console* >>>> >>>> This error occurs for below functions: >>>> >>>> - avg- fn:avg((1,2,3,4,5)) >>>> - codepoints-to-string - fn:codepoints-to-string((97, 32, 98, 32, >>>> 99))) >>>> - distinct-values - fn:distinct-values( ('a', 'b', 'a') ) -This is >>>> supported when passing the value as an xml payload >>>> - id - //book/section/secRef/fn:id(@refs) >>>> - idref - //book/idref('language')/string(.) >>>> - index-of - fn:index-of( (4, 5, 6, 4), 4) >>>> - max- fn:max((2,3,5)) >>>> - min - fn:min((2,3,5)) >>>> - remove - fn:remove( ('a', 'b', 'c'), 2) >>>> - reverse - fn:reverse((1, 2, 3, 4, 5)) -This is supported when >>>> passing the value as an xml payload >>>> - string-join - string-join( ('a', 'b', 'c'), '') >>>> - subsequence - fn:subsequence(('a', 'b', 'c', 'd', 'e'), 3) >>>> >>>> >>>> *2. Issues in using error() function* >>>> >>>> According to https://www.w3.org/TR/xpath-functions-30/#ERRFOER0000 , >>>> calling the function with empty parameters should give an unidentified >>>> error. But when invoking the service it gives below exception >>>> >>>> Is this accepted? >>>> >>>> ERROR - SynapseXPath Evaluation of the XPath expression fn:error() >>>> resulted in an error >>>> ; Line#: 1; Column#: -1 >>>> net.sf.saxon.trans.XPathException: Error signalled by application call >>>> on error() >>>> at net.sf.saxon.functions.Error.error(Error.java:98) >>>> at net.sf.saxon.functions.Error.evaluateItem(Error.java:55) >>>> at net.sf.saxon.expr.Expression.iterate(Expression.java:429) >>>> at net.sf.saxon.xpath.XPathExpressionImpl.evaluate(XPathExpress >>>> ionImpl.java:326) >>>> at net.sf.saxon.xpath.XPathExpressionImpl.evaluate(XPathExpress >>>> ionImpl.java:389) >>>> at org.apache.synapse.util.xpath.SynapseXPath.evaluateDOMXPath( >>>> SynapseXPath.java:533) >>>> at org.apache.synapse.util.xpath.SynapseXPath.stringValueOf(Syn >>>> apseXPath.java:367) >>>> at org.apache.synapse.mediators.MediatorProperty.getEvaluatedEx >>>> pression(MediatorProperty.java:138) >>>> at org.apache.synapse.mediators.builtin.LogMediator.setCustomPr >>>> operties(LogMediator.java:223) >>>> at org.apache.synapse.mediators.builtin.LogMediator.getCustomLo >>>> gMessage(LogMediator.java:146) >>>> at org.apache.synapse.mediators.builtin.LogMediator.getLogMessa >>>> ge(LogMediator.java:132) >>>> at org.apache.synapse.mediators.builtin.LogMediator.mediate(Log >>>> Mediator.java:101) >>>> at org.apache.synapse.mediators.AbstractListMediator.mediate(Ab >>>> stractListMediator.java:97) >>>> at org.apache.synapse.mediators.AbstractListMediator.mediate(Ab >>>> stractListMediator.java:54) >>>> at org.apache.synapse.mediators.base.SequenceMediator.mediate(S >>>> equenceMediator.java:158) >>>> at org.apache.synapse.core.axis2.ProxyServiceMessageReceiver.re >>>> ceive(ProxyServiceMessageReceiver.java:210) >>>> at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:180) >>>> at org.apache.synapse.transport.passthru.ServerWorker.processEn >>>> tityEnclosingRequest(ServerWorker.java:398) >>>> at org.apache.synapse.transport.passthru.ServerWorker.run(Serve >>>> rWorker.java:145) >>>> at org.apache.axis2.transport.base.threads.NativeWorkerPool$1.r >>>> un(NativeWorkerPool.java:172) >>>> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPool >>>> Executor.java:1145) >>>> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoo >>>> lExecutor.java:615) >>>> at java.lang.Thread.run(Thread.java:745) >>>> >>>> >>>> *3. "System function is not available with this host language/version" >>>> occurs when invoking the service* >>>> >>>> According to <https://mail.google.com/mail/u/0/goog_627243550> >>>> https://sourceforge.net/p/saxon/mailman/saxon-help/thread/50 >>>> f7f8b9.4090...@falutin.net/, it seems this is an XSLT function, is >>>> that the reason for getting the below error? but at [1] this function >>>> is declared as an XPath function >>>> >>>> >>>> [2016-08-02 12:47:27,875] ERROR - SynapseXPath Evaluation of the XPath >>>> expression fn:format-date(fn:current-date(), '[Y01]/[M01]/[D01]') >>>> resulted in an error >>>> net.sf.saxon.trans.XPathException: System function format-date#2 is >>>> not available with this host language/version >>>> at net.sf.saxon.expr.parser.ExpressionParser.grumble(Expression >>>> Parser.java:263) >>>> at net.sf.saxon.expr.parser.ExpressionParser.parseFunctionCall( >>>> ExpressionParser.java:2375) >>>> at net.sf.saxon.expr.parser.ExpressionParser.parseBasicStep(Exp >>>> ressionParser.java:1731) >>>> at net.sf.saxon.expr.parser.ExpressionParser.parseStepExpressio >>>> n(ExpressionParser.java:1654) >>>> at net.sf.saxon.expr.parser.ExpressionParser.parseRelativePath( >>>> ExpressionParser.java:1573) >>>> at net.sf.saxon.expr.parser.ExpressionParser.parsePathExpressio >>>> n(ExpressionParser.java:1557) >>>> at net.sf.saxon.expr.parser.ExpressionParser.parseUnaryExpressi >>>> on(ExpressionParser.java:1447) >>>> at net.sf.saxon.expr.parser.ExpressionParser.parseExprSingle(Ex >>>> pressionParser.java:517) >>>> at net.sf.saxon.expr.parser.ExpressionParser.parseExpression(Ex >>>> pressionParser.java:455) >>>> at net.sf.saxon.expr.parser.ExpressionParser.parse(ExpressionPa >>>> rser.java:391) >>>> at net.sf.saxon.expr.parser.ExpressionTool.make(ExpressionTool.java:94) >>>> at net.sf.saxon.xpath.XPathEvaluator.createExpressionInternal(X >>>> PathEvaluator.java:235) >>>> at net.sf.saxon.xpath.XPathEvaluator.compile(XPathEvaluator.java:376) >>>> at org.apache.synapse.util.xpath.SynapseXPath.evaluateDOMXPath( >>>> SynapseXPath.java:532) >>>> at org.apache.synapse.util.xpath.SynapseXPath.stringValueOf(Syn >>>> apseXPath.java:367) >>>> at org.apache.synapse.mediators.MediatorProperty.getEvaluatedEx >>>> pression(MediatorProperty.java:138) >>>> at org.apache.synapse.mediators.builtin.LogMediator.setCustomPr >>>> operties(LogMediator.java:223) >>>> at org.apache.synapse.mediators.builtin.LogMediator.getCustomLo >>>> gMessage(LogMediator.java:146) >>>> at org.apache.synapse.mediators.builtin.LogMediator.getLogMessa >>>> ge(LogMediator.java:132) >>>> at org.apache.synapse.mediators.builtin.LogMediator.mediate(Log >>>> Mediator.java:101) >>>> at org.apache.synapse.mediators.AbstractListMediator.mediate(Ab >>>> stractListMediator.java:97) >>>> at org.apache.synapse.mediators.AbstractListMediator.mediate(Ab >>>> stractListMediator.java:54) >>>> at org.apache.synapse.mediators.base.SequenceMediator.mediate(S >>>> equenceMediator.java:158) >>>> at org.apache.synapse.core.axis2.ProxyServiceMessageReceiver.re >>>> ceive(ProxyServiceMessageReceiver.java:210) >>>> at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:180) >>>> at org.apache.synapse.transport.passthru.ServerWorker.processEn >>>> tityEnclosingRequest(ServerWorker.java:398) >>>> at org.apache.synapse.transport.passthru.ServerWorker.run(Serve >>>> rWorker.java:145) >>>> at org.apache.axis2.transport.base.threads.NativeWorkerPool$1.r >>>> un(NativeWorkerPool.java:172) >>>> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPool >>>> Executor.java:1145) >>>> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoo >>>> lExecutor.java:615) >>>> at java.lang.Thread.run(Thread.java:745) >>>> >>>> *4. Error in using insert-before() function* >>>> >>>> >>>> According to https://docs.marklogic.com/fn:insert-before if the >>>> function written as >>>> fn:insert-before('a', 0, 'x'), then it gives the below error when >>>> invoking the service >>>> >>>> If the position casts to xs:integer as fn:insert-before('a', >>>> xs:integer(0), 'x') and invoke the service then the result only has 'x' but >>>> the expected result should be 'x,a' >>>> >>>> >>>> [2016-08-02 14:39:23,625] ERROR - SynapseXPath Evaluation of the XPath >>>> expression fn:insert-before('a', 1, 'x') resulted in an error >>>> ; Line#: 1; Column#: -1 >>>> net.sf.saxon.trans.XPathException: Required item type of second >>>> argument of fn:insert-before() is xs:integer; supplied value has item type >>>> xs:decimal >>>> at net.sf.saxon.expr.parser.TypeChecker.staticTypeCheck(TypeChe >>>> cker.java:404) >>>> at net.sf.saxon.functions.SystemFunction.checkArgument(SystemFu >>>> nction.java:117) >>>> at net.sf.saxon.functions.SystemFunction.checkArguments(SystemF >>>> unction.java:100) >>>> at net.sf.saxon.expr.FunctionCall.typeCheck(FunctionCall.java:1 >>>> 34) >>>> at net.sf.saxon.expr.parser.ExpressionVisitor.typeCheck(Express >>>> ionVisitor.java:206) >>>> at net.sf.saxon.xpath.XPathEvaluator.createExpressionInternal(X >>>> PathEvaluator.java:239) >>>> at net.sf.saxon.xpath.XPathEvaluator.compile(XPathEvaluator.jav >>>> a:376) >>>> at org.apache.synapse.util.xpath.SynapseXPath.evaluateDOMXPath( >>>> SynapseXPath.java:532) >>>> at org.apache.synapse.util.xpath.SynapseXPath.stringValueOf(Syn >>>> apseXPath.java:367) >>>> at org.apache.synapse.mediators.MediatorProperty.getEvaluatedEx >>>> pression(MediatorProperty.java:138) >>>> at org.apache.synapse.mediators.builtin.LogMediator.setCustomPr >>>> operties(LogMediator.java:223) >>>> at org.apache.synapse.mediators.builtin.LogMediator.getCustomLo >>>> gMessage(LogMediator.java:146) >>>> at org.apache.synapse.mediators.builtin.LogMediator.getLogMessa >>>> ge(LogMediator.java:132) >>>> at org.apache.synapse.mediators.builtin.LogMediator.mediate(Log >>>> Mediator.java:101) >>>> at org.apache.synapse.mediators.AbstractListMediator.mediate(Ab >>>> stractListMediator.java:97) >>>> at org.apache.synapse.mediators.AbstractListMediator.mediate(Ab >>>> stractListMediator.java:54) >>>> at org.apache.synapse.mediators.base.SequenceMediator.mediate(S >>>> equenceMediator.java:158) >>>> at org.apache.synapse.core.axis2.ProxyServiceMessageReceiver.re >>>> ceive(ProxyServiceMessageReceiver.java:210) >>>> at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:1 >>>> 80) >>>> at org.apache.synapse.transport.passthru.ServerWorker.processEn >>>> tityEnclosingRequest(ServerWorker.java:398) >>>> at org.apache.synapse.transport.passthru.ServerWorker.run(Serve >>>> rWorker.java:145) >>>> at org.apache.axis2.transport.base.threads.NativeWorkerPool$1.r >>>> un(NativeWorkerPool.java:172) >>>> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPool >>>> Executor.java:1145) >>>> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoo >>>> lExecutor.java:615) >>>> at java.lang.Thread.run(Thread.java:745) >>>> >>>> >>>> >>>> *5. nilled() function always gives the result as false* >>>> >>>> ref: http://www.xqueryfunctions.com/xq/fn_nilled.html >>>> >>>> payload: >>>> >>>> <root xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> >>>> <child>12</child> <child xsi:nil="true"></child> <child></child> <child/> >>>> <child xsi:nil="false"></child> </root> >>>> >>>> function: fn:nilled(//child[1]) >>>> >>>> For all child elements it gives false ( even for the elements which has >>>> xsi:nil) >>>> >>>> >>>> *6. root() function does not give the root element* >>>> >>>> ref:http://www.xqueryfunctions.com/xq/fn_root.html >>>> >>>> payload: >>>> >>>> <a> >>>> <x>123</x> >>>> </a> >>>> >>>> function: fn:root(//x) >>>> >>>> result : 123 >>>> >>>> expected result : >>>> <a> >>>> <x>123</x> >>>> </a> >>>> >>>> >>>> *7. Using the function static-base-uri()* >>>> >>>> ref: http://www.xqueryfunctions.com/xq/fn_static-base-uri.html >>>> >>>> Can someone please mention how to define the function and the usage? >>>> >>>> >>>> >>>> *8. Using the function unordered()* >>>> >>>> ref: https://docs.marklogic.com/fn.unordered >>>> >>>> payload : >>>> >>>> <a> >>>> <x>1</x> >>>> <x>2</x> >>>> <x>3</x> >>>> </a> >>>> >>>> function: fn:unordered(//x) >>>> >>>> result : 1 >>>> >>>> Can someone please explain the usage of this function? it seems the >>>> expected result should be a sequence of items >>>> >>>> >>>> >>>> >>>> -more information on the testing results can be found at [4] >>>> >>>> -Further, when going through the functions at [1] it seems below >>>> functions are only supported for XSLT ( I guess we don't need to support >>>> those functions when considering the XPath 2.0 functions, please correct me >>>> if I'm wrong) >>>> >>>> ref: https://docs.marklogic.com/fn >>>> >>>> functions: >>>> >>>> - current >>>> - current-group >>>> - current-grouping-key >>>> - document >>>> - element-available >>>> - function-available >>>> - generate-id(http://www.xsltfunctions.com/xsl/fn_generate-id.html) >>>> - regex-group >>>> - system-property >>>> - type-available >>>> - unparsed-entity-public-id >>>> - unparsed-entity-uri >>>> - unparsed-text >>>> - unparsed-text-available >>>> >>>> >>>> - XPath 3.0 functions listed at [1] >>>> >>>> acos ,analyze-string,asin,atan,ata2,available-environment-variables,cos >>>> ,element-with-id,environment-variable,exp,exp10,filter,fold-left, >>>> fold-right,format-integer,function-arity,function-lookup,function-name, >>>> has-children,head,innermost,log,log10,map,map-pairs,outermost,parse- >>>> json,parse-xml ,path,pi,pow,round,serialize,serialize-json,sin,sqrt, >>>> tail,tan,unparsed-text-lines,uri-collection >>>> >>>> >>>> >>>> [1] http://www.saxonica.com/html/documentation9.4/functions/ >>>> [2] http://www.xqueryfunctions.com/ >>>> [3] https://docs.marklogic.com/js/fn >>>> [4] https://docs.google.com/a/wso2.com/spreadsheets/d/1LLVST >>>> AGrqpouQIkt1p3dRx5_wqjuUa58QnKd7gbgQTU/edit?usp=sharing >>>> >>>> Thanks, >>>> Sohani >>>> >>>> Sohani Weerasinghe >>>> Senior Software Engineer >>>> WSO2, Inc: http://wso2.com >>>> >>>> Mobile : +94 716439774 >>>> Blog :http://christinetechtips.blogspot.com/ >>>> Twitter : https://twitter.com/sohanichristine >>>> >>>> On Mon, Aug 1, 2016 at 4:28 PM, Sohani Weerasinghe <soh...@wso2.com> >>>> wrote: >>>> >>>>> According to [1] if I test the distinct-values function,it behaves as >>>>> explained below: >>>>> >>>>> >>>>> 1. If I use a rest mock service to get the response and then get the >>>>> distinct values : >>>>> >>>>> Rest mock service response: >>>>> >>>>> <catalog xml:base="http://example.org/ACC/"> <product dept="WMN"> >>>>> *<number>557</number> >>>>> <number>44</number>* >>>>> *<number>44</number>* </product> </catalog> >>>>> >>>>> Rest API: >>>>> >>>>> <api xmlns="http://ws.apache.org/ns/synapse" name="sample123" >>>>> context="/test123"> <resource methods="POST GET"> <inSequence> <send> >>>>> <endpoint> <address uri="http://localhost:8080/getResult"/> >>>>> </endpoint> </send> </inSequence> <outSequence> <log level="custom"> >>>>> <property xmlns:fn="http://www.w3.org/2005/xpath-functions" xmlns:ns=" >>>>> http://org.apache.synapse/xsd" xmlns:base="http://test" >>>>> name="testValue" *expression="fn:**distinct-values**(//product/*)"/*> >>>>> </log> </outSequence> </resource> </api> >>>>> >>>>> >>>>> Then expected result is : *557, 44* >>>>> >>>>> But I am getting only *557* >>>>> >>>>> Am I missing something here? >>>>> >>>>> 2. If I directly use this function as below >>>>> >>>>> <proxy xmlns="http://ws.apache.org/ns/synapse" >>>>> name="testProxy" >>>>> transports="http https" >>>>> startOnLoad="true"> >>>>> <description/> >>>>> <target> >>>>> <inSequence> >>>>> <log level="custom"> >>>>> <property xmlns:fn="http://www.w3.org/2005/xpath-functions >>>>> " >>>>> xmlns:xs="http://www.w3.org/2001/XMLSchema" >>>>> xmlns:ns="http://org.apache.synapse/xsd" >>>>> name="testValue" >>>>> expression="*fn:**distinct-values**(('a', 'b', >>>>> 'a'))*"/> >>>>> </log> >>>>> </inSequence> >>>>> <outSequence/> >>>>> </target> >>>>> </proxy> >>>>> >>>>> Then I'm getting the exception "invalid XPapth expression" in saving >>>>> the proxy >>>>> >>>>> But according to [1] it seems both ways are correct >>>>> >>>>> >>>>> [1] http://www.xqueryfunctions.com/xq/fn_distinct-values.html >>>>> >>>>> Thanks, >>>>> Sohani >>>>> >>>>> Sohani Weerasinghe >>>>> Senior Software Engineer >>>>> WSO2, Inc: http://wso2.com >>>>> >>>>> Mobile : +94 716439774 >>>>> Blog :http://christinetechtips.blogspot.com/ >>>>> Twitter : https://twitter.com/sohanichristine >>>>> >>>>> On Mon, Aug 1, 2016 at 3:54 PM, Sohani Weerasinghe <soh...@wso2.com> >>>>> wrote: >>>>> >>>>>> >>>>>> >>>>>> >>>>>> Sohani Weerasinghe >>>>>> Senior Software Engineer >>>>>> WSO2, Inc: http://wso2.com >>>>>> >>>>>> Mobile : +94 716439774 >>>>>> Blog :http://christinetechtips.blogspot.com/ >>>>>> Twitter : https://twitter.com/sohanichristine >>>>>> >>>>>> On Mon, Aug 1, 2016 at 1:28 PM, Sohani Weerasinghe <soh...@wso2.com> >>>>>> wrote: >>>>>> >>>>>>> Hi All, >>>>>>> >>>>>>> It seems, the " Invalid XPapth expression" comes when we use two >>>>>>> brackets in the function as below >>>>>>> >>>>>> >>>>>> >>>>>> While I was testing further I found that below function works >>>>>> perfectly even it has two brackets, so that means the syntax of the above >>>>>> mentioned functions are correct. >>>>>> >>>>>> So, are these functions not supported in ESB? Appreciate your input >>>>>> on this >>>>>> >>>>>> fn:dateTime(xs:date('2006-08-15'), xs:time('12:30:45-05:00')) >>>>>> >>>>>> >>>>>>> fn:codepoints-to-string(*(*2309, 2358, 2378, 2325*)*) >>>>>>> fn:string-join(('a', 'c'), 'bbb') >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> Sohani Weerasinghe >>>>>>> Senior Software Engineer >>>>>>> WSO2, Inc: http://wso2.com >>>>>>> >>>>>>> Mobile : +94 716439774 >>>>>>> Blog :http://christinetechtips.blogspot.com/ >>>>>>> Twitter : https://twitter.com/sohanichristine >>>>>>> >>>>>>> On Mon, Aug 1, 2016 at 12:06 PM, Sohani Weerasinghe <soh...@wso2.com >>>>>>> > wrote: >>>>>>> >>>>>>>> Hi All, >>>>>>>> >>>>>>>> I am validating the Xpath 2.0 functions support in ESB ( please >>>>>>>> refer [1]) and I am using below configuration in defining 'avg' >>>>>>>> function >>>>>>>> (Referred [2]), but it seems I am using the wrong syntax. >>>>>>>> >>>>>>>> <property xmlns:fn="http://www.w3.org/2005/xpath-functions" >>>>>>>> xmlns:test="http://test" >>>>>>>> xmlns:ns="http://org.apache.synapse/xsd" >>>>>>>> name="testValue" >>>>>>>> * expression="fn:avg((3,4,5))"/>* >>>>>>>> >>>>>>>> Can someone please point the correct syntax? >>>>>>>> >>>>>>>> Since avg function requires a single parameter, is there a way to >>>>>>>> define the integer values externally ( may be using a property >>>>>>>> mediator ) >>>>>>>> and use it inside the function ? >>>>>>>> >>>>>>>> If this syntax is correct, is this function not supported in ESB? >>>>>>>> >>>>>>>> Really appreciate your input on this >>>>>>>> >>>>>>>> FYI: When saving the proxy, I'm getting below exception: >>>>>>>> >>>>>>>> [2016-08-01 11:41:11,718] ERROR - ProxyServiceAdmin Unable to save >>>>>>>> changes made for the proxy service : testProxy. Restored the existing >>>>>>>> proxy... :: Invalid XPapth expression : fn:avg((3,4,5)) >>>>>>>> org.apache.synapse.SynapseException: Invalid XPapth expression : >>>>>>>> fn:avg((3,4,5)) >>>>>>>> at org.apache.synapse.config.xml.MediatorPropertyFactory.getMed >>>>>>>> iatorProperties(MediatorPropertyFactory.java:106) >>>>>>>> at org.apache.synapse.config.xml.LogMediatorFactory.createSpeci >>>>>>>> ficMediator(LogMediatorFactory.java:111) >>>>>>>> ....... >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> [1] Xpath 2.0.0 functions supported by ESB >>>>>>>> [2] https://www.w3.org/TR/xpath-functions/#func-avg >>>>>>>> Sohani Weerasinghe >>>>>>>> Senior Software Engineer >>>>>>>> WSO2, Inc: http://wso2.com >>>>>>>> >>>>>>>> Mobile : +94 716439774 >>>>>>>> Blog :http://christinetechtips.blogspot.com/ >>>>>>>> Twitter : https://twitter.com/sohanichristine >>>>>>>> >>>>>>> >>>>>>> >>>>>> >>>>> >>>> >>> >>> >>> -- >>> Regards, >>> *Shafreen* >>> Software Engineer >>> WSO2 Inc >>> Mobile : 077-556-395-1 >>> >> >> > > > -- > Regards, > *Shafreen* > Software Engineer > WSO2 Inc > Mobile : 077-556-395-1 >
_______________________________________________ Dev mailing list Dev@wso2.org http://wso2.org/cgi-bin/mailman/listinfo/dev