Here i have added class mediator code and sample synapse configuration to get carbon server home property. To test this create java project and add following class mediator code file to /repository/components/lib directory and add following synapse configuration to source view. Then you can invoke created proxy service.
Class mediator code.
package main.java.org.wso2.carbon.custommediator;
import org.apache.synapse.MessageContext;
import org.apache.synapse.core.axis2.Axis2MessageContext;
import org.apache.synapse.mediators.AbstractMediator;
public class SampleCustomMediator extends AbstractMediator {
public boolean mediate(MessageContext synapseMsgContext) {
String carbonHome = System.getProperty("carbon.home");
log.info("Carbon Home is : "+carbonHome);
synapseMsgContext.setProperty("CARBON_HOME", carbonHome);
return true;
}
Synapse configuration.
You can invoke create proxy service by calling following URL
https://130.76.202.98:9443/services/EchoProxyTest
Then you will get following response.
Class mediator code.
package main.java.org.wso2.carbon.custommediator;
import org.apache.synapse.MessageContext;
import org.apache.synapse.core.axis2.Axis2MessageContext;
import org.apache.synapse.mediators.AbstractMediator;
public class SampleCustomMediator extends AbstractMediator {
public boolean mediate(MessageContext synapseMsgContext) {
String carbonHome = System.getProperty("carbon.home");
log.info("Carbon Home is : "+carbonHome);
synapseMsgContext.setProperty("CARBON_HOME", carbonHome);
return true;
}
Synapse configuration.
<proxy name="EchoProxyTest" transports="https http" startOnLoad="true" trace="disable"> <target> <inSequence> <class name="main.java.org.wso2.carbon.custommediator.SampleCustomMediator"/> <sequence key="responseTest"/> </inSequence> <outSequence> <send/> </outSequence> </target> </proxy> <sequence name="responseTest"> <script language="js">var carbonHome = mc.getProperty("CARBON_HOME"); var carbonHomeTest = "sanjeewa"; mc.setPayloadXML(<serverHome>{carbonHome}</serverHome>);</script> <header name="To" action="remove"/> <property name="NO_ENTITY_BODY" scope="axis2" action="remove"/> <property name="RESPONSE" value="true"/> <send/> <log level="full"/> </sequence>
You can invoke create proxy service by calling following URL
https://130.76.202.98:9443/services/EchoProxyTest
Then you will get following response.
<serverHome>/home/sanjeewa/work/packs/wso2esb-4.8.0</serverHome>
No comments:
Post a Comment