Hi Asanka, If I understood your requirement correctly, you can try this out.
In your code, figure out a way to access the xml based or json based custom error response that you generate, so that you can easily assign that value to an OMNode or a JSONObject. Once that is done, using the way we generally access an OMNode or JSONObject, you can simply extract the error message and display the content. Hope this may help. Thanks. *Dilan U. Ariyaratne* Software Engineer WSO2 Inc. <http://wso2.com/> Mobile: +94775149066 lean . enterprise . middleware On Tue, Nov 4, 2014 at 12:22 PM, Senduran Balasubramaniyam < sendu...@wso2.com> wrote: > Hi Asanka, > > Is your requirement to get the final output as json or xml ? > If it is xml then you can change the payload factory media-type to "xml" > > Thanks > Senduran > > On Tue, Nov 4, 2014 at 10:09 AM, Asanka Vithanage <asan...@wso2.com> > wrote: > >> Hi, >> >> I customized API manager main sequence to change the default error >> message according to below format.so now i am getting the error messages as >> below. >> >> *PayloadFactory:* >> >> <property name="ERROR_DETAIL" value="Unsupported Transport. The requested >> resource is not available."/> >> <property name="ERROR_URL_POSTFIX" expression="$axis2:REST_URL_POSTFIX"/> >> <property name="ERROR_FORMAT_LINK" value=" >> http://errors.api.wso2.com/wso2/"/> >> <property name="ERROR_CODE" value="403"/> >> >> <payloadFactory media-type="json"> >> <format> >> { >> "message":"$1", >> >> "_links":{ >> "about":{ >> "href": "$2" >> }, >> >> "help":{ >> "href": "$3$4" >> } >> >> } >> >> } >> </format> >> <args> >> <arg xmlns:soapenv=" >> http://www.w3.org/2003/05/soap-envelope" xmlns:ns3=" >> http://org.apache.synapse/xsd" evaluator="xml" >> expression="$ctx:ERROR_DETAIL"/> >> <arg xmlns:soapenv=" >> http://www.w3.org/2003/05/soap-envelope" xmlns:ns3=" >> http://org.apache.synapse/xsd" evaluator="xml" >> expression="$ctx:ERROR_URL_POSTFIX"/> >> <arg xmlns:soapenv=" >> http://www.w3.org/2003/05/soap-envelope" xmlns:ns3=" >> http://org.apache.synapse/xsd" evaluator="xml" >> expression="$ctx:ERROR_FORMAT_LINK"/> >> <arg xmlns:soapenv=" >> http://www.w3.org/2003/05/soap-envelope" xmlns:ns3=" >> http://org.apache.synapse/xsd" evaluator="xml" >> expression="$ctx:ERROR_CODE"/> >> </args> >> </payloadFactory> >> >> >> *Error Results:* >> >> XML: >> >> <jsonObject><error><message>The requested resource is not >> available.</message><_links><about><href>HelloService1/1.0.0/greet?name=Hi</href></about><help><href>http://errors.api.wso2.com/wso2/404 >> >> <http://errors.api.aligntech.com/wso2/404></href></help></_links></error></jsonObject> >> >> Json: >> >> {"jsonObject":{"error":{"message":"The requested resource is not >> available.","_links":{"about":{"href":"HelloService1\/1.0.0\/greet?name=Hi"},"help":{"href":"http:\/\/errors.api.wso2.com >> <http://errors.api.aligntech.com>\/wso2\/404"}}}}} >> >> >> Here my requirement is to remove the <jsonObject> element from the >> response and display only the error message. Is there any way to do this? >> Appreciate if anyone can provide some help on this. >> >> -- >> Asanka Vithanage >> Senior Software Engineer -QA >> Mobile: +94 0716286708 >> Email: asan...@wso2.com >> WSO2 Inc. www.wso2.com >> >> >> _______________________________________________ >> Dev mailing list >> Dev@wso2.org >> http://wso2.org/cgi-bin/mailman/listinfo/dev >> >> > > > -- > *Senduran * > Software Engineer, > WSO2, Inc.; http://wso2.com/ <http://wso2.com/> > Mobile: +94 77 952 6548 > > _______________________________________________ > Dev mailing list > Dev@wso2.org > http://wso2.org/cgi-bin/mailman/listinfo/dev > >
_______________________________________________ Dev mailing list Dev@wso2.org http://wso2.org/cgi-bin/mailman/listinfo/dev