private Object evaluate(OExpression cexp, EvaluationContext ctx, QName type) throws FaultException, EvaluationException {
try {
net.sf.saxon.xpath.XPathFactoryImpl xpf = new net.sf.saxon.xpath.XPathFactoryImpl();
OXPath20ExpressionBPEL20 oxpath20 = ((OXPath20ExpressionBPEL20) cexp);
xpf.setXPathFunctionResolver(new JaxpFunctionResolver(ctx, oxpath20));
xpf.setXPathVariableResolver(new JaxpVariableResolver(ctx, oxpath20));
XPathEvaluator xpe = (XPathEvaluator) xpf.newXPath();
xpe.setNamespaceContext(oxpath20.namespaceCtx);
// Just checking that the expression is valid