记录时 WSO2 缺失值 属性
WSO2 missing value when logging property
我目前遇到以下问题。
目标 1:获取日志中的 URL
目标 2 在发送中介中使用它
你们能帮我解决这两个问题吗?
XML 文件:
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Header>
<meta:MetaDataType xmlns:meta="http://teswt.nl/xmlschemas/meeeeta/0.1">
<meta:Version>6.3</meta:Version>
<meta:FixLevel>0.0</meta:FixLevel>
<meta:Endpoint>http://555.555.555.55:8088/sal</meta:Endpoint>
</meta:MetaDataType>
</soap:Header>
目前代理序列中的代码:
<property xmlns:meta="http://teswt.nl/xmlschemas/meeeeta/0.1" expression="$header//meta:MetaDataType/meta:Endpoint" name="URL" scope="default" type="STRING"/>
<log level="custom">
<property xmlns:meta="http://teswt.nl/xmlschemas/meeeeta/0.1" expression="get-property('URL')" name="URL"/>
</log>
<send>
<endpoint>
<address format="soap11" uri="http://555.555.555.55:8088/sal"/>
</endpoint>
</send>
它打印以下内容:
INFO {org.apache.synapse.mediators.builtin.LogMediator} - URL =
我已经在 EI 6.6.0 服务器中测试了给定的请求和 XPath 表达式,我可以观察到 XPath 正在按预期工作并记录 URL。
请求
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope">
<soap:Header>
<meta:MetaDataType xmlns:meta="http://teswt.nl/xmlschemas/meeeeta/0.1">
<meta:Version>6.3</meta:Version>
<meta:FixLevel>0.0</meta:FixLevel>
<meta:Endpoint>http://555.555.555.55:8088/sal</meta:Endpoint>
</meta:MetaDataType>
</soap:Header>
<soap:Body/>
</soap:Envelope>
代理服务
<?xml version="1.0" encoding="UTF-8"?>
<proxy xmlns="http://ws.apache.org/ns/synapse"
name="test"
startOnLoad="true"
statistics="disable"
trace="disable"
transports="http,https">
<target>
<inSequence>
<property xmlns:meta="http://teswt.nl/xmlschemas/meeeeta/0.1"
expression="$header//meta:MetaDataType/meta:Endpoint"
name="URL"
scope="default"
type="STRING"/>
<log level="custom">
<property xmlns:meta="http://teswt.nl/xmlschemas/meeeeta/0.1"
expression="get-property('URL')"
name="URL"/>
</log>
</inSequence>
</target>
<description/>
</proxy>
能否请您启用线路日志并检查该服务是否收到了所需的请求。您还可以在提取 URL 之前添加一个 <log level="full"/>
以检查收到的有效负载。
另外,你用的是什么EI版本
我目前遇到以下问题。
目标 1:获取日志中的 URL
目标 2 在发送中介中使用它
你们能帮我解决这两个问题吗?
XML 文件:
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Header>
<meta:MetaDataType xmlns:meta="http://teswt.nl/xmlschemas/meeeeta/0.1">
<meta:Version>6.3</meta:Version>
<meta:FixLevel>0.0</meta:FixLevel>
<meta:Endpoint>http://555.555.555.55:8088/sal</meta:Endpoint>
</meta:MetaDataType>
</soap:Header>
目前代理序列中的代码:
<property xmlns:meta="http://teswt.nl/xmlschemas/meeeeta/0.1" expression="$header//meta:MetaDataType/meta:Endpoint" name="URL" scope="default" type="STRING"/>
<log level="custom">
<property xmlns:meta="http://teswt.nl/xmlschemas/meeeeta/0.1" expression="get-property('URL')" name="URL"/>
</log>
<send>
<endpoint>
<address format="soap11" uri="http://555.555.555.55:8088/sal"/>
</endpoint>
</send>
它打印以下内容:
INFO {org.apache.synapse.mediators.builtin.LogMediator} - URL =
我已经在 EI 6.6.0 服务器中测试了给定的请求和 XPath 表达式,我可以观察到 XPath 正在按预期工作并记录 URL。
请求
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope">
<soap:Header>
<meta:MetaDataType xmlns:meta="http://teswt.nl/xmlschemas/meeeeta/0.1">
<meta:Version>6.3</meta:Version>
<meta:FixLevel>0.0</meta:FixLevel>
<meta:Endpoint>http://555.555.555.55:8088/sal</meta:Endpoint>
</meta:MetaDataType>
</soap:Header>
<soap:Body/>
</soap:Envelope>
代理服务
<?xml version="1.0" encoding="UTF-8"?>
<proxy xmlns="http://ws.apache.org/ns/synapse"
name="test"
startOnLoad="true"
statistics="disable"
trace="disable"
transports="http,https">
<target>
<inSequence>
<property xmlns:meta="http://teswt.nl/xmlschemas/meeeeta/0.1"
expression="$header//meta:MetaDataType/meta:Endpoint"
name="URL"
scope="default"
type="STRING"/>
<log level="custom">
<property xmlns:meta="http://teswt.nl/xmlschemas/meeeeta/0.1"
expression="get-property('URL')"
name="URL"/>
</log>
</inSequence>
</target>
<description/>
</proxy>
能否请您启用线路日志并检查该服务是否收到了所需的请求。您还可以在提取 URL 之前添加一个 <log level="full"/>
以检查收到的有效负载。
另外,你用的是什么EI版本