Hi Nishant,
From my point of view about the below suggestions, the best way with better performance to connect an ECC with PI is using an ABAP proxy. If you also want to send files you have two options, you can send it like attachment from ABAP or to create a field of type RAWSTRING, I got successful transfer with String data type as well and base64 encoding. You only need to convert your file data to this field. For example in the sender ABAP proxy:
"Path and file name
DATA f_filename TYPE string.
" File in BASE64
DATA f_base64 TYPE string.
"Fichero in Binary in Xstring
DATA f_fxs TYPE xstring.
"Load the file in binary
CONDENSE f_filename NO-GAPS.
OPEN DATASET f_filename FOR INPUT IN BINARY MODE.
IF sy-subrc <> 0.
" Error treatment
ENDIF.
CLEAR f_fxs.
READ DATASET f_filename INTO f_fxs.
IF sy-subrc = 0.
CLOSE DATASET f_filename.
ELSE.
" Error treatment
ENDIF.
"Xstring in binary to BASE64 in string
CLEAR f_base64.
CALL FUNCTION 'SSFC_BASE64_ENCODE'
EXPORTING
bindata = f_fxs
* BINLENG =
IMPORTING
b64data = f_base64
EXCEPTIONS
ssf_krn_error = 1
ssf_krn_noop = 2
ssf_krn_nomemory = 3
ssf_krn_opinv = 4
ssf_krn_input_data_error = 5
ssf_krn_invalid_par = 6
ssf_krn_invalid_parlen = 7
OTHERS = 8.
IF sy-subrc <> 0.
" Error treatment
ENDIF.
Hope this helps.
Regards.