Avalados por :
Hi Experts,
Necesito reemplazar ns3:Product xmlns:ns3="http://xc.Oracle.com" con ns3:Product pero al ejecutar el script a continuación, recibo un error en la Línea - 6. Por favor, sugiera.
import com.sap.gateway.ip.core.customdev.util.Message;
import java.util.HashMap;
def Message processData(Message message) {
def body = message.getBody(String) as String;
body = body.replaceAll("<ns3:Product xmlns:ns3="http://xc.Oracle.com">","<ns3:Product>");
message.setBody(body);
return message;
}<br>
Entrada
<?xml version="1.0" encoding="UTF-8"?>
<ns3:ProductMaster xmlns:ns3="http://xc.Oracle.com">
<ns3:ProductMasterRequest>
<ns3:Token></ns3:Token>
<ns3:ProductL>
<ns3:Product xmlns:ns3="http://xc.Oracle.com">
<ns3:Code>675</ns3:Code>
<ns3:ItemCode>CR-CMMD</ns3:ItemCode>
<ns3:ItemType>1</ns3:ItemType>
<ns3:ItemDescription>BLUE</ns3:ItemDescription>
</ns3:Product>
</ns3:ProductL>
</ns3:ProductMasterRequest>
</ns3:ProductMaster><br>
Hola Arvik
Cuando tienes una comilla doble dentro de una cadena delimitada por comillas dobles, confunde las cosas. En su lugar, necesitas citarlas así:
body = body.replaceAll("<ns3:Product xmlns:ns3=\"http://xc.Oracle.com\">","<ns3:Product>");
Nota las dos barras invertidas dentro de la cadena.
Saludos,
Morten
P.D. No necesitas un punto y coma al final de una declaración en Groovy.
contacto@primeinstitute.com
(+51) 1641 9379
(+57) 1489 6964
© 2024 Copyright. Todos los derechos reservados.
Desarrollado por Prime Institute