

DATA:
gr_consumer_proxy TYPE REF TO zco_consumer_proxy,
gr_proto_msg_id TYPE REF TO if_wsprotocol_message_id,
gx_system TYPE REF TO cx_ai_system_fault,
gs_msg_id TYPE sxmsmguid.
TRY.
CREATE OBJECT gr_consumer_proxy.
gr_proto_msg_id ?=
gr_consumer_proxy->get_protocol( if_wsprotocol=>message_id ).
gs_msg_id = gr_proto_msg_id->get_message_id( ).
CATCH cx_ai_system_fault INTO gx_system.
" Exception handling logic
ENDTRY.
DATA:
gr_srv_context TYPE REF TO if_ws_server_context,
gr_proto_msg_id TYPE REF TO if_wsprotocol_message_id,
gx_system TYPE REF TO cx_ai_system_fault,
gs_msg_id TYPE sxmsmguid.
TRY.
gr_srv_context = cl_proxy_access=>get_server_context( ).
gr_proto_msg_id ?=
gr_server_context->get_protocol( if_wsprotocol=>message_id ).
gs_msg_id = gr_proto_msg_id->get_message_id( ).
CATCH cx_ai_system_fault INTO gx_system.
" Exception handling logic
ENDTRY.

DATA:
gr_srv_context TYPE REF TO if_ws_server_context,
gr_proto_header TYPE REF TO if_wsprotocol_xi_header,
gx_system TYPE REF TO cx_ai_system_fault,
gv_snd_service TYPE string,
gv_snd_interface TYPE string,
gv_snd_namespace TYPE string,
gv_rcv_service TYPE string.
TRY.
gr_srv_context = cl_proxy_access=>get_server_context( ).
gr_proto_header ?=
gr_srv_context->get_protocol( if_wsprotocol=>xi_header ).
gv_snd_service =
gr_proto_header->get_header_field( if_wsprotocol_xi_header=>sender_service ).
gv_snd_interface =
gr_proto_header->get_header_field( if_wsprotocol_xi_header=>interface ).
gv_snd_namespace =
gr_proto_header->get_header_field( if_wsprotocol_xi_header=>interface_namespace ).
gv_rcv_service =
gr_proto_header->get_header_field( if_wsprotocol_xi_header=>receiver_service ).
CATCH cx_ai_system_fault INTO gx_system.
" Exception handling logic
ENDTRY.

DATA:
gr_srv_context TYPE REF TO if_ws_server_context,
gr_proto_msg_id TYPE REF TO if_wsprotocol_message_id,
gx_system TYPE REF TO cx_ai_system_fault,
gs_msg_id TYPE sxmsmguid.
TRY.
gr_srv_context = cl_proxy_access=>get_server_context( ).
gr_proto_msg_id ?=
gr_server_context->get_protocol( if_wsprotocol=>message_id ).
gs_msg_id = gr_proto_msg_id->get_message_id( ).
CATCH cx_ai_system_fault INTO gx_system.
" Exception handling logic
ENDTRY.
DATA:
gr_consumer_proxy TYPE REF TO zco_consumer_proxy,
gr_proto_payload TYPE REF TO if_wsprotocol_payload,
gx_system TYPE REF TO cx_ai_system_fault,
gs_msg_request TYPE zmt_proxy_request,
gt_controller TYPE prxctrltab,
gs_controller_line TYPE prxctrl.
TRY.
CREATE OBJECT gr_consumer_proxy.
gr_proto_payload ?=
gr_consumer_proxy->get_protocol( if_wsprotocol=>payload ).
gr_proto_payload->set_extended_xml_handling( abap_true ).
gs_controller_line-field = 'TEXT'.
gs_controller_line-value = sai_ctrl_none.
APPEND gs_controller_line TO gt_controller.
gs_msg_request-mt_proxy_request-controller = gt_controller.
CATCH cx_ai_system_fault INTO gx_system.
" Exception handling logic
ENDTRY.
TYPES:
BEGIN OF gty_file_data,
entry TYPE x LENGTH 255,
END OF gty_file_data.
DATA:
gr_consumer_proxy TYPE REF TO zco_consumer_proxy,
gr_proto_attachment TYPE REF TO if_wsprotocol_attachments,
gr_attachment TYPE REF TO if_ai_attachment,
gt_attachments TYPE prx_attach,
gt_file_data TYPE TABLE OF gty_file_data,
gv_attachment_xstring TYPE xstring.
FIELD-SYMBOLS:
<gfs_file_data> TYPE gty_file_data.
TRY.
CALL FUNCTION 'GUI_UPLOAD'
EXPORTING
filename = 'D:\Temp\TestDoc.pdf'
filetype = 'BIN'
TABLES
data_tab = gt_file_data.
IF sy-subrc NE 0.
" Error handling logic
ENDIF.
LOOP AT gt_file_data ASSIGNING <gfs_file_data>.
CONCATENATE gv_attachment_xstring
<gfs_file_data>-entry
INTO gv_attachment_xstring
IN BYTE MODE.
ENDLOOP.
CREATE OBJECT gr_consumer_proxy.
gr_proto_attachment ?=
gr_consumer_proxy->get_protocol( if_wsprotocol=>attachments ).
gr_attachment =
gr_proto_attachment->get_attachment_from_binary(
data = gv_attachment_xstring
type = if_ai_attachment=>c_mimetype_pdf
name = 'AttachmentDocument' ).
APPEND gr_attachment TO gt_attachments.
gr_proto_attachment->set_attachments( gt_attachments ).
CATCH cx_ai_system_fault INTO gx_system.
" Exception handling logic
ENDTRY.


