on 11-06-2012 2:24 PM
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
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.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hola Alejandro,
¿Pudiste resolver este tema?
Estoy en el mismo requerimiento COT!
Gracias!
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
I am facing same issues. I am with ARBA - COT.
Did you solved it? Please, I need a hand on this.
Regards.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
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
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Remito Electrónico, right?! I'm facing the same problem. Did you find a solution?
Regards!
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
84 | |
10 | |
10 | |
10 | |
7 | |
6 | |
6 | |
5 | |
4 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.