Hi
I am not able to use javascript funcitons in my rule file.My code is as given below:
function
rule()
{
part1Doc=XQ_getXPath("/smpl:result",1,"smpl=urn:oasis:names:tc:SPML:1:0");partcount = XQMessage.getPartCount();
paramsHashMap =
new java.util.HashMap();
resultxml=
new String();
resultxml=
"<MergedData>";
resultxml=resultxml+XQMessage.getPart(0).getContent();
resultxml=resultxml+XQMessage.getPart(1).getContent();
resultxml=resultxml+
"</MergedData>";
msgpart=XQMessage.createPart(resultxml,
"text/xml");
XQMessage.addPartAt(msgpart,0);
paramsHashMap.put(
"MsgPart", XQMessage.addPart(msgpart));
java.lang.System.out.println(
" Number of Parts :" +paramsHashMap);
resultArray =
new java.util.ArrayList();
resultArray.add(
"sonicfs:///workspace/OHRSMPL/MergeXML.xsl");
resultArray.add(
new java.lang.Integer(1));
resultArray.add(paramsHashMap);
return resultArray;
}
I have added this js as a parameter in xslt and have give jsHelper.js in js library.
I get following error when i try to run this process:
com.sonicsw.xq.XQServiceException: (Desired evaluation could not be performed: JavaScript Error: Class org.mozilla.javascript.NativeJavaMethod can not access a member of class com.sonicsw.xqimpl.service.XQServiceChain$XQServiceContextWrapper with modifiers "public" (JavaScript Error: Class org.mozilla.javascript.NativeJavaMethod can not access a member of class com.sonicsw.xqimpl.service.XQServiceChain$XQServiceContextWrapper with modifiers "public") (Desired evaluation could not be performed: JavaScript Error: Class org.mozilla.javascript.NativeJavaMethod can not access a member of class com.sonicsw.xqimpl.service.XQServiceChain$XQServiceContextWrapper with modifiers "public" (JavaScript Error: Class org.mozilla.javascript.NativeJavaMethod can not access a member of class com.sonicsw.xqimpl.service.XQServiceChain$XQServiceContextWrapper with modifiers "public"))) (Desired evaluation could not be performed: JavaScript Error: Class org.mozilla.javascript.NativeJavaMethod can not access a member of class com.sonicsw.xqimpl.service.XQServiceChain$XQServiceContextWrapper with modifiers "public" (JavaScript Error: Class org.mozilla.javascript.NativeJavaMethod can not access a member of class com.sonicsw.xqimpl.service.XQServiceChain$XQServiceContextWrapper with modifiers "public") (Desired evaluation could not be performed: JavaScript Error: Class org.mozilla.javascript.NativeJavaMethod can not access a member of class com.sonicsw.xqimpl.service.XQServiceChain$XQServiceContextWrapper with modifiers "public" (JavaScript Error: Class org.mozilla.javascript.NativeJavaMethod can not access a member of class com.sonicsw.xqimpl.service.XQServiceChain$XQServiceContextWrapper with modifiers "public")) (Desired evaluation could not be performed: JavaScript Error: Class org.mozilla.javascript.NativeJavaMethod can not access a member of class com.sonicsw.xqimpl.service.XQServiceChain$XQServiceContextWrapper with modifiers "public" (JavaScript Error: Class org.mozilla.javascript.NativeJavaMethod can not access a member of class com.sonicsw.xqimpl.service.XQServiceChain$XQServiceContextWrapper with modifiers "public") (JavaScript Error: Class org.mozilla.javascript.NativeJavaMethod can not access a member of class com.sonicsw.xqimpl.service.XQServiceChain$XQServiceContextWrapper with modifiers "public"))) at com.sonicsw.xq.service.common.RulesProcessor.evaluate(RulesProcessor.java:305) at com.sonicsw.xq.service.common.RulesProcessor.processRules(RulesProcessor.java:133) at com.sonicsw.xq.service.xform.Xformer.processRules(Xformer.java:166) at com.sonicsw.xq.service.xform.TransformationService.service(TransformationService.java:86) at com.sonicsw.xqimpl.service.debug.DebugServiceInterceptor.intercept(DebugServiceInterceptor.java:118) at com.sonicsw.xqimpl.service.XQServiceChain$XQInterceptorServiceWrapper.intercept(XQServiceChain.java:481) at com.sonicsw.xqimpl.service.XQServiceChain$XQInterceptorServiceWrapper.service(XQServiceChain.java:470) at com.sonicsw.xqimpl.service.XQServiceChain.service(XQServiceChain.java:151) at com.sonicsw.xqimpl.service.ServiceMessageHandler.callService(ServiceMessageHandler.java:413) at com.sonicsw.xqimpl.service.ServiceMessageHandler.handleMessage(ServiceMessageHandler.java:182) at com.sonicsw.xqimpl.service.ProcessMessageHandler.doHandleMessage(ProcessMessageHandler.java:308) at com.sonicsw.xqimpl.service.ProcessMessageHandler.handleMessage(ProcessMessageHandler.java:90) at com.sonicsw.xqimpl.service.XQDispatcher.onMessage(XQDispatcher.java:422) at com.sonicsw.xqimpl.endpoint.container.EndpointContextContainer.onMessage(EndpointContextContainer.java:84) at com.sonicsw.xq.connector.jms.JMSEndpoint$JMSEndpointListener.onMessage(JMSEndpoint.java:570) at progress.message.jimpl.Session.deliver(Session.java:2998) at progress.message.jimpl.Session.run(Session.java:2390) at progress.message.jimpl.Session$SessionThread.run(Session.java:2775) Caused by: com.sonicsw.xq.rules.EvaluatorException: Desired evaluation could not be performed: JavaScript Error: Class org.mozilla.javascript.NativeJavaMethod can not access a member of class com.sonicsw.xqimpl.service.XQServiceChain$XQServiceContextWrapper with modifiers "public" (JavaScript Error: Class org.mozilla.javascript.NativeJavaMethod can not access a member of class com.sonicsw.xqimpl.service.XQServiceChain$XQServiceContextWrapper with modifiers "public") (Desired evaluation could not be performed: JavaScript Error: Class org.mozilla.javascript.NativeJavaMethod can not access a member of class com.sonicsw.xqimpl.service.XQServiceChain$XQServiceContextWrapper with modifiers "public" (JavaScript Error: Class org.mozilla.javascript.NativeJavaMethod can not access a member of class com.sonicsw.xqimpl.service.XQServiceChain$XQServiceContextWrapper with modifiers "public")) (Desired evaluation could not be performed: JavaScript Error: Class org.mozilla.javascript.NativeJavaMethod can not access a member of class com.sonicsw.xqimpl.service.XQServiceChain$XQServiceContextWrapper with modifiers "public" (JavaScript Error: Class org.mozilla.javascript.NativeJavaMethod can not access a member of class com.sonicsw.xqimpl.service.XQServiceChain$XQServiceContextWrapper with modifiers "public") (JavaScript Error: Class org.mozilla.javascript.NativeJavaMethod can not access a member of class com.sonicsw.xqimpl.service.XQServiceChain$XQServiceContextWrapper with modifiers "public")) at com.sonicsw.xq.service.common.ScriptEvaluator.evaluateRule(ScriptEvaluator.java:327) at com.sonicsw.xq.service.common.RulesProcessor.evaluate(RulesProcessor.java:296) ... 17 more Caused by: com.sonicsw.xq.rules.EvaluatorException: Desired evaluation could not be performed: JavaScript Error: Class org.mozilla.javascript.NativeJavaMethod can not access a member of class com.sonicsw.xqimpl.service.XQServiceChain$XQServiceContextWrapper with modifiers "public" (JavaScript Error: Class org.mozilla.javascript.NativeJavaMethod can not access a member of class com.sonicsw.xqimpl.service.XQServiceChain$XQServiceContextWrapper with modifiers "public") (JavaScript Error: Class org.mozilla.javascript.NativeJavaMethod can not access a member of class com.sonicsw.xqimpl.service.XQServiceChain$XQServiceContextWrapper with modifiers "public") at com.sonicsw.xq.service.common.ScriptEvaluator.evaluateRule(ScriptEvaluator.java:305) ... 18 more Caused by: com.ibm.bsf.BSFException: JavaScript Error: Class org.mozilla.javascript.NativeJavaMethod can not access a member of class com.sonicsw.xqimpl.service.XQServiceChain$XQServiceContextWrapper with modifiers "public" at com.ibm.bsf.engines.javascript.JavaScriptEngine.handleError(JavaScriptEngine.java:182) at com.ibm.bsf.engines.javascript.JavaScriptEngine.eval(JavaScriptEngine.java:87) at com.sonicsw.xq.service.common.ScriptEvaluator.evaluateRule(ScriptEvaluator.java:301) ... 18 more
I have also tried to use other js functions in the package but get the same error.
can someone please help to get around this?
Thanks
Chinmay
I guess i screwed up with my environment .I reinstalled sonic and it worked fine.
Thanks
Chinmay