cancel
Showing results for 
Search instead for 
Did you mean: 

Usage of HTTP_AAE adapter on the receiver side (Proxy to HTTP)

alejandro_bindi
Active Contributor
0 Kudos

Hi, I'm having my first experiences in PI development using version 7.3.

The scenario I'm trying to implement is Proxy to HTTP (synchronous). The particularity is that the HTTP request must be multipart/form-data, sending three parameters as parts, one of which is a file, which filename and content are to be sent from the ERP. The request sent should end up being something like this:

POST http://address.com/service.do HTTP/1.1

Content-Type: multipart/form-data; boundary=---------------------------7dc1dc2920672

(other header fields)

-----------------------------7dc1dc2920672
Content-Disposition: form-data; name="user"

XXXXXXXXXXX
-----------------------------7dc1dc2920672
Content-Disposition: form-data; name="password"

XXXXXXXXXXX
-----------------------------7dc1dc2920672
Content-Disposition: form-data; name="file"; filename="ERP_FILENAME"
Content-Type: text/plain

ERP_CONTENT

-----------------------------7dc1dc2920672--

ERP_FILENAME and ERP_CONTENT are two strings to be received from SAP ERP when calling the proxy.

I've been searching documentation, and I came to know the older Plain HTTP adapter doesn't support multipart but the HTTP_AAE (Java) one does, so I'm trying to use it. However I find very little documentation on it. On SAP Help, the receiver configuration part is missing: http://help.sap.com/saphelp_nw73/helpdata/en/e4/a451e997364386a1f6f090c9ea17b6/frameset.htm

Besides, I have confusion in defining the message types and mappings. Since the service returns XML files, I have no problem with that part. I generated XSD files from them, and imported them in ESR, so I can map the response messages. But I'm puzzled on how to define the request message and its subsequent mapping. Is some custom Java coding needed to achieve this?

Any help will be appreciated.

Regards

Accepted Solutions (0)

Answers (5)

Answers (5)

alejandro_bindi
Active Contributor
0 Kudos

Hello, I solved this requirement long ago, but I do remember I discarded the HTTP_AAE adapter since I couldn't get it to work. I ended up using SOAP adapter + custom mapping by coding.

Regards.

Former Member
0 Kudos

Hola Alejandro,

¿Pudiste resolver este tema?

Estoy en el mismo requerimiento COT!

Gracias!

Former Member
0 Kudos

I am facing same issues. I am with ARBA - COT.

Did you solved it? Please, I need a hand on this.

Regards.

heiko_bergmann2
Explorer
0 Kudos

Hi Alejandro,

I also tried this scenarion using the SOAP or the AAE Http Adapter on PO 7.31.

I created the http request completely in a mapping using values coming from the ERP system. It looks identically to the request using the website in tcp dump with one exception:

Using the http receiver with the form flag you can set the HTPP header, but the adapter adds an additional  field (charset=UTF-8) to the "Content-Type: multipart/form-data;" header fields.

You can set the boundary header field in configuration. But the request returns always the error that the multipart request is invalid.

<?xml version='1.0' encoding='ISO-8859-1'?><TBError>

  <tipoError>DATO</tipoError>

  <codigoError>87</codigoError>

  <mensajeError>El formulario multipart enviado es incorrecto. Verifique las especifiaciones para la aplicación cliente.</mensajeError>

</TBError>

So I'm kind of stucked here and interested if you could the scenario up and running using the PO/PI?

Using the ABAP based solution is not really feasible due to security issues.

I would like to hear from you.

Regards,

Heiko

roger_alluivall
Participant
0 Kudos

Remito Electrónico, right?! I'm facing the same problem. Did you find a solution?

Regards!