cancel
Showing results for 
Search instead for 
Did you mean: 

Formating web service array

Former Member
0 Kudos

Hi Experts,

I am about to model the following scenario:

R/3 (RFC) -> XI -> Web service (SOAP)

I have imported web service definition into IR. Web service takes the only argument of type xsd:array ... I've got an example (written in PHP language), how to format web service argument.

define('TRANSACTION_TYPE', 'xxxx')            

$data = array(
  'header' => array(
           'hdr_id_inv' =>
           'hdr_msg_timestamp' =>
           'hdr_company_code' =>
           ),
  'status' => array(
           array(
                 'item_result_type' =>
                 'item_message_class' =>
                 'item_message_number' =>
                 'item_message_text' =>
                 ),
           array(
                 'item_result_type' =>
                 'item_message_class' =>
                 'item_message_number' =>
                 'item_message_text' =>
                 ),
           array(
                 'item_result_type' =>
                 'item_message_class' =>
                 'item_message_number' =>
                 'item_message_text' =>
                 ),
           ),
  'confirmation' => array(
           'cnf_document_number' =>
           'cnf_payment_amount' =>
           ),
);

$trn_options = array(
  'userdata' => $data,                         // data
  't_type' => TRANSACTION_TYPE,    // transaction type
);

The problem is, how to format this array in interface mapping ... sender interface contains data elements taken from RFC import, receiver interface contains the only element of type xsd:array ... I should format all sender interface elements into the only element of receiver interface (i.e. insert sender's elements into receiver's array) ...

IS THIS POSSIBLE IN INTEGRATION REPOSITORY (interface mapping) ?

Thanks for replies.

Accepted Solutions (0)

Answers (1)

Answers (1)

bhavesh_kantilal
Active Contributor
0 Kudos

As far as I know, the array elements are not supported by XI.

Tried to look up the SOAP adapter FAQ but there isn't anything with regards to the array element though.

Regards,

Bhavesh

henrique_pinto
Active Contributor
0 Kudos

In this link, it states that WSDLs to be imported into XI must not contain the soapenc:Array types, because they use the <xsd:any> xsd type which is not supported by XI.

http://help.sap.com/saphelp_nw70/helpdata/EN/43/ce993b45cb0a85e10000000a1553f6/frameset.htm

For XI generated WSDLs, these array tags won't be created whatsoever.

Regards,

Henrique.