SOAP sender - how to ensure EOIO for end to end processing

Hi experts,
    In our scenario SOAP client -> XI -> ABAP proxy - the sender is interested in sending messages with QOS = EOIO.
In SAP-help I have found:
1) The SOAP message provided by the SOAP client must contain a unique GUID. This can be provided in a valid XI message header in the SOAP message header or specified in a corresponding query string in the URL......
2) The SOAP adapter generates a GUID. This becomes relevant if the SOAP client does not provide the GUID. In this case, you must set the Quality of Service in the sender SOAP adapter to <b>Exactly Once</b>. The GUID is generated and the adapter calls the XI service exactly once.....
Only the first option seems to be relevant for EOIO. I understand that to assure real EOIO from the beginning, the sender has to serialize messages and give them GUIDs - right? If so, here come my questions:
a) What should be the message header format and minimum of information included in header by sender, to ensure that XI will respect message GUID which was assigned by sender? Any example in XML format?
b) How can I generate WSDL in XI containing not only message structure but also SOAP header with correct format, at least containing GUID?
c) What checkboxes should be marked in sender SOAP adapter configuration to read and respect GUID from sender header?
Best regards,
Marcin

> a) What should be the message header format and minimum of information included in header by sender, to ensure that XI will respect message GUID which was assigned by sender? Any example in XML format?
>
It is just the GUID that the caller has to supply. You need to append &MessageId=<GUID>
> b) How can I generate WSDL in XI containing not only message structure but also SOAP header with correct format, at least containing GUID?
>
You can not. It is SAP specific. The header data gets filled by the AE once it receives the service call from the sender.
> c) What checkboxes should be marked in sender SOAP adapter configuration to read and respect GUID from sender header?
>
Use Encoded HEaders and Use Query String.
VJ

Similar Messages

  • How to maintain EOIO for JMS to multiple webservices scenario

    Hi,
    I have a requirement that
    how to maintain EOIO for JMS to multiple webservices scenario.
    JMS queue has multiple messages, each message has to be sent to either of 2 receivers.
    How to maintain EOIO in case, when there are 2 receivers.
    Regards
    Sekhar

    Hi,
    since messages are split between 2 webservices receivers, each would have its own SOAP adapter.
    So if order of messages in the JMS queues is M1, M2, M3 and M4 . There is a field based on which split happens.
    Say, if M1 and M3 have to go Webservice1 (will have its own mapping)
    and M2 and M4 have to go Webservice2. (will have its own mapping)
    we'll have two receivers in the receiver determination and hence two Interface determinations.
    The result should be
    M1 delivered to Webservice1
    M2 delivered to Webservice2
    M3 delivered to Webservice1
    M4 delivered to Webservice2
    How will we maintain EOIO in this case?
    Regards,
    Balaji.M

  • How to enable "ValidateXML" for a specific Composite/process in 10g BPEL?

    Hi ,
    In *11g*, from em console, Its possible to enable/disable the XML(payload) validation both at server & just for a specific composite/process level. In case of *10g*, from the BPEL console, we could only enable/disable the XML(Payload) validation at *"domain/server"* level, but how do we enable/disable the payload(XML) validation only for the specific composite/process, instead of domain/server level? Is it possible in 10g? If yes, could you please throw some light on the same?
    Thanks in advance!
    Regards,
    Srinivas Medukonduru

    Hi Arik,
    Thanks for providing the detailed steps.
    Looks like these steps needs to be done from the JDeveloper and then redeploy the composite/process. Is it possible to enable the *"validateXML"* for a specific composite/process from the *10g BPEL Console?* So that we can avoid the code level changes & also the redeployment.
    Thanks & Regards,
    Srinivas Medukonduru

  • How to configure EOIO for async RFC ----- SOAP scenario

    Hello Experts,
    I have Async. RFC----->SAOP secnario. Problem is that when the target system is down the PI system do not recoginze it and send the message successfully to target system, where the target system is down and do not show those transaction in it.
    I got the impression that , I have to make the QoS as EOIO and set up the queues in the PI.
    So, I checked both the comm channel RFC Sender and SOAP recevier but i was not able to find the option where we can make the QoS to EOIO.
    Do we need to mention the QoS in the SOAP URL in SOAP recevier comm channel . if yes please anyone can give me an example of that.
    Or do we have other option in PI to identify that target system is down and we can queue up the msgs in PI.
    I would appreciate your responses.
    Thanks.

    Problem is that when the target system is down the PI system do not recoginze it and send the message successfully to
    target system, where the target system is down and do not show those transaction in it
    No need to change the Qos in order to know the status of the target system.
    Just configure alert for Adapter Engine...when the SOAP channel tries to send the message and if the target system is down and alert will be generated (Connection Exception: Connection refused).
    This will indicate that the Target system is down....now it dpends on your business on what to do in such a case....to cancel the message or to restart it (from XI/ PI)
    Making QoS as EOIO will cause the entire queue to get blocked...and hence the following messages will also get blocked and wont be delivered even if the target system is up and running.
    Regards,
    Abhishek.

  • How to make EOIO for proxy messages in PI

    Hi Experts,
    We got different proxy outbound messages from ERP, we need to process all the messages in a sequence as it was sent from ERP, how can we make one queue in PI for all these messages.
    Please give me some thoughts for this issue.

    Refer to these blogs:
    XI: Reliable Messaging u2013 EOIO in ABAP Proxies
    /people/arulraja.ma/blog/2006/08/18/xi-reliable-messaging-150-eoio-in-abap-proxies
    ABAP PROXY TO FILE u2013 Handling Heavy Volumes in SAP PI
    /people/praveen.gujjeti/blog/2010/05/31/abap-proxy-to-file-150-handling-heavy-volumes-in-sap-pi
    Regards
    Raj

  • How do I check for null parameters in  Process Validations?

    I am trying to create a Unit Test that validates that a record has been inserted into a table. However I am having problems when dealing with null parameters.
    I created a simple table and insert procedure:
    create table TEST_TAB (
    A varchar2 (30) not null,
    B varchar2 (30));
    create or replace procedure TEST_TAB_INS (P_A in varchar2, P_B in varchar2) is
    begin
    insert into TEST_TAB values (P_A, P_B);
    end;
    Then I created a Unit Test with two implementations:
    The first executes TEST_TAB_INS ('One', 'Two')
    The second executes TEST_TAB_INS ('One', null)
    I attached the following Query Returning Rows Process Validation to both implementations:
    select *
    from TEST_TAB
    where A = '{P_A}'
    and (B = '{P_B}' or '{P_B}' is null)
    This should allow for the case where P_B is null. However the second test fails with a "Query check returned no rows" error.
    I've tried altering the test to use nvl, but get the same results:
    select *
    from TEST_TAB
    where A = '{P_A}'
    and (B = '{P_B}' or nvl ('{P_B}', 'XXXX') = 'XXXX')
    However, the following test succeeds:
    select *
    from TEST_TAB
    where A = '{P_A}'
    and (B = '{P_B}' or nvl ('{P_B}', 'XXXX') = '{P_B}')
    Which suggests that null parameters are not being treated as nulls in Process Validations

    I've found a way to solve this. By changing the test to:
    select *
    from TEST_TAB
    where A = '{P_A}'
    and (B = '{P_B}' or '{P_B}' = 'NULL')
    I am able to get both to get both implementations to succeed.
    Edited by: AJMiller on Dec 28, 2012 4:24 AM

  • JAVA classpath: How to find classpath for a given java process

    I want to find the classpath for java process outside of the process.
    example:
    Lets say I execute the following command
    java -classpath foobar.jar;shoobar.jar javatest
    Is there a way to find the classpath from a different program given the process id that is created for the above command?
    Ami shukla

    Perhaps through an externally connected debugger? Beyond that, the only thing I can think of would be to modify the source to report that information for you.

  • EOIO for Idoc to HTTP

    All - can anyone tell me how to ensure EOIO processing in the Integration Engine (PI 7.0 SP16)?
    We have queue serialization on and the idocs appear to be coming into PI in the correct sequence but when the process and I check them in SXMB_MONI they are getting out of sequence.
    I've confirmed the QoS in the messages is ExactlyOnceInOrder but it does not seem to apply to the IE itself.
    Thanks for any help you can offer.
    Dennis

    I've confirmed the QoS in the messages is ExactlyOnceInOrder but it does not seem to apply to the IE itself.
    Check these pre-requisites...if you have not seen them already:
    http://help.sap.com/saphelp_erp2004/helpdata/en/bd/277264c3ddd44ea429af5e7d2c6e69/content.htm
    From the above section:
    If this is not the case, the quality of service is automatically changed to EO for compatibility reasons and the message is
    processed accordingly.
    Regards,
    Abhishek.

  • BW: Not getting Dump For Program error in Process Chain

    I have one issue regarding Master data loading issue in BW(3.5).
    My business flow like we have received data from server A and Server A extract data from Server B and
    Server B which is extract data from source(R/3).
    Flow like this R/3-->Server B-->Server A(ETL) -
    > My Server.
    We have a mater data process chain and that chain we have have the source system Server A but in the process chain one process is there which is fethces data like global transport e.g UOM,factory calender etc through Custom program directly from Server B.
    Oneday what happened On that process the process chain Yellow since more than 16 hrs.Once nextday process chain trigger the process chain runs sucessfuly.
    But lastdays process chain paticular process stills remains yellow?
    We are not getting any dumps and even if from Server A there is no logs then anyone could please tell me what is reason and how to solve it.
    Note: it will be helpful for me  if any one know how to check dump for program errors in Process chain as narated issue.

    Guys, I am also facing the same issue.
    When DTP is completed successfully, it has the job log blow :
    Job started
    Step 001 started (program RSPROCESS, variant &0000000391261, user ID BWREMOTE)
    Performing check and potential update for status control table
    Status 'Executable' (user BWREMOTE)
    Status 'Active' (user BWREMOTE)
    Program RSBATCH_EXECUTE_PROZESS successfully scheduled as job BIDTPR_335754_1 with ID 06532200
    Job finished
    When it fails or remain yelllow for long time and then turn into red.
    Job started
    Step 001 started (program RSPROCESS, variant &0000000391306, user ID BWREMOTE)
    Performing check and potential update for status control table
    Status 'Executable' (user BWREMOTE)
    Status 'Active' (user BWREMOTE)
    EXTRACTION OF DATAPACKAGE 000001
    EXTRACTION OF DATAPACKAGE 000002
    Job finished
    The question is, why the program  RSBATCH_EXECUTE_PROZESS is not scheduled.  Is it because there is no free resource? Or poor response from SAP ECC?
    Finally what does "EXTRACTION OF DATAPACKAGE 000001" mean? Its not scheduled?
    Regards
    MultiABAP
    Edited by: MultiABAP on Oct 6, 2010 10:32 AM

  • Sender SOAP Adapter - how to avoid changes of URL for diferent environments

    Dear experts,
    we have a concern with transports of PI objects in our environment.
    Situation:
    When we transport SOAP Sender objetcs in PI from Dev to Test the URL (Endpoint) changes automatically the hostname and the business system (target system in SLD). For example:
    In Development to call the Web Service (Sender SOAP Adapater):
    http://sappid1.evonceib.local:50100/XISOAPAdapter/MessageServlet?senderParty=&senderService=EvonceOSB_PEMP_D&receiverParty=&receiverService=&interface=PEMP_PagadoresMaintain_Async_Out_WS&interfaceNamespace=urn%3Aonce%3Asppemp%3Amanagedatosdepagadorpa_in_pemp
    In Test to call the Web Service (Sender SOAP Adapater):
    http://sappit1:50100/XISOAPAdapter/MessageServlet?senderParty=&senderService=EvonceOSB_PEMP_T&receiverParty=&receiverService=&interface=PEMP_PagadoresMaintain_Async_Out_WS&interfaceNamespace=urn%3Aonce%3Asppemp%3Amanagedatosdepagadorpa_in_pemp
    Problem:
    The consuming side only wants to have one endpoint and don't want to touch the development when transporting the consumer. Generally to find a work around via DNS aliases for the hostname should solve the prefix of the URL, but how to handle the difference of Business Systems senderService=EvonceOSB_PEMP_D and senderService=EvonceOSB_PEMP_T in the URL?
    In the SLD I can not maintain two BS with the same name, when I do not define a transport target the import fails.
    So anybody has an idea how to get exactly the same URL for diferent environments?
    Thank you in advance,
    Best Regards,
    Karsten Blankenstein

    Hi ,
    It is recommended to use different environmemt for Dev,testing,Production. So your PI server host name and port will be different for every environment.
    So URL will differ.
    however if you dont want to change Business system Name then go for BUSINESS SERVICE/COMPONENT instead of BUSINESS SYSTEM. It will be same in every environment and also dont need to maintain anything in SLD

  • How to re-use one SOAP Sender Channel for two different messages?

    Hi!
    I have an XI Proxy to SOAP Sync Scenario. 5 messages uses only 2 channels - cc_XI_Sender and cc_SOAP_Receiver. All messages comes from one Sender Channel and goes to one Receiver channel, and it works fine.
    When I make the same for SOAP to XI Proxy Sync Scenario, I've got a problem. For example I have 2 different messages (mi_so_MSG_ONE and mi_so_MSG_TWO), so it works, if I had a two different sender channels (cc_SOAP_R1 and cc_SOAP_R2).
    If I set the same Sender Channel in both Sender Agreements (cc_SOAP_R1), only one message (mi_so_MSG_ONE) goes without errors. When I send a second message (mi_so_MSG_TWO), in SXMB_MONI this message comes from Business System (BS_TEST) as message type one (mi_so_MSG_ONE), and then in stage of transformation in Interface Determination goes to message mapping program for other kind of messages (MM_MSG_ONE_to_XI_PROXY). And then - error in message mapping.
    I try many URLs for both messages:
    1) http://host:port/XISOAPAdapter/MessageServlet?channel=:BS_TEST:cc_SOAP_R1&version=3.0&Sender.Service=&Interface=
    2) http://host:port/XISOAPAdapter/MessageServlet?channel=:BS_TEST:cc_SOAP_R1&version=3.0&Sender.Service=BS_TEST&Interface=*
    3) http://host:port/XISOAPAdapter/MessageServlet?channel=:BS_TEST:cc_SOAP_R1&version=3.0&Sender.Service=BS_TEST&Interface=...MyNameSpace...mi_so_MSG_TWO
    Message in payload:
    <?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
    <!--  Inbound Message   -->
    <MSG_TWO xmlns="urn:xxx:yyy:MyNameSpace" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">... some fields... </MSG_TWO>
    But in SOAP Header I see that is NOT second message!
    <?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
    < !--  Inbound Message   -->
    <SAP:Main>
      <SAP:MessageClass>ApplicationMessage</SAP:MessageClass>
      <SAP:ProcessingMode>synchronous</SAP:ProcessingMode>
      <SAP:MessageId>93233F70-3E2F-11DF-8CD3-00237D301CD6</SAP:MessageId>
      <SAP:TimeSent>2010-04-02T08:13:09Z</SAP:TimeSent>
      <SAP:Sender>
        <SAP:Service>BS_TEST</SAP:Service>
        <SAP:Interface namespace="urn:xxx:yyy:MyNameSpace">mi_so_MSG_ONE</SAP:Interface>
      </SAP:Sender>
      <SAP:Interface namespace="urn:xxx:yyy:MyNameSpace">mi_so_MSG_ONE</SAP:Interface>
      </SAP:Main>
    Is it correct that many kinds of messages cannot goes through one Sender Channel ? If not... How can I reuse one SOAP Sender Channel for both this messages?
    Thanks for helping.

    Thanks for answers!
    It means a webservice application will be deployed and exposed in PI using the associated Message Interface and its namespace information in the SOAP Sender channel.
    It means only one Sender Channel per one pair of names (name of Message Interface and name of namespace). And it will fail if I change something. And question is: why URL for sending SOAP message contains parameter "Interface"?
    "backward compatibility" or "for future use only"?
    Nothing happens when I change this parameter, seems that name of Interface comes from first of founded Sender Agreements.
    If the structures are the same
    No. Structures are different.
    Making one structure per all SOAP incoming messages looks workable, but... looks strange (in fact I have a lot of SOAP messages, more than 100 Sender channels).
    I found an information, that I can use one Sender channel per many messages with different structures only if I make this messages like different Operations in one Service Interface (in PI 7.1).
    But in this case in list of messages in SXMB_MONI I will see only a one name of Service Interface for all my messages and it's not so comfortably for supporting: to take a name of operation that fails I need to goes inside.
    In older version of XI (prior 7.1) using one sender channel per many messages allowed without any hints.

  • HOW TO CREATE SERVICE FOR SENDER SOAP COMMUNICATION CHANNEL FOR ECC PROXY

    Hi Experts,
    I need generate the service for sender soap communication channel for target url to receive the  inbound proxy.
    my scenario is like SOAP to proxy. while using  receiver proxy also we are planing using AAE method .
    i am using SOAP sender and SOAp receiver communication channel .i need to provide the target url for this communication channel.
    how to generate the url for this and what is the transaction code .
    Please help us.
    Regards
    Ravinder.S

    Hi Ravinder,
    Q.my scenario is like SOAP to proxy. while using  receiver proxy also we are planing using AAE method.
    SOAP to Poxy in this case.
    For sender  SOAP system, we can generate the WSDL link in ID part.
    for Reveiver proxy give the integration engine URL.
    http://IP:PORT/sap/xi/engine?type=entry
    how to generate the url for this and what is the transaction code
    There is no transaction code for generating the URL.
    i hope this will help.
    Regards,
    Kesava.

  • HOW TO TEST SOAP SENDER TO FILE SCENARIO

    Hi gurus,
    I have designed and configured SOAP to file scenario.
    I have used http://xyz namespace in design time.
    I have created two business systems for this sceanrio.
    I have downloaded and installed soap client on my system.
    When I open this soap client it is asking
    1)URL
    2)load request from
    3)In the editor request tab what should i give.
    4)wht is the response tab here
    I want to send data to XI from SOAP and then to file.
    Please help how to give data and how to get the data format to give in the requst editor?
    Points will B rewarded
    Regards
    Sreeni

    Hi,
    You can use a SOAP client like Altova XML spy for posting a message to XI.
    The best way to do this is to use the generated wsdl for creating a soap request.
    once the wsdl file is picked up by the soap client, it automatically generates the url.
    now the response which comes back to the soap client is usually a http status code of successful post. (since u r performing an async scenario)
    also ensure u use the j2ee port while genrating the wsdl using the "Create Webservice" option in Int Directory.
    Also chk the link for the weblog on sender soap scenario.
    /people/siva.maranani/blog/2005/03/01/testing-xi-exposed-web-services
    Hope this helps.
    Award points if found helpful
    Cheers!!
    Sidharth

  • PI 7.1 URL for SOAP Sender incorrect

    Hello experts,
    I have a SOAP sender agreement and generated the WSDL from the "Display WSDL..." option on ID, now the problem is that the soap address tags for HTTP_Port and HTTPS_Port are being created with the hostname of my PI server without domain, but all other url's in the wsdl file and including the WSDL URL of the wsdl file have the correct server name and domain, so when somebody gets the wsdl file from the file location and upload it to even Eclipse or just consume it from any other composite cannot reach the service exposed in PI, so I was wondering if any of you experts can help me with where can I find the parameters that Integration Directory use to create the soap address urls fro HTTP and HTTPS automatically, I've checked all the exchange profile and all the reference to server have the domain, I'm not a basis consultant and our basis team cannot find the problem, if anyone can help me with where can I find these parameters would be really appreciated, thanks in advance for your answers.
    Rergards,
    Julio

    HI JULIO,
    SOAP sender agreement and generated the WSDL from the "Display WSDL..." option on ID
    Q. HOW TO CHECK THE JTTP SENDER SIDE URL........WE HAVE ONE OPTION IN ID.....CHECK THE BELOW PROCESS FOR REF.....
    ID-->TOOLS>DEFINE WEB DERVER->CONTINUE->PROPOS URL (CLICK)>CONTUNUE-->SELECT THE INTERFACE
    NAME  (NAME NAME SPACE SOFTWARE COMPONENT NAME)---->CONTINUE --->(THEN SERVICE , INTERFACE
    NAME ,INTERFACE NAME SPACE)-->CONTINUE->OVERVIEW
    THIS IS THE PROCESS TO GET THE SENDER SIDER URL
    REGARDS,
    KESAVA

  • SOAP Sender URL for Default XI parameters

    Hi,
    In my scenario i want to use same SOAP sender communication channel for many webservices.So i selected USE QUERY STRING OPTION . But i am not sure about the parameters in URL. I referred SOAP Adapter how to guide. it was helpful to some extent but would be grt if u guyz confirm the URLfor sending the different default XI Interface parameters  .https://server:port/XISOAPAdapter/MessageServlet?channel=:<sender service>r:<sender comm channel>&version=3.0&Interface=<????>
    Basically i do not know what shud be given for interface name
    Regards
    Vish

    Hi Viswanath -
    You're on the right track for your purpose of using one channel and dynamically setting the interface name.  The SOAP FAQ Note 856597 spells it out well:
               "Q: Can I set the interface name dynamically from the client?
                Yes. You can overwrite these XI parameters from the client. To
                activate this overwriting mode, you need to turn on option "Use
                Encoded Header" and "Use Query String" in the channel. Then your
                client can append the interface name using parameter Interface.
                For example, interface namespace http://sap.com/test and
                interface Test can be represented by the url-encoded form of
                http://sap.com/test^Test as in
                #&version=3.0&Interface=http%3A%2F%2Fsap.com%2Ftest%5ETest"
    I see you already have some of this.  Don't forget to check both the "Use Encoded Header" as well as the "Use Query String" option.
    <i>>>>>In that case whatz the relevance of namespace in the URL. You mean we can ignore that .Pls advice</i>
    When you dynamically set the interface name, yes, you need both the interface name and the namespace.  All this information (including the namespace) is needed for the receiver determination step once it reaches XI.
    If you're having trouble with the URL, generate a WSDL using the "Define Web Service" option in the Int. Directory with the relevant interface information.
    Jin

Maybe you are looking for

  • SSO/OID with Workflow

    Do we have to purchase Advanced Security option of 9i database if we want to use SSO with Workflow ? Thank you Aamir

  • Address Bar works on one user account and not on the other

    Hi, I've trawled through so many forums to find an answer to my problem - perhaps it's quite unique. About a year ago my firefox address bar's autocomplete stopped working at all. I have the latest version and I've tried all the tricks around dumping

  • Premiere Pro has encountered an error.  CS6

    Dear Adobe Community I would be grateful for some help as Premiere Pro has begun crashing on me. I am using CS6 - on two different Mac computers that both encounter the same problem.  I am making a film 1920 x 1080 made up of almost 60 smaller films

  • Iphone won`t start up

    Old Iphone mgs on screen restore needed wont turn up pls help. If i press restore i will lose all my contacts list and notes pls pls pls pls helpppppppppp

  • Unable to Generate XML Schema

    Hi all,            When i add a sales order it's giving an error like "Couldn't Generate XML schema"....can anybody pls give me some suggestions....i have tried all the possibilities but unable to rectify this error... <?xml version="1.0"?> <env:Enve