0

WSO2 开发人员工作室 3.6.0 从代理服务或序列或休息 API 将在构建后从 XPATH 变量(如 $ctx、$trp、$body 等)中删除 $。请建议我如何解决此问题或解决此问题。

示例序列

<sequence xmlns="http://ws.apache.org/ns/synapse" name="XMFSequence">
<property xmlns:ns="http://org.apache.synapse/xsd" xmlns:np1="http://ws.apache.org/commons/ns/payload" xmlns:np="http://schemas.xmlsoap.org/soap/envelope/" xmlns:np2="http://services.www.up.com/xmf/2.0" name="serviceName" expression="//np:Envelope/np:Header/np2:request-header/np2:service-name" scope="default" type="STRING"/>
<property xmlns:ns="http://org.apache.synapse/xsd" xmlns:fn="http://www.w3.org/2005/xpath-functions" name="localEntryName" expression="fn:replace($ctx:serviceName,'/','-')" scope="default" type="STRING"/>
<property xmlns:ns="http://org.apache.synapse/xsd" name="contractEnforcedVal" expression="get-property(get-property('localEntryName'))" scope="default" type="STRING"/>
<filter xmlns:ns="http://org.apache.synapse/xsd" xpath="fn:contains(get-property('contractEnforcedVal'),$trp:XMFRequestor)">
    <then>

        <filter xpath="fn:contains(get-property('contractEnforcedVal'),'isSecured=true')">
            <then>
                <class name="com.uprr.app.poc.esb.mediator.RequestHandler">
                    <property name="secValServiceURL" value="http://localhost:9080/SecurityService/secure-util"/>
                </class>
                <filter xpath="fn:contains(get-property('isAuthorized'),'true')">
                    <then>

                        <send>
                            <endpoint key-expression="get-property('serviceName')"/>
                        </send>
                    </then>
                    <else>

                        <drop/>
                    </else>
                </filter>
            </then>
            <else>
                <send>
                    <endpoint key-expression="get-property('serviceName')"/>
                </send>
            </else>
        </filter>
    </then>
    <else>

        <drop/>
    </else>
</filter>

4

1 回答 1

0

请在 CAPP 的 pom 文件中检查 maven-car-plugin 的版本。应该是 2.0.8 如下图

    <groupId>org.wso2.maven</groupId>
    <artifactId>maven-car-plugin</artifactId>
    <version>2.0.8</version>

还要确保 ESB 项目的 pom 文件包含 2.0.8 版本作为序列插件版本

    <groupId>org.wso2.maven</groupId>
    <artifactId>wso2-esb-sequence-plugin</artifactId>
    <version>2.0.8</version>
于 2014-07-23T06:12:49.190 回答