DATA:
gr_consumer_proxy TYPE REF TO zco_consumer_proxy,
gr_proto_async TYPE REF TO if_wsprotocol_async_messaging,
gx_system TYPE REF TO cx_ai_system_fault,
gs_msg_request TYPE zmt_proxy_request.
TRY.
CREATE OBJECT gr_consumer_proxy.
gr_proto_async ?=
gr_consumer_proxy->get_protocol( if_wsprotocol=>async_messaging ).
gr_proto_async->set_serialization_context( 'TEST_QUEUE' ).
gr_consumer_proxy->o_async_send_sample( gs_msg_request ).
cl_soap_commit_rollback=>commit( ).
CATCH cx_ai_system_fault INTO gx_system.
" Exception handling logic
ENDTRY.
<?xml version="1.0" encoding="UTF-8"?>
<!-- Inbound Message -->
<SAP:ReliableMessaging xmlns:SAP=http://sap.com/xi/XI/Message/30 xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:mustUnderstand="1">
<SAP:QualityOfService>ExactlyOnceInOrder</SAP:QualityOfService>
<SAP:QueueId>TEST_QUEUE</SAP:QueueId>
</SAP:ReliableMessaging>
DATA:
gr_consumer_proxy TYPE REF TO zco_consumer_proxy,
gr_proto_routing TYPE REF TO if_wsprotocol_routing,
gx_system TYPE REF TO cx_ai_system_fault,
gt_set_receivers TYPE sxi_addresses,
gs_set_receiver TYPE sxi_address.
TRY.
CREATE OBJECT gr_consumer_proxy.
gr_proto_routing ?=
gr_consumer_proxy->get_protocol( if_wsprotocol=>routing ).
gs_set_receiver-service = 'PIUCLNT105'.
APPEND gs_set_receiver TO gt_set_receivers.
gr_proto_routing->set_receivers( gt_set_receivers ).
CATCH cx_ai_system_fault INTO gx_system.
" Exception handling logic
ENDTRY.
<?xml version="1.0" encoding="UTF-8"?>
<!-- Receiver Determination -->
<SAP:Error xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:mustUnderstand="1">
<SAP:Category>XIServer</SAP:Category>
<SAP:Code area="RCVR_DETERMINATION">NO_RECEIVER_CASE_BE</SAP:Code>
<SAP:P1 />
<SAP:P2 />
<SAP:P3 />
<SAP:P4 />
<SAP:AdditionalText />
<SAP:Stack>No receiver could be determined</SAP:Stack>
<SAP:Retry>M</SAP:Retry>
</SAP:Error>
<Trace level="1" type="B" name="PLSRV_RECEIVER_DETERMINATION">
<Trace level="1" type="Timestamp">2012-10-18T06:46:22Z CET Start of pipeline service processing PLSRVID= PLSRV_RECEIVER_DETERMINATION</Trace>
<Trace level="1" type="B" name="CL_XMS_MAIN-CALL_PLSRV">
<Trace level="1" type="B" name="CL_XMS_MAIN-CALL_PLSRV_LOCAL">
<Trace level="1" type="B" name="CL_RD_PLSRV-ENTER_PLSRV">
<Trace level="1" type="T">R E C E I V E R - D E T E R M I N A T I O N </Trace>
<Trace level="1" type="T"> Cache content is up to date </Trace>
<Trace level="2" type="T">Start with given receiver - PIUCLNT105 </Trace>
<Trace level="2" type="T">Using Receiver Determination 00000000000000000000000000000000 </Trace>
<Trace level="1" type="T">No Relation found - accept given Receivers. </Trace>
<Trace level="2" type="T">...extracting Receiver from Header: PIUCLNT105 </Trace>
<Trace level="2" type="T">Classic Receiver Determination via Rules. </Trace>
<Trace level="2" type="T">No Receiver found behaviour: 0 </Trace>
<Trace level="2" type="T">Number of Receivers:1 </Trace>
</Trace>
</Trace>
</Trace>
<Trace level="1" type="Timestamp">2012-10-18T06:46:22Z CET End of pipeline service processing PLSRVID= PLSRV_RECEIVER_DETERMINATION</Trace>
</Trace>
DATA:
gr_consumer_proxy TYPE REF TO zco_consumer_proxy,
gr_proto_conn TYPE REF TO if_wsprotocol_connectivity,
gx_system TYPE REF TO cx_ai_system_fault,
gv_conn_type TYPE string.
TRY.
CREATE OBJECT gr_consumer_proxy.
gr_proto_conn ?=
gr_proxy_request_time->get_protocol( if_wsprotocol=>connectivity ).
gv_conn_type = gr_proto_conn->get_type( ).
CATCH cx_ai_system_fault INTO gx_system.
" Exception handling logic
ENDTRY.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
| User | Count |
|---|---|
| 55 | |
| 33 | |
| 23 | |
| 21 | |
| 19 | |
| 16 | |
| 15 | |
| 15 | |
| 15 | |
| 10 |