[ https://issues.apache.org/jira/browse/SYNAPSE-1041?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15319640#comment-15319640 ]
Vanjikumaran Sivajothy commented on SYNAPSE-1041: ------------------------------------------------- So what will happen there users not honoring the spec? If we make the change like that they going to fail. isnt it? Is it totally okay? If yes, i can make a change according to that and reissue the patch again :D > xml string set in the Script mediator is not honored as OM in Fault mediator > ----------------------------------------------------------------------------- > > Key: SYNAPSE-1041 > URL: https://issues.apache.org/jira/browse/SYNAPSE-1041 > Project: Synapse > Issue Type: Bug > Reporter: Vanjikumaran Sivajothy > Assignee: Hiranya Jayathilaka > Attachments: SYNAPSE-1041.diff, detailTransform.js, > synapse_sample_2000.xml > > > Sample 5 with with custom error message generated via Script mediator does > not produce the proper xml as the fault response in fault mediator. > *Synapse Configuration* > {code} > <definitions xmlns="http://ws.apache.org/ns/synapse"> > <localEntry key="FaultMessageScript" > > src="file:repository/conf/sample/resources/script/CustomErrorMessageScript.js"/> > <sequence name="myFaultHandler"> > <property name="customErrorCode" value="2016" scope="default" > type="STRING"/> > <property name="customErrorText" value="This is Bug" scope="default" > type="STRING"/> > <property name="customTime" expression="get-property('SYSTEM_DATE')" > scope="default" type="STRING"/> > <script language="js" key="FaultMessageScript" > function="transformFault"/> > <log level="custom"> > <property name="**************Custom Detail*****************" > expression="get-property('customErrorDetail')" /> > </log> > <makefault version="soap11"> > <code xmlns:tns="http://schemas.xmlsoap.org/soap/envelope/" > value="tns:Receiver" /> > <reason expression="get-property('ERROR_MESSAGE')"/> > <detail expression="get-property('customErrorDetail')" type="OM"/> > </makefault> > <send/> > </sequence> > <sequence name="fault"> > <log level="full"> > <property name="MESSAGE" value="Executing default fault > sequence"/> > <property name="ERROR_CODE" > expression="get-property('ERROR_CODE')"/> > <property name="ERROR_MESSAGE" > expression="get-property('ERROR_MESSAGE')"/> > </log> > <drop/> > </sequence> > <sequence name="main" onError="myFaultHandler"> > <in> > <log level="full"/> > <switch xmlns:m0="http://services.samples" > source="//m0:getQuote/m0:request/m0:symbol"> > <case regex="MSFT"> > <send> > <endpoint name="testEndpoint1"> > <address > uri="http://bogus:9000/services/NonExistentStockQuoteService"/> > </endpoint> > </send> > </case> > <case regex="SUN"> > <send> > <endpoint name="testEndpoint2"> > <address > uri="http://localhost:9009/services/NonExistentStockQuoteService"/> > </endpoint> > </send> > </case> > </switch> > <drop/> > </in> > <out> > <send/> > </out> > </sequence> > </definitions> > {code} > *Script* > {code} > function transformFault(mc) { > var symbol = mc.getPayloadXML()..*::Code.toString(); > var errorCode = mc.getProperty("customErrorCode"); > var errorText = mc.getProperty("customErrorText"); > var time = mc.getProperty('customTime'); > mc.setProperty("customErrorDetail", > "<CustomErrorDetails><TimeStamp>"+time+"</TimeStamp><ErrorCode>"+errorCode+"</ErrorCode><ErrorText>"+errorText+"</ErrorText></CustomErrorDetails>"); > } > {code} > *Client Request* > Same request as in sample 5 > {{ant stockquote > -Daddurl=http://localhost:9000/services/SimpleStockQuoteService > -Dtrpurl=http://localhost:8281/ -Dsymbol=SUN}} > *Response resiveed and monitored via tcpmon* > {code} > <soapenv:Fault> > <faultcode > xmlns:tns="http://schemas.xmlsoap.org/soap/envelope/">tns:Receiver</faultcode> > <faultstring>Error while connecting to the endpoint (Connection > Failed)</faultstring> > <detail><CustomErrorDetails><TimeStamp>6/7/16 12:36 > AM</TimeStamp><ErrorCode>2016</ErrorCode><ErrorText>This > is Bug </ErrorText></CustomErrorDetails></detail> > </soapenv:Fault> > {code} > However,expected results is > {code} > <soapenv:Fault> > <faultcode > xmlns:tns="http://schemas.xmlsoap.org/soap/envelope/">tns:Receiver</faultcode> > <faultstring>Error while connecting to the endpoint (Connection > Failed)</faultstring> > <detail> > <CustomErrorDetails> > <TimeStamp>6/7/16 12:09 AM</TimeStamp> > <ErrorCode>2016</ErrorCode> > <ErrorText>This is Bug</ErrorText> > </CustomErrorDetails> > </detail> > </soapenv:Fault> > {code} -- This message was sent by Atlassian JIRA (v6.3.4#6332) --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@synapse.apache.org For additional commands, e-mail: dev-h...@synapse.apache.org