on 2007 Jul 11 5:37 PM
Hello,
We are on XI3.0 SP10.
This question concerns an RFC to SOAP scenario.
we are sending purchase order from EBP to XI by RFC (bapi).
Inside XI we use a BPM for mapping.
RFC doesn't support attachements.
How can we catch the attachement in the BPM in order to join it to the final message sent by the soap adapter?
Hoping for your answers,
Best regards,
Laurent.
Hi Laurent !
Maybe you can define a correlation and send 2 RFC messages (main message and attachment) from EBP to XI. The BPM should detect that both messages are related using correlation and using a N:1 transformation you can bundle both messages in 1 and then send it out thru SOAP. If your RFC is a custom one, I think you can define 2 structures, one for the body and one for the attachment, and maybe avoid using BPM...unless you need it for something else.
Regards,
Matias
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Laurent !
Could you tell me how this "attachment" is coming out from EBP? What do you mean by attachment? does the RFC call has an attachment or the attachment data is a table or exporting parameter? Which BAPI are you using?
Maybe you need to generate an abap proxy to pass the EBP data to XI.
Regards,
Matias.
Hi Laurent !!
More info:
in the constraints section of the RFC Adapter says:
Constraints
Note the following constraints:
● Only the payload of a received message is evaluated. Additional attachments are ignored and not forwarded.
● The sender adapter only supports function modules with at least one parameter (import, export, changing, or tables).
On the other hand, here is another thread that could give you some clues:
Are you enabling the CV_ATTACH.... field during transfers?
Some other ideas...I've read that it is possible to send and RFC from EBP with the url of the original document..maybe using a BPM you can send the URL via RFC to XI (BPM), using BPM you can retrieve the attachment using SOAP or HTTP adapter and then send the attachment and other data to the final SOAP destination.
Regards,
Matias.
Hi Matias,
Thanks for these helpful answers.
For me i have now two solutions :
1. Change the RFC adapter with a Proxy to send the bapi (BAPI_POEC_XML_SEND) that sends po to XI. Is this possible?
2. "in the trigger program before the sending of this bapi, there is a step that you can configure to send the full content of the attachement to a webserver. (spro settings.) below is the module function that sends the attachement."
CALL FUNCTION 'HTTP_PUT_COMPONENT'
EXPORTING
absolute_uri = lv_attach_url_write
proxy = lv_proxy
user = lv_user
password = ls_att_pub-i_password
component_length = lv_filesize
IMPORTING
status_code = lv_statuscode
status_text = lv_statustext
TABLES
component_data = ls_attach-phio_content
EXCEPTIONS
connect_failed = 1
timeout = 2
internal_error = 3
tcpip_error = 4
OTHERS = 5.
The phio_content is binary data sent with type RAW - 1022.
In the bapi sending step (second step of trigger program) there is no standard way to send the phio content but only url."
My first reaction was to add the phio_content to the bapi and send it with it.
But is there a way to rebuild the attachement afterwards in xi or in marketplace?
The other solution like you said is to follow standard that sends attachement to webserver. send the url by the bapi with rfc adapter.
Add a 'receive step' in the BPM that will look for the url on the webserver with a file or soap adapter and then bundle the two messages together to send it with the soap adapter.
Which solution should be the best?
Thanks for all.
Regards,
Laurent.
Hi Laurent !
I've read some posts and links of this thread:
I think here you can find more data, also searching by "srm xi" in the SDN.
Check that thread and the links inside them, maybe you can find some other ways. I've read some data about standard ways to connect SRM and XI, in some master guides and scenario guides in the service marketplace.
The solution of the Proxy could work, but you have to send via proxy the data that the bapi is currently sending.
To rebuild attachment in XI and send them out thru SOAP you need to use java or abap mappings.
Regards,
Matias
User | Count |
---|---|
70 | |
10 | |
10 | |
10 | |
10 | |
8 | |
8 | |
7 | |
5 | |
5 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.