Error while sending message to module processor: Sender Channel 'My_RESTSender' (ID: 5576899ba0593b4dab5d2ca63e3881):
Catching exception calling messaging system: Mapping failed in runtimeRuntime Exception when executing application mapping program
com/sap/xi/tf/_ReqServ_to_ReqERP_; Details: com.sap.aii.mappingtool.tf7.IllegalInstanceException;
Cannot create target element /ns0:My_Req/indice. Values missing in queue context. Target XSD requires a value for this element,
but the target-field mapping does not create one. Check whether the XML instance is valid for the source XSD, and whether the target-field mapping fulfils
the requirement of the target XSD: Runtime Exception when executing application mapping program com/sap/xi/tf/_ReqServ_to_ReqERP_;
Details: com.sap.aii.mappingtool.tf7.IllegalInstanceException; Cannot create target element /ns0:Catalogo_Req/indice. Values missing in queue context.
Target XSD requires a value for this element, but the target-field mapping does not create one. Check whether the XML instance is valid for the source XSD,
and whether the target-field mapping fulfils the requirement of the target XSD: Cannot create target element /ns0:My_Req/indice.
Values missing in queue context. Target XSD requires a value for this element, but the target-field mapping does not create one.
Check whether the XML instance is valid for the source XSD, and whether the target-field mapping fulfils the requirement of the target XSD
En un inicio este servicio estaba en POST y funcionaba correctamente.
Gracias de antemano.
Lo único que veo es que no esta llegando el parámetro indice a PO, y por eso te arroja el error. Revisa que la URL este bien o en PO haz un mapeo para que te ponga un valor por default en caso de que no llegue ningún dato.
hola @Alonso_mx, gracias por tu respuesta. Consulta, tengo mapeado en mi data type 5 parametros:
My_request
req1
req2
req3
req4
req5
La url la estoy mandando de la siguiente manera:
http:/ mi_dominio/path/valor_req1/valor_req2/valor_req3/valor_req4/valor_req5/
Es correcta la forma de pasar los parametros o solo debo de tener un parametro de entrada y por allí pasar todo?
En la pestaña REST Resources eliges la opción REST Service (service) en Dynamic Attribute, porque en la pestaña Operation Determination colocas como variable {service} ?
No se exactamente por que se debe de colocar {service} pero solamente así toma cada una de las operaciones. Para este caso en un mismo canal tengo varias operaciones. En la URL se ve más o menos así:
Hola @Alonso_mx.
En su caso también envía los parámetros por URL y no por JSON? el response para mi caso es un JSON con algo de 20 campos.
Cuando lo hago según su configuración obtengo el mensaje:
Unable to parse XML message payload to extract operation for receiver determinationorg.xml.sax.SAXParseException
Muchas gracias @Alonso_mx, tuve que implementar un UDF para capturar los campos ya que los parámetros que enviaba eran strings y date. Espero implementar un tutorial paso a paso y publicarlo por aquí.