2017-02-08 4 views
0

Ich verwende Anypoint Studio 6.1 und Mule 3.8.1 und möchte eine Exception-Nachricht mit dem als neue Zeile zurückgegebenen "\ n" zurückgeben. Ich versuche, System.getProperty ("line.separator") zu verwenden, aber das "\ n" erscheint weiterhin in der Nachricht als Text und nicht als eine neue Zeile.Hinzufügen einer neuen Zeile zur benutzerdefinierten Ausnahmebedingungsnachricht in Anypoint Studio Mule

Wie kann ich das zum Funktionieren bringen?

XML Test Fluss:

<?xml version="1.0" encoding="UTF-8"?> 

<mule xmlns:http="http://www.mulesoft.org/schema/mule/http" xmlns="http://www.mulesoft.org/schema/mule/core" xmlns:doc="http://www.mulesoft.org/schema/mule/documentation" 
    xmlns:spring="http://www.springframework.org/schema/beans" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-current.xsd 
http://www.mulesoft.org/schema/mule/core http://www.mulesoft.org/schema/mule/core/current/mule.xsd 
http://www.mulesoft.org/schema/mule/http http://www.mulesoft.org/schema/mule/http/current/mule-http.xsd"> 
    <flow name="tempflowFlow"> 
     <http:listener config-ref="HTTP_Listener_Configuration" path="/test-flow" allowedMethods="GET" doc:name="HTTP"/> 
     <set-payload value="{ 
    &quot;Exception&quot;: { 
    &quot;status&quot;: -1, 
    &quot;description&quot;: &quot;\nJson content is not compliant with schema\ncom.github.fge.jsonschema.core.report.ListProcessingReport: failure\n--- BEGIN MESSAGES ---\nerror: object has too many properties (found 2 but schema requires at most 1)\n level: \&quot;error\&quot;\n schema: {\&quot;loadingURI\&quot;:\&quot;file:/C:/temp.json#\&quot;,\&quot;pointer\&quot;:\&quot;/properties/field1\&quot;}\n instance: {\&quot;pointer\&quot;:\&quot;/field1\&quot;}\n domain: \&quot;validation\&quot;\n keyword: \&quot;maxProperties\&quot;\n found: 2\n required: 1\n--- END MESSAGES ---\n (org.mule.module.json.validation.JsonSchemaValidationException).&quot; 
    } 
}" encoding="UTF-8" mimeType="application/json" doc:name="Set Payload"/> 
     <logger message="#[payload.replace(&quot;\n&quot;, System.getProperty('line.separator'))]" level="INFO" doc:name="Logger"/> 
     <set-payload value="#[payload.replace(&quot;\n&quot;, System.getProperty('line.separator'))]" encoding="UTF-8" mimeType="application/json" doc:name="Set Payload"/> 
    </flow> 
</mule> 

Dank

Antwort

1

Sieht aus wie Sie das Newline-Zeichen entkommen müssen. . Außerdem verwenden Sie (') anstelle von doppelten Anführungszeichen (") innerhalb MEL Ausdruck

<logger message="#[payload.replace('\\n', System.getProperty('line.separator'))]" level="INFO" 
     doc:name="Logger" /> 
    <set-payload value="#[payload.replace('\\n', System.getProperty('line.separator'))]" encoding="UTF-8" 
     mimeType="application/json" doc:name="Set Payload" /> 

Above Code scheint zu funktionieren.

INFO 2017-02-09 18:03:09,349 [Mule.app.deployer.monitor.1.thread.1] org.mule.module.launcher.MuleDeploymentService: 
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 
+ Started app 'test2'          + 
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 
INFO 2017-02-09 18:03:17,280 [[test2].HTTP_Listener_Configuration.worker.01] org.mule.api.processor.LoggerMessageProcessor: { "Exception": {  "status": -1,  "description": " 
Json content is not compliant with schema 
com.github.fge.jsonschema.core.report.ListProcessingReport: failure 
--- BEGIN MESSAGES --- 
error: object has too many properties (found 2 but schema requires at most 1) 
    level: \"error\" 
    schema: {\"loadingURI\":\"file:/C:/temp.json#\",\"pointer\":\"/properties/field1\"} 
    instance: {\"pointer\":\"/field1\"} 
    domain: \"validation\" 
    keyword: \"maxProperties\" 
    found: 2 
    required: 1 
--- END MESSAGES --- 
(org.mule.module.json.validation.JsonSchemaValidationException)." } } 

Mule log

+0

Dank muss ich etwas gehabt haben falsch, wenn ich versuchte, es zu entkommen. Danke für die Hilfe – user3165854

Verwandte Themen