- A través del adaptador AXIS (requiere instalación previa y configuración)
- Mediante un mapeo XSLT
En el mensaje XML de salida siguiente, con la capa SOAP indicada:
Para ello se ha utilizado la siguiente transformación XSL:
Debido a que estamos incluyendo la capa SOAP en el mapeo del mensaje, habrá que indicar en el canal de recepción que no se incluya la capa SOAP de nuevo. Esto se consigue marcando la casilla "Do Not Use SOAP Envelope" en el apartado Conversion Parameters del adaptador.
El marcar esta casilla, causará que el mensaje se envíe como tipo "application/xml", lo cual provocará en el receptor un mensaje de error HTTP 415 (Unsupported Media Type). Por ello será necesario incluir en el adaptador el módulo AF_Modules/MessageTransformBean, antes del propio módulo del adaptador, y configurar el parámetro Transform.ContentType con el valor text/xml. De este modo, el mensaje se enviará codificado como 'text/xml'.
Enlaces de referencia:
- SAP Community Network Wiki - Process Integration - XSLT Mapping Steps
- XSLT Mapping (SAP Library - SAP Exchange Infrastructure)
- SAP Community Network Forums: SOAP Header in SOAP Receiver adapter
- SAP Network Blog: Adding UsernameToken, TimeStamp in SOAP Adapter using Axis Framework
- SAP Library - SAP NetWeaver™ Problem Analysis Guide (PAG) - Response Code 415 When Requesting a Web Service
- SAP Network Blog: Troubleshooting SOAP, HTTP and Mail Adapter Scenarios with TCPGateway
- XML.com: Namespaces and XSLT Stylesheets
- XSLT Tutorial
- XSLT 1.0 Pattern Matching Tips for Source Documents with Namespaces
- Enabling HTTP Traces (SAP Library - Administration Manual)
1 comentario:
But it is throwing an error at receiver comm channel saying the unknown message type in the http://schemas.test.com/test definitions from the webservice.
Let me know if am doing anything wrong here
Publicar un comentario