如何从注册表资源中读取本地条目的内容

时间:2017-02-20 19:23:09

标签: wso2 wso2esb

我使用本地条目来注册参数而不是在工件中留下固定,我不知道它是不是更好的解决方案。

当我在ESB Config中创建本地条目时,一切正常,但是当我在项目注册表资源中创建时,我无法正确读取。

我使用下面的代码来读取本地条目并写入属性:

<Property description = "SetPPSUserName" expression = "get-property ('registry', 'conf: /local-entries/PPS_Username.xml')" name = "SetPPSUserName" scope = "default" type = "STRING" />

问题是,它加载了本地条目的整个xml内容,而不仅仅是内容,例如属性:

SetPPSUserName = "<localEntry key="PPS_Username" xmlns="​http://ws.apache.org/ns/synapse"><![CDATA [content test blablab]]></ localEntry>"

正确的是:

SetPPSUserName = "content test blablab"

注意:当我将CAR上传到站点时,项目注册表资源的本地条目不会出现在管理控制台的本地条目列表中。

使用谷歌翻译器将葡萄牙语翻译成英语

2 个答案:

答案 0 :(得分:3)

试试这个:

在属性中设置type = OM而不是STRING。

<Property description = "SetPPSUserName" expression = "get-property ('registry', 'conf: /local-entries/PPS_Username.xml')" name = "SetPPSUserName" scope = "default" type = "OM" />

<log level="custom">
<property name="call_testProp" expression="$ctx:SetPPSUserName" type="STRING"/>
</log>

更新1:

我的localEntry在注册表中:

<localEntry key="PPS_Usernamelocal" xmlns="http://ws.apache.org/ns/synapse">
<a>
  <b>TEST</b>
</a>
</localEntry>

我在esb代理中的属性和日志调解器:

 <property name="PPS_Username"
           expression="get-property('registry','conf:/localentries/PPS_Username.xml')"
           scope="default"
           type="OM"/>        
 <log level="custom">
    <property name="PPS_UsernameB" expression="$ctx:PPS_Username//syn:a/syn:b" xmlns:syn="http://ws.apache.org/ns/synapse"/>                                        
 </log>

我的ESB回复:

[2017-02-22 16:21:42,680]  INFO - LogMediator PPS_UsernameB = TEST

答案 1 :(得分:1)

不确定我是否做对了。

如果要访问代理中的注册表资源,则必须执行以下步骤。

1。)创建&#34;注册表资源项目&#34; 2.)添加一个&#34;注册表资源&#34;到那个项目。因为我过去在开发工作室中直接创建资源时遇到了一些问题,所以我总是使用本地磁盘上的内容创建一个测试/ XML文件,然后选择&#34;从文件系统导入&#34;创造资源 3.)为注册资源项目创建一个CAR&#34; 4.)从CAR项目打开pom.xml并更改&#34;服务器角色&#34;到&#34; EnterpriseServiceBus&#34;否则它不会部署到ESB。 5.)导出CAR并将其部署到服务器

然后您就可以像这样在代理内部访问它了。

<property name="registryValue" expression="get-property('registry','gov:/path/property1.txt')"/>

希望有所帮助。