on 11-03-2011 7:03 AM
Hello all.
I have a scenario where I need to send a proxy from an ECC 6 system to my PI system.
the proxy must have QoS=EOIO.
When I searched in SAP documentation and in here I found this example:
create proxy client
CREATE OBJECT lo_clientProxy.
specify queue id
lo_async_messaging ?=
lo_clientProxy->get_protocol( if_wsprotocol=>async_messaging ).
lo_async_messaging->set_serialization_context('PLM0000007_ORDER').
do asynchronous client proxy call
CALL METHOD lo_clientProxy->execute_asynchronous
EXPORTING output = ls_request.
COMMIT WORK.
CATCH cx_ai_system_fault INTO lo_sys_exception.
Error handling
ENDTRY.
the problem is that in the new ECC versions the proxy class generated doesn't contain the method execute_asynchronous anymore but the method: if_proxy_client~execute, and in it I need to use the method of the service interface.
Can anyone please point me to documentation explaining how to ensure Qos=EOIO for the "new proxy" ?
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
emmm.... I might be missing something, but I read the blog from start to the end,
and it talks about Flexible Serialization - a program that goes over the error queues and removes messages.
I need to find a way to make my scenario serialized.
I can't see how this blog solves my problem. can you please point me directly?
OK, made some progress.
there is an interface called: IF_PROXY_BASIS_INTERNAL
after a little "drill down" in it I got to interface: IF_XMS_MESSAGE_XMB
that contains 2 methods:
SET_QUALITY_OF_SERVICE
SET_QUEUE_ID
So I guess I need to use them in order to change the QoS to EOIO, and set a queue name for the interface.
I still didn't find any documentation on the subject.
any one can please help? somebody that used the IF_XMS_MESSAGE_XMB and have any tip?
Thanks,
Imanuel Rahamim.
I did not find them in my ECC 6.0 (release 701-SP07)... Anyway according to [sap help|http://help.sap.com/saphelp_nwpi711/helpdata/en/48/50b10eb82971b9e10000000a421937/frameset.htm] previous blog should be perhaps the answer!
Sorry today I have to finish an interface. So I cannot do more search or dev by myself, whereas I would like to do as for this topic, I want to knwo THE (exact) solution.
Cheers
Mickael
Solved.
forget what I wrote above.
Setting the queue is the same as the old version, the only thing changed is the way to call the execute method.
So now it should look something like this:
create proxy client
CREATE OBJECT lo_clientProxy.
specify queue id
lo_async_messaging ?= lo_clientProxy->get_protocol( if_wsprotocol=>async_messaging ).
lo_async_messaging->set_serialization_context('YourQueue').
TRY.
CALL METHOD lo_clientproxy->YourMethod
EXPORTING
output = YourOutput.
COMMIT WORK.
CATCH cx_ai_system_fault INTO lo_sys_exception.
Error handling
ENDTRY.
where YourMethod is the one generated with the proxy generation and contains:
if_proxy_client~execute.
(:
User | Count |
---|---|
87 | |
10 | |
10 | |
10 | |
7 | |
6 | |
6 | |
5 | |
5 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.