hi working wso2 esb 4.7.0
i have created simple proxy , used class mediator add couple of nums shown below.
<proxy xmlns="http://ws.apache.org/ns/synapse" name="add_class" transports="https http" startonload="true" trace="disable"> <description/> <target> <insequence> <property name="messagetype" value="application/json" scope="axis2" type="string"/> <property name="contenttype" value="application/json" scope="axis2"/> <property name="force_error_on_soap_fault" value="true"/> <property name="maths" expression="//maths/text()"/> <property name="eng" expression="//eng/text()"/> <property name="hindi" expression="//hindi/text()"/> <log level="custom"> <property name="loglocation" value="add_class"/> </log> <class name="org.example.mediator.mailesb"/> <filter xpath="get-property('toatalmarks')=''"> <then> <payloadfactory media-type="xml"> <format> <responsejson xmlns=""> <body> <datalist>toatalmarks not found</datalist> </body> <status>404</status> </responsejson> </format> <args/> </payloadfactory> <log level="custom"> <property name="loglocation" value="add_class"/> <property name="toatalmarks" expression="get-property('toatalmarks')"/> </log> <send/> </then> <else> <payloadfactory media-type="xml"> <format> <responsejson xmlns=""> <body> <datalist>toatalmarks of subjets is</datalist> <sum>$1</sum> </body> <status>404</status> </responsejson> </format> <args> <arg evaluator="xml" expression="get-property('toatalmarks')"/> </args> </payloadfactory> <log level="custom"> <property name="loglocation" value="add_class"/> <property name="toatalmarks" expression="get-property('toatalmarks')"/> </log> <send/> </else> </filter> </insequence> <outsequence> <send/> </outsequence> </target> </proxy> class:
package org.example.mediator; import java.util.map; import java.util.properties; import java.util.iterator; import java.util.set; import javax.mail.message; import javax.mail.passwordauthentication; import javax.mail.session; import javax.mail.transport; import javax.mail.internet.internetaddress; import javax.mail.internet.mimemessage; import org.apache.axiom.om.omabstractfactory; import org.apache.axiom.om.omelement; import org.apache.axiom.om.omnode; import org.apache.axiom.om.omtext; import org.apache.axiom.om.xpath.axiomxpath; import org.apache.axiom.soap.soapbody; import org.apache.axiom.soap.soapenvelope; import org.apache.axiom.soap.soapfactory; import org.apache.synapse.managedlifecycle; import org.apache.synapse.messagecontext; import org.apache.synapse.config.synapseconfiguration; import org.apache.synapse.core.synapseenvironment; import org.apache.synapse.mediators.abstractmediator; import org.apache.synapse.core.axis2.axis2messagecontext; import org.apache.commons.logging.log; import org.apache.commons.logging.logfactory; public class mailesb extends abstractmediator implements managedlifecycle { public boolean mediate(messagecontext synctx) { log.info("loglocation = "+getclass().getname()+",proxyname = "+synctx.getproperty("proxy.name")+ ",usercode = "+synctx.getproperty("usercode")+",clientid = "+synctx.getproperty("clientid")+ ",position = start"); try { string eng=""+synctx.getproperty("eng"); string maths=""+synctx.getproperty("maths"); string hindi=""+synctx.getproperty("hindi"); int t= integer.parseint(eng) + integer.parseint(maths) + integer.parseint(hindi); synctx.setproperty("toatalmarks", t); log.info("loglocation = "+getclass().getname()+", total of subjects is= " +t); } catch (exception e) { log.info( "loglocation = "+getclass().getname()+", mail sending exception: "+e+e.getmessage()); } return true; } @override public void destroy() { // todo auto-generated method stub } @override public void init(synapseenvironment arg0) { // todo auto-generated method stub } } i have defined logs in class code reflect in wso2 esb server failing so....
thanks!!
you need change class proper logger,
"private static final log log = logfactory.getlog(mailesb.class);"
so can manage logs , exceptions should
log.error not log.info
Comments
Post a Comment