0
프록시 서비스 또는 시퀀스 또는 나머지 API에서 WSO2 개발자 스튜디오 3.6.0은 빌드 후 $ ctx, $ trp, $ body 등의 XPATH 변수에서 $를 제거합니다. 이 문제를 해결하거나이 문제를 해결하는 방법을 알려주십시오.
예를 순서
<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>