XMII call to XI robustness

Hi all,
we have a scenario where xMII will communicate with XI, probably using 'HTTP XI' action or 'Web Service XI'.
How can a robust communication mechanism can be implemented? I mean, we would like to assure that the message arrives to XI with 'exactly once' Quality of Service (I don't know now if the order is also important). If there's a communication problem between xMII and XI (e.g a broken network link) xMII should resubmit the message to XI.
How can we design such a solution? I've seen that xMII 12 provides buffering services, but I don't know if this feature is somehow applicable in this scenario.
Can someone provide some hints and suggestions?
Thank you, your help is really appreciated.
Mauro

Mauro,
It also does not have to be a table in a database.  You could save the messages as xml files on the Web side of xMII.  Perhaps have a folder or several under a project named MessageQueue or similar, which would hold the messages.  Since the contents of those folders are actually in the NW database, you would get database reliability and administrative controls along with close availability from within MII.  You could have different folders for unprocessed, completed, retry, fatalError, etc. to contain each message.  If you don't have much volume, that would work for your purposes. 
You could also do the same with actually saving the files in an external file folder structure, but why not do it inside MII.
My real preference would be an outside database as Sara mentioned.  But sometimes they are not available (or authorized).
Good luck,
Mike

Similar Messages

  • Execute Business Transaction from xMII via XI to SAP R/3

    Hello everyone,
             I have a requirement to post the SAP R/3 transaction from xMII via XI. Does anyone one could give me the steps needs to follow to accomplish this.
    Thanks,
    Mahesh

    Mahesh,
    So as i understand your flow is xMII -> XI -> SAP ECC. So basically in this case u can setup XI to host a web service and xMII can call the web-service and post the data to XI. You will have to get the WSDL for the XI Web Service and then use it in the Web Service action block in xMII to consume. You will also need to setup the soap adapter in XI to receive the web service call from xMII. Once xMII calls the web service, XI can then update the data into SAP ECC either thru Idoc or RFC adapter.
    So once your trigger point in xMII is activated, it should call the BLS which in turn will call the XI Web Service and post the data to XI.
    In case the scenario is the other way round you can also host your BLS as a Web Service in xMII. XI can then call the web service and send the data to xMII. Alternatively you can also use the http post action block in xMII to do the same.
    Let me know if you need anymore info.
    Thanks,
    Kapil.

  • Calling Webservice from Netweaver Portal to SAP XMII 12.0 using SSO

    Hello,
    we have a Netweaver 2004s based Portal and a Netweaver-based SAP XMII (v12.0) System providing Webservices.
    What we try to do is to call a webservice out of the Portal EAR Application using SSO.
    SSO-Konfiguration between Portal and XMII is done and works fine. I tested this using an URL-iView, which calls a https-URL on XMII and SSO-Authentification is done in the background.
    Now I want to call a Webservice using SSO.
    Without SSO (prodiving UID/PW), the webservice-call works fine.
    In order to use SSO with Webservice, I created a "Deployable Webservice Proxy" with "HTTP-Authentication" and "use SAP Logon Ticket" turned on.
    Then I remove Login/Password from my SOAP-Request and unfortunately it doesn't work.
    What do I have to consider in addition to the topics above?
    Can you provide any useful links with tutorials, hints, documentation, ...?
    Thanks in advance
    Andreas

    > Can you please list all the options that we have in order to implement SSO for EP and SAP GUI?
    >
    > I could not find any info in regards to the advantages and disadvantages of each SSO solution. Do you have any links that gives this information?
    If you search the forum here for the terms you have used, then you will find many of them and interesting discussions about advantages and disadvantages from different views. I think that in 1 or 2 hours you will be a guru
    > I am thinking more of using Kerberos authentication for SAP GUI and using OpenSSO (Sun's product)solution for EP 7.0.
    >
    > Do you know what SSO technologies are other companies implementing these days?
    I only know which solutions I have been involved in doing the security evaluations for and implementation support.
    I don't want to do any direct or indirect comparative advertizing here, but only wanted to point out to you that there is plenty of information if you use the search. What you need to understand is that other that SAP proprietary mechanisms and newer standards based initiatives (search for 'SAML'), this is often a 3rd party vendor question (and resulting discussion...).
    If you find a solution and want to specifically discuss it here, then this can most of the time be done in a civilized way...
    Cheers,
    Julius

  • Being deaf, I rely on the vibrate mode to alert me to incoming messages. I recently obtained an iPhone 4 and I find its vibrate mode wimpy, causing me to miss calls. Is there any way to make it more robust?

    Being deaf, I rely on the vibrate mode to alert me to incoming messages or reminders. I haven't had problems with my previous PDAs such as Blackberry and Motorola, but since I obtained an iPhone 4, I`ve discovered that its vibrate mode is more of a whimper than anything else. I`ve missed many calls as its vibes are indiscernible when it`s in the holster on my belt. Is there any way to make the vibes more robust? I`ve amped up the ring volume control to no avail.

    No, there is no adjustment for the vibrating mode.

  • Is there any way to limit the number of RFC calls from xMII to SAP R/3

    Hi All!
    I wanted to know whether the number of simultaneous RFC connections made from xMII to SAP R/3 system can be controlled in any way. Suppose we have a scenario wherein some million Sales Orders or Production Orders are to be updated in SAP R/3 from xMII in a short span of time. For all these updations to take place, multiple RFC calls will be established from xMII to SAP at the same time. This will increase the load on the SAP R/3 system and affect performance of the SAP R/3 system. Is there any check on xMII side to limit the number of RFC calls that can be made to SAP R/3 system?
    Regards
    Anupam

    Anupam,
    If you are using 11.5 just keep in mind that the JCO connection points to a single application server (based upon the SAP Server alias connection settings), but the traffic itself to make a BAPI request is effectively the same as any client user traffic.  There will obviously be limitations on performance and throughput, with network and server constraints added to the number and size of the R/3 requests, but there is no magic formula to plug-in because of all of these variables.
    If you are using 12.0 (or plan to migrate when it goes GA) then taking advantage of the JRA (java resource adapter) and the associated application server pooling that it offers on the NetWeaver side of things will greatly help you in the throughput capacity.
    If you have put some of your xMII application into either test or productive use and are running into issues then I would highly recommend entering the specifics into the customer / partner support portal so that they can help you through any associated problems.
    Regards,
    Jeremy Good

  • Problem with BAPI_DOCUMENT_CHECKOUTVIEW2 while calling using JCO of XMII

    Hi DMS Gurus,
    The above FM is successfully executing and creating a local copy in temp folder of where the FM running using SAP GUI.
    But when i call using jco,i am getting some problems.
    1. If i execute the FM with default values for http dest and ftp dest, i am getting error saying << c:\temp\....file could not be created.
    2. When i changed the HTTP destination to <<SAPHTTPA>, it is executing fm successfully but dont know in which system the file is downloaded.
    My client application or xMII server ( where jco service is running ) or ABAP server.
    I checked in the first 2,i didn't find.
    SAP GUI is not installed in xMII server.
    But my requirement is to download to the physical server of xMII ( jco ).
    Is this any thing to do with creating http destinations??
    If that is the case, can any body help me in creating http destinations..
    and i heard something about SAPFTP.EXE ,is that should be some where in client or any servers??
    Please help me.
    Thanks
    Vansi

    Vamsi,
    As I mentioned in this forum thread, bapi_document_checkoutview2.  You have to use the POST action in BLS to communicate with the HTTP Interface of Content Mgmt. directly.  The only other alternative is to write your own BAPI to retrieve the content and send it back to xMII via the JCo action (Hint: The data will be base64 encoded and can be saved to the filesystem via the Image Saver action even though it is not an image).
    Sam

  • Problem calling BAPI_document_checkoutview2 using JCO of xMII

    Hi DMS Gurus,
    The above FM is successfully executing and creating a local copy in temp folder of where the FM running using SAP GUI.
    But when i call using jco,i am getting some problems.
    1. If i execute the FM with default values for http dest and ftp dest, i am getting error saying << c:\temp\....file could not be created.
    2. When i changed the HTTP destination to <<SAPHTTPA>, it is executing fm successfully but dont know in which system the file is downloaded.
    My client application or xMII server ( where jco service is running ) or ABAP server.
    I checked in the first 2,i didn't find.
    SAP GUI is not installed in xMII server.
    But my requirement is to download to the physical server of xMII ( jco ).
    Is this any thing to do with creating http destinations??
    If that is the case, can any body help me in creating http destinations..
    and i heard  something about SAPFTP.EXE ,is that should be some where in client or any servers??
    Please help me.
    Thanks
    Vansi

    Hi Vansi,
    that's correct. BAPIs always require a SAPGUI connection. Therefore I would recommend you to use API function modules instead, because they are more flexible and better to use for background processing. Please see SAP note <a href="https://service.sap.com/sap/support/notes/504692">504692</a>
    which contains also some sample programs for these API modules.
    Best regards,
    Christoph

  • Calling Oracle stored procedure from xMII Query Templates.

    Hi All,
    We have a requirement to call a Oracle stored procedure from xMII, the SP expects some inputs and then it returns multiple rows.
    I tried different approches with no results, I remember some posts on the same topic but I could not get in search results.
    Looking for some help in this regards
    Rupesh.

    Hi Rupesh Bajaj,
    In oracle stored procedure we have to use Packages..if you used packages the u have to assign to some variable.
    To calling Stored procedure  in Query Template is CALL Testing('[Param.1]','[Param.2]',,:X)
    In above line Testing is Stored procedure name and Param.1 is parameters and X is Package.
    Thanks
    Ravilla Ramesh

  • Stored Procedure Call from XMII

    Hi, I am facing the following problem.
    My SQL Stored Procedure has one input parameter,and it returns three values.
    I want to know the syntax for calling this stored procedure ie. syntax in  fixed query in XMII.
    Thanks.

    Hi Adam,
    I assume that you are using MSSQL server stored procedure which outputs 3 values.
    Say that you are inputting 1 integer @inval and returning 3 integer values @outval1, @outval2, @outval3 from Stored Procedure
    Then perform the following in Query Template
    DECLARE @val1 INT
    DECLARE @val2 INT
    DECLARE @val3 INT
    EXEC StoredProcedureName
        @inval = 10,
        @outval1 = @val1 OUTPUT,
        @outval2 = @val2 OUTPUT,
        @outval3 = @val3 OUTPUT
    SELECT @val1,@val2,@val3
    Use FixedQuery mode
    Regards,
    Adarsh
    Edited by: Adarsh Sidnoor on Aug 27, 2009 7:46 PM
    Edited by: Adarsh Sidnoor on Aug 27, 2009 7:47 PM

  • What you call a robust method?

    in my project X, i am writing a method whose parameter should not be null, like the following:
    public class MyClass {
      public void myMethod(MyObject obj) {
        if (obj!=null) {
          // do something.
        return;
    }In order to make my method robust, i have several choices, but i dont know which coding style is the best.
    1, do not check obj, and if it is null, NullPointerException will be thrown out automatically when i use the null object.
    2, check the obj and throw out a runtime exception (NullPointerException or IllegalArgumentException) myself, like this:
    public void myMethod(MyObject obj) {
      if (obj==null) {
        throw new NullPointerException("MyObject cannot be null.");
      // do something...
      return;
    }3, check the obj and throw out a self-defined exception, like this:
    public void myMethod(MyObject obj)
    throws MyException {
      if (obj==null) {
        throw new MyException("MyObject cannot be null.");
      // do something...
      return;
    }At my point of view, the first one cares nothing about the legality of its parameter, and thus is not robust enough. The second one is silly because i have to add the same code at the beginning of all my methods. The third one is even sillier because i have not only to add the same code at the beginning of all my methods, but also to catch exception everytime i call them...
    So...who can give me some advices?
    thanks.

    This is not a problem to do with robustness, this is a reliabilityproblem.
    Reliability means that the operation behaves in a predictable manner regardless of the environment.
    Robustness means being able to act in a predictable manner regardless of the circumstances without causing unexpected exceptional conditions.
    If you leave out the null reference check your method will act reliably in that a NullPointerException will be thrown at the point where the instance is referenced.
    To make your method robust you have to be active in what you do, in this case throwing a NullPointerException as a result of the check for null makes sense as you control the message in the exception rather than relying on the default one.
    Throwning an IllegalArgumentException is not the correct thing to do. The problem here is that there is no argument passed here rather null (no value). If you do further checks in the method for legal values and then your method considers the value passed to be outside of constrainst then throwing IllegalArgumentException is the correct thing to do.
    Creating your own class of Exception or RuntimeException for this purpose is a decision you have to make for yourself. If the argument checks are supposed to be rigorous then checked exceptions (subclasses of the Exception class) should be used to force callers of your method to handle the potentional exceptional condition. In this case it makes sense to create and use your own Exception class. If they are not rigorous then NullPointerException and IllegalArgumentException are probably sufficient.
    You should look at the Tutorials here for help on how the JavaBeans framework for property change support works as well, it provides some helpful insights into this problem.

  • Calling an xMII transaction from R/3....

    Hi Experts,
                     Is there any way to call xMII Transaction directly from R/3?
    Regards,
    Vijaya vardhan Reddy

    Sure Amit,
                     This is the kink i got after searching the Blogs....
    http://searchsap.techtarget.com/tip/0,289483,sid21_gci1245135,00.html
    Regards,
    Vijaya.

  • Calling Enterprise Services through xMII Web Service action block

    Hi All,
    I'm calling some Enterprise Service through xMII Web Service action block.
    After providing URL and user credentials, I'm getting error "SOAP Service could not be loaded: The element type 'p' must be terminated by the matching end-tag '</p>'."
    Can anyone point out what might be the reason ?
    Thanks,
    Sumit

    If you haven't already, try using the browser from the xMII server machine rather than your own (client).
    The error that you recieve usually means that instead of a WSDL an HTML is being returned when you use the WebService action block.
    Possible reasons - as Jeremy pointed out - improper credentials or some error with the webservice itself.
    Another thing you can possibly try out - use some web service analyser to access the webservice . There's one that goes by the name StrikeIron which is a freeware.Pretty neat tool.

  • Process to call BAPI in xMII

    Hi All
    I want to check BAPI in xMII and do not no much in xMII.
    Can anyone please tell  process to call bAPI in xMII.
    Points for quick reply
    -Philip

    Hi Philip,
    Here you need to follow two steps
    First go to SAP Server Configuration tab and open it.
    SAP Server Configuration to assign aliases to default SAP servers for use in the SAP ERP Interface action blocks in the xMII Logic Editor.
    Assign login credentials and system name, IP details properly.
    Once you define your sap system here than you can see it in drop down list under SAP JCo Interface action block.
    Open BLs and go to SAP ERP Interface tab
    Click on SAP JCo Interface Action block and choose aliase created by you in Server Configuration.
    Give your RFC/BAPI name or put wildcard.
    Right click on action block and choose link editor,here you can assign input to BAPI
    This way you can take BAPI in xMII.
    Best Regards
    Ramshanker

  • Good/robust/high performance solution for calling Java from C

    Hi,
    I am looking for a good/robust/high performance solution for invoking a local java component from a C application in Windows.
    About Java component:
    - It has multiple methods that would be called very frequently from C application
    - It will reside in local machine. This machine may not have access to internet/LAN.
    My preference is to implement this java component as indepent running exe and have C application make outprocess calls. Is this possible?
    Any help/suggestions on this are greatly appreciated
    Thanks,
    -Arun

    I will stop replying to this conversation, unless it
    remains professional and without getting personal.I suggest you read your replies again then since you were the one that strayed from the topic and referred to my competency.
    >
    Or conversely those that have been working with JNIfor close to 10 years >might have a different opinion
    that someone who is promoting a commercial >product?
    I cannot see anything wrong with sharing and letting
    people know of potential solutions that might help to
    solve their problems.Not a problem at all.
    You however stated an absolute. I asked you to back up that absolute with something that was objective.
    You then lashed out at me and questioned my competency.
    >
    So you are questioning my competence as well as myintent?
    And not bothering to address the question at all.
    I am guessing you haven't actually attempted tocompare JNI to on board >sockets but instead you are
    just guessing.
    Frankly, I don't see how a socket solution with
    process switching overhead is going to work faster
    than a direct method call, passing parameters over
    the stack, the whole operation taking place
    in-process.
    And thus, as I thought, you haven't actually attempted to compare the two.
    And in terms of competency I can only wonder if youare competent enough
    to write the test frameworks that would demonstrateone or the other.
    As said earlier, there is no need to get personal,
    let's keep professional!
    And as I said earlier I would suggest that you look to your own replies.
    As mentioned, I do have enough experience for those
    who need to interoperate with Java using JNI, and can
    show how to do it in a safe and productive manner.
    And as I have said for the third time now that has nothing to do with what I actually asked you.
    The code that someone writes via JNI has much lessusage, and thus is much >more likely to have
    problems. Even if someone is competent in creating
    JNI >and C code.
    Thus JNI Is less stable.
    And by the way that includes the commercial productthat you are promoting >as well.
    Expressing an opinion on a product just based on its
    underlying technology without proper evaluation
    doesn't sound like constructive criticism.
    So you are claiming that your product is in fact more stable than the VM or at least as stable even though it has had far, far less usage?
    The only thing that can be said about the product so
    far, it that a product that is in production for some
    years without any problems, has a certain level of
    reliability and quality, whatever the underlying
    technology might be, and that there is enough
    competency with JNI to produce it and advice about
    the technology.
    True. But you were the one that brought up unrelated issues and then, as best as I can tell, thought to challenge my knowledge by pointing out how VMs "really" work.

  • XMII 12.x  Can you get the Server's Time Zone from a webservice call?

    Is there a MII / NW webservice call to get the server's time zone?

    After thinking about it a little my best approach was just a simple JSP page, because I really was more intersted in the servers GMT offset.
    <%@page import="java.util.*" %>          
    <%
    Calendar myCalendar = new GregorianCalendar();  
    int gmtOffset = (myCalendar.get(Calendar.ZONE_OFFSET) + myCalendar.get(Calendar.DST_OFFSET))/(1000 * 3600); 
    %>
    <%=gmtOffset %>

Maybe you are looking for