我一直在尝试使用Developer Studio来获取PayloadFactory Mediator来填充表达式get-property(' PropertyName')中的参数。
当我尝试从“设计”切换到“源”视图时,出现以下错误:
无法更新源视图。检测到以下错误。 有关详细信息,请参阅错误日志。
原因:XPathFactory#newInstance()无法为其创建XPathFactory 默认对象模型:http://java.sun.com/jaxp/xpath/dom XPathFactoryConfigurationException: java.util.ServiceConfigurationError:javax.xml.xpath.XPathFactory: bundleresource://1009.fwk1013423070:21 / META-INF /服务/ java.xml.xpath.XPathFactory2: 非法配置文件语法
但是,如果我直接在运行的ESB上编辑PayloadFactory,如下所示,它可以正常工作。
<args>
<arg xmlns:ns="http://org.apache.synapse/xsd" expression="get-property('PropertyName')" evaluator="xml"></arg>
</args>
答案 0 :(得分:2)
当我打字这个问题时,我遇到了答案。我想我会把它发布在这里,以便其他人可以搜索,因为wso2的问题答案比例低于一个可行的社区。 p>
当我设置系统来学习wso2时,我开始安装Java 8,因为java网站表明Java 7正在被强制替换。在安装并运行wso2 ESB之后,我注意到警告不支持Java 8。然后,我安装了Java 7并进行了(我认为)必要的更改以指向基于使用Java 7的所有内容。事实证明,正在运行的ESB已成功切换到Java 7,但Developer Studio却没有。
我最终不得不从系统中删除所有版本的Java并仅重新安装Java 7.之后,Developer Studio对XPath表达式没有任何问题。