Skip to content

Instantly share code, notes, and snippets.

@mmdemirbas mmdemirbas/main.xml
Created Apr 8, 2013

Embed
What would you like to do?
WSO2 ESB + ClientAccesPolicy.xml + CrossDomain.xml Link: http://www.mmdemirbas.com/2013/04/wso2-esb-clientaccespolicyxml.html
<?xml version="1.0" encoding="UTF-8"?>
<sequence xmlns="http://ws.apache.org/ns/synapse" name="main" trace="disable">
<in>
<log level="headers">
<property name="?" value="[main] in: started"/>
<property xmlns:ns="http://org.apache.synapse/xsd"
name="To"
expression="get-property('To')"/>
<property xmlns:ns="http://org.apache.synapse/xsd" name="PAYLOAD" expression="/*"/>
</log>
<switch xmlns:ns="http://org.apache.synapse/xsd" source="get-property('To')">
<case regex="(/services)?/[A-Za-z]+.xml">
<log level="headers">
<property name="?" value="[main] in: File from root requested"/>
<property name="To" expression="get-property('To')"/>
</log>
<switch source="get-property('To')">
<case regex="/services/[A-Za-z]+.xml">
<property name="FileName"
expression="substring-after(get-property('To'), 'services/')"
scope="default"
type="STRING"/>
</case>
<case regex="/[A-Za-z]+.xml">
<property name="FileName"
expression="substring-after(get-property('To'), '/')"
scope="default"
type="STRING"/>
</case>
<default>
<log level="headers">
<property name="?" value="[main] in: unexpected request!"/>
<property name="To" expression="get-property('To')"/>
</log>
<drop/>
</default>
</switch>
<log level="headers">
<property name="?" value="[main] in: File from root requested"/>
<property name="FileName" expression="get-property('FileName')"/>
</log>
<switch source="get-property('FileName')">
<case regex="clientaccesspolicy\.xml">
<script language="js">mc.setPayloadXML(
&lt;?xml version="1.0" encoding="utf-8"?&gt;
&lt;access-policy&gt;
&lt;cross-domain-access&gt;
&lt;policy&gt;
&lt;allow-from http-request-headers="SOAPAction"&gt;
&lt;domain uri="*"/&gt;
&lt;/allow-from&gt;
&lt;grant-to&gt;
&lt;resource path="/" include-subpaths="true"/&gt;
&lt;/grant-to&gt;
&lt;/policy&gt;
&lt;/cross-domain-access&gt;
&lt;/access-policy&gt;);</script>
</case>
<case regex="crossdomain\.xml">
<script language="js">mc.setPayloadXML(
&lt;?xml version="1.0"?&gt;
&lt;!DOCTYPE cross-domain-policy SYSTEM "http://www.macromedia.com/xml/dtds/cross-domain-policy.dtd"&gt;
&lt;cross-domain-policy&gt;
&lt;allow-http-request-headers-from domain="*" headers="SOAPAction,Content-Type"&gt;&lt;/allow&gt;
&lt;/cross-domain-policy&gt;);</script>
</case>
<default>
<log level="headers">
<property name="?" value="[main] in: (?) unknown file requested"/>
<property name="Filename" expression="get-property('FileName')"/>
</log>
<drop/>
</default>
</switch>
<header name="To" action="remove"/>
<property name="NO_ENTITY_BODY" scope="axis2" action="remove"/>
<property name="RESPONSE" value="true"/>
<send/>
</case>
<default>
<log level="headers">
<property name="?" value="[main] in: (?) unknown request"/>
</log>
</default>
</switch>
</in>
<out>
<log level="headers">
<property name="?" value="[main] out: started"/>
<property name="PAYLOAD" expression="//*"/>
</log>
<send/>
<log level="headers">
<property name="?" value="[main] out: ended"/>
</log>
</out>
</sequence>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.