Procedural message handling with Multiuser?

I am developing a multiplayer game. I am having issues structuring how to handle incoming messages from the Multiuser server to the client. At the moment I have a default message handler function that references the message subject using jump lists (case) and executes functions accordingly. However this doesn't seem efficient. For example, when I first connect to the server, I want the client to request a character's data from the server, which is fine and already implemented. The incoming message handler in the client checks for a "GetCharacterData_Response" and when it's received, I then need to request map data from the server, which is also fine. Here's some example code I have currently:
This is within the incoming message handler.
case (message.subject) of
  "GetCharacterData_Response":
     _global.Character = message.content
     _global.Multiuser.sendNetMessage("system.script", "GetMapData_Request", message.content.mapCoords)
  "GetMapData_Response":
     _global.Map = message.content
end case
However I may not necessarily always need to request map data directly after receiving the character data. I feel the way I am currently using this structure just isn't efficient and I will be doubling up on a lot of code because there is such a diverse range of situations of when to obtain data and then what to do with that data. Do you guys have any suggestions or feedback regarding this?
Thanks in advance.

If you want character data and map data, why not request both at the same
time (or just request one if you only need one)?  If you need to make sure
you have character data before map data, then maybe have a check if
character data is empty not to request map, etc.
I've found it pretty efficient to code everything as object oriented and
modular as possible.  Then you can set up your logic and use all of your
functions as need be.  You might have extra code in doing that, but the
versatility and sleekness will pay off big time.  The computer can execute
insane amounts of code per millisecond, so don't worry too much, although
cutting down on network traffic is cool.

Similar Messages

  • Message handling with multiple lines to display

    We have a requirement to issue an error message during dialog processing (PAI) and I'd like to use standard message handling if possible.  The syntax
    MESSAGE W008(ZTM) DISPLAY LIKE 'I'.
    gives me a dialog box but handles the message as an error hence processing stops and the user returns to the screen.  I want this functionality but with the ability to display several lines in the message pop up box.  I've looked at the function modules POPUP_DISPLAY_MESSAGE but this displays only 1 line and POPUP_TO_CONFIRM which handles multiple lines but doesn't stop processing (unless further code is added to handle the response).  Can someone suggest a standard of way of achieving this requirement or how to handle a response as an error in the subsequent processing after a call to function module POPUP_TO_CONFIRM.

    hi,
    you can handle like this.
    call function 'POPUP_TO_CONFIRM'
            exporting
              titlebar                    = text-000
      DIAGNOSE_OBJECT             = ' '
              text_question               = v_text
              text_button_1               = 'YES'
      ICON_BUTTON_1               = ' '
              text_button_2               = 'NO'
      ICON_BUTTON_2               = ' '
              default_button              = '1'
              display_cancel_button       = 'X'
      USERDEFINED_F1_HELP         = ' '
             start_column                 = 25
             start_row                    = 6
      POPUP_TYPE                  =
      IV_QUICKINFO_BUTTON_1       = ' '
      IV_QUICKINFO_BUTTON_2       = ' '
           importing
             answer                      = v_ans
    TABLES
      PARAMETER                   =
           exceptions
             text_not_found              = 1
             others                      = 2
          if sy-subrc <> 0.
            message id sy-msgid type sy-msgty number sy-msgno
                    with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
          endif.
          case v_ans.
            when '1'.
              leave program.
            when '2'.
              call screen 100.
            when others.
              call screen 100.
          endcase.
      endcase.
    Here : 1 means yes,
              2 means no.
    Regards
    Sandeep Reddy

  • Empty Message Handling with Receiver File adapter

    Hi,
         We were using the "Empty-Message-Handling" (status set to Ignore) of Receiver file adapter to stop a 0 KB file from being written to the specified directory.
    However, inspite of this, a 0KB file continues to be written.
    The specifications are given below-
    File Construction Mode - Add Time Stamp
    Put File - Directly
    Empty Message Handling - Ignore
    Maximum Concurrency - 1
    File Type - Binary
    Can anyone please help with this.
    Thanks and Regards,
    Shiladitya

    HI,
    In one of thread the same problem was coming. Just look at the thread.
    Receiver file adapter creates empty files, Empty-Message Handling SP19
    Or
    Follow the weblog for the same requirement.
    /people/gowtham.kuchipudi2/blog/2006/01/13/stop-creation-of-an-empty-file-from-file-adapter-using-module
    Thnx
    Chirag
    Reward points if it helps.

  • Web service client needs to share data with a SOAP Message Handler

    I have a web service client that is built using WebLogic 10 clientgen. I also have a Soap Message Handler configured that will create the required Soap Headers for the web service call.
    Creating these Soap Headers works great as long as the header data is static but the problem comes up when I need to place some dynamic data in these headers. The web service client has this data and somehow needs to pass it to the Soap Message Handler. It looks like I need to somehow have the client place this data in the MessageContext before the call so the data can be accessed by the Soap Message Handler.
    How do I get access to the MessageContext from the client or is there a better way to do this?
    Thanks in advance for any help you can give.

    You may want to check the response to this previous post to see if it yields any ideas for you:
    Not able to Pass header info to Microsoft MapPoint WebService using WLS10

  • Receiver file adapter creates empty files, Empty-Message Handling SP19

    Hello,
    We have just upgraded the system to SP19.
    One of the new features is that it should be possible to determine how XI messages with an empty main payload are to be handled in the receiver file adapter.
    If the parameter Empty-Message Handling is set to 'Ignore' no file should be created if the main payload is empty. In our case an empty file (size 0 kb) is still created even though the main payload is empty and the flag is set to 'Ignore'.
    Has anybody experienced the same problem?
    //  Best regards  Hans

    This should work:
    Use your own adapter module that parses incoming message and checks if it has any record sets in the document. If it does not have any record sets, then set the message to empty and then give this modified message to File receiver.
    For example, see the example code below:
    Module imports..
    Audit log import..
    DOM imports/SAX imports..
    public ModuleData process(ModuleContext moduleContext, ModuleData inputModuleData) throws ModuleException {
              try {
                   // get the XI message from the environment
                   Message msg = (Message) inputModuleData.getPrincipalData();
                   AuditMessageKey amk = new AuditMessageKey(msg.getMessageId(),AuditDirection.INBOUND);
                   Audit.addAuditLogEntry(amk, AuditLogStatus.SUCCESS,"RemoveRootTag: Module called");
                   XMLPayload payLoad = msg.getDocument();
                   Document doc = parseXmlFile(payLoad.getInputStream());
                   if(doc != null){
                        if(!doc.getDocumentElement().hasChildNodes()){
                             Audit.addAuditLogEntry(amk, AuditLogStatus.SUCCESS, "Document is empty!!");
                             payLoad.setContent("".getBytes());
                             msg.setDocument(payLoad);
                   // provide the XI message for returning
                   inputModuleData.setPrincipalData(msg);
                   } catch (Exception e) {
                   // raise exception, when an error occurred
                   ModuleException me = new ModuleException(e);
                   throw me;
                   // return XI message
              return inputModuleData;
         private Document parseXmlFile(InputStream xmlpayload) {
              try {
                   DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
                   factory.setValidating(false);
                   //        Create the builder and parse the file
                   Document doc = factory.newDocumentBuilder().parse(xmlpayload);
                   return doc;
              } catch (SAXException e) {
              } catch (ParserConfigurationException e) {
              } catch(IOException e){
              return null;

  • Cannot View Doc from Outgoing Payment under Approval Procedure messages

    Hi Experts,
    Both Originator and the approver cannot view the some of the pending and rejected documents when they are trying to edit the docuemtns from the approval procedures messages and approval decision reports.
    In effect, the approval cannot approvbed the documents as he cannot check the document for approval. The documents can be viewed from the payment draft dopcument. It will be tedious for the approval to go back and forth to draft document and approval decesion report.
    I already check the authorization for outgoing payment they both have full authorization. I can view the document as a super user. I need to know what other authorization do I need to check
    Both originator and  approver has full acess on outgoing payment since some of the documents can be viewed som3 documents cannot bew viewed.
    Please help. We are in the data catch up mode for October 2009.
    We are using 2007B PL10
    Regards,
    Amy
    Edited by: Sandra Callanta on Oct 20, 2009 11:06 AM

    Hi
    Login with userid who will approved the document
    Go in Admin > Approval Procedure > Approval Decision Report >
    Select first check box " No Decision Yet"
    select the pending one and approved it > update > ok
    Thanks
    Kevin

  • Advantages of Using Queued Message Handler vs. Standard State Machine

    Hello,
    What are the advantages of using a Queued Message Handler?  Also, why are they more powerful than using Standard State Machines?
    Thanks!

    They are really just sort of an extension of a state machine.  The general idea is that you have one loop doing a specific job.  You then use a queue to tell it how/when to do this job.  For instance, I might have a log file loop.  I will send it commands to open a file, write some data, write some more data, and finally close the file.  Each of those commands are coming from the queue.  The beauty with this setup is that anybody that can get a reference to that queue can send the command to that loop.
    So the QMH is "better" than a state machine mostly because of the decoupling of functions.  In a given application, I will have a loop for log file writing, GUI updates, reading of a DAQ, instrumenet communications, server communications, etc.  Trying to do all of that in a single loop state machine is a major pain in the rear end.  Seperating them out makes life so much easier.
    There are only two ways to tell somebody thanks: Kudos and Marked Solutions
    Unofficial Forum Rules and Guidelines

  • Recevier adapter empty message-handling ignore

    Hi all,
    I configured file receiver adapter with file content conversion (comma separated).
    In processing parameters Empty-message handling is set to Ignore.
    Payload that is in message generated from SAP is:
      <?xml version="1.0" encoding="utf-8" ?>
         <mt_ap_invoice xmlns:prx="urn:sap.com:proxy:DES:/1SAI/TAS128FC2C2C3C8E901DC22:700:20 08/06/25" />
    There are no any data that is filling structure (structure main node is defined as 0...unbounded) and still empty file with 0 bytes is created.
    Please can you tell what is wrong in this setup as In case of empty message I don't want that file is generated?
    Regards,
    Nenad

    - open Integration Builder
    - open your file receiver adapter
    - go to tab Processing
    - change Empty Message-Handling to 'Ignore'
    Cheers,
    André

  • Messaging server with openldap

    Hi all,
    Is anybody here has an experience in handling sun java messaging server 7u2 with open ldap?
    I tried to connect the messaging server with open ldap but still got error "Could not connect to LDAP server".
    Isn't possible for them to communicate?
    Pls advise.

    Hi, Shane,
    I seem to be half way with the external LDAP stuff but run into problems. I added a set of objectclasses and attribute types to OpenLDAP. Next I changed the option.dat (and ran a cnbuild):
    ALIAS_URL0=extldap:///$V?*?sub?$R
    REVERSE_URL=extldap:///$V?$N?sub?$R
    LDAP_EXT_HOST=10.20.30.40
    LDAP_EXT_USERNAME=cn=Manager,dc=domain,dc=nl
    LDAP_EXT_PASSWORD=secret
    LDAP_EXT_BASEDN=dc=domain,dc=nl
    LDAP_EXT_MAX_CONNECTIONS=10
    LDAP_EXT_INITIAL_CONNECTIONS=0
    DOMAIN_MATCH_URL=extldap:///dc=domain,dc=nl?objectclass?sub?(&(objectClass=sunManagedOrganization)(|(associatedDomain=$D)(sunPreferredDomain=$D)))
    Would this constitue a valid configuration?
    The good news is that I see LDAP connections arriving at the OpenLDAP server. The bad news is that:
    1. I get errors on the ALIAS_URL0 and REVERSE_URL LDAP queries (see below for the log)
    2. the $D in the DOMAIN_MATCH_URL is not replaced by the domainname before the LDAP query is started, so in the output of imsimta test -rewrite -debug and in the log file of OpenLDAP the $D characters show up instead of the domainname they should represent
    Ad 1. error log in OpenLDAP:
    Aug 28 15:18:50 ws22763 slapd[7535]: daemon: read active on 12
    Aug 28 15:18:50 ws22763 slapd[7535]: daemon: epoll: listen=7 active_threads=0 tvp=NULL
    Aug 28 15:18:50 ws22763 slapd[7535]: daemon: epoll: listen=8 active_threads=0 tvp=NULL
    Aug 28 15:18:50 ws22763 slapd[7535]: connection_get(12)
    Aug 28 15:18:50 ws22763 slapd[7535]: connection_get(12): got connid=10
    Aug 28 15:18:50 ws22763 slapd[7535]: connection_read(12): checking for input on id=10
    Aug 28 15:18:50 ws22763 slapd[7535]: conn=10 op=0 do_bind
    Aug 28 15:18:50 ws22763 slapd[7535]: >>> dnPrettyNormal: <cn=Manager,dc=domain,dc=nl>
    Aug 28 15:18:50 ws22763 slapd[7535]: <<< dnPrettyNormal: <cn=Manager,dc=domain,dc=nl>, <cn=manager,dc=domain,dc=nl>
    Aug 28 15:18:50 ws22763 slapd[7535]: conn=10 op=0 BIND dn="cn=Manager,dc=domain,dc=nl" method=128
    Aug 28 15:18:50 ws22763 slapd[7535]: do_bind: version=3 dn="cn=Manager,dc=domain,dc=nl" method=128
    Aug 28 15:18:50 ws22763 slapd[7535]: ==> bdb_bind: dn: cn=Manager,dc=domain,dc=nl
    Aug 28 15:18:50 ws22763 slapd[7535]: conn=10 op=0 BIND dn="cn=Manager,dc=domain,dc=nl" mech=SIMPLE ssf=0
    Aug 28 15:18:50 ws22763 slapd[7535]: do_bind: v3 bind: "cn=Manager,dc=domain,dc=nl" to "cn=Manager,dc=domain,dc=nl"
    Aug 28 15:18:50 ws22763 slapd[7535]: send_ldap_result: conn=10 op=0 p=3
    Aug 28 15:18:50 ws22763 slapd[7535]: send_ldap_result: err=0 matched="" text=""
    Aug 28 15:18:50 ws22763 slapd[7535]: send_ldap_response: msgid=1 tag=97 err=0
    Aug 28 15:18:50 ws22763 slapd[7535]: conn=10 op=0 RESULT tag=97 err=0 text=
    Aug 28 15:18:50 ws22763 slapd[7535]: daemon: activity on 1 descriptor
    Aug 28 15:18:50 ws22763 slapd[7535]: daemon: activity on:
    Aug 28 15:18:50 ws22763 slapd[7535]:
    Aug 28 15:18:50 ws22763 slapd[7535]: daemon: epoll: listen=7 active_threads=0 tvp=NULL
    Aug 28 15:18:50 ws22763 slapd[7535]: daemon: epoll: listen=8 active_threads=0 tvp=NULL
    Aug 28 15:18:50 ws22763 slapd[7535]: daemon: activity on 1 descriptor
    Aug 28 15:18:50 ws22763 slapd[7535]: daemon: activity on:
    Aug 28 15:18:50 ws22763 slapd[7535]: 12r
    Aug 28 15:18:50 ws22763 slapd[7535]:
    Aug 28 15:18:50 ws22763 slapd[7535]: daemon: read active on 12
    Aug 28 15:18:50 ws22763 slapd[7535]: daemon: epoll: listen=7 active_threads=0 tvp=NULL
    Aug 28 15:18:50 ws22763 slapd[7535]: daemon: epoll: listen=8 active_threads=0 tvp=NULL
    Aug 28 15:18:50 ws22763 slapd[7535]: connection_get(12)
    Aug 28 15:18:50 ws22763 slapd[7535]: connection_get(12): got connid=10
    Aug 28 15:18:50 ws22763 slapd[7535]: connection_read(12): checking for input on id=10
    Aug 28 15:18:50 ws22763 slapd[7535]: ber_get_next on fd 12 failed errno=0 (Success)
    Aug 28 15:18:50 ws22763 slapd[7535]: connection_read(12): input error=-2 id=10, closing.
    Aug 28 15:18:50 ws22763 slapd[7535]: connection_closing: readying conn=10 sd=12 for close
    Aug 28 15:18:50 ws22763 slapd[7535]: connection_close: conn=10 sd=12
    Aug 28 15:18:50 ws22763 slapd[7535]: daemon: removing 12
    Aug 28 15:18:50 ws22763 slapd[7535]: conn=10 fd=12 closed (connection lost)
    and in the output of imsimta test -rewrite -debug:
    15:15:10.38: Looking up host "host.domain.nl".
    15:15:10.38: - found on channel l
    15:15:10.38: Routelocal flag set; scanning for % and !
    15:15:10.38: Checking reverse URL cache for: [email protected]
    15:15:10.38: Applying reverse URL pattern extldap:///$V?$N?sub?$R to: [email protected]
    15:15:10.38: Resulting URL: extldap:///$V?$N?sub?$R
    15:15:10.38: mmc_open_url_reason called to open extldap:///$V?$N?sub?$R, flags = 384
    15:15:10.38: URL with quotes stripped: extldap:///$V?$N?sub?$R
    15:15:10.38: LDAP URL identified
    15:15:10.38: URL context #1 will be used
    15:15:10.38: Performing URL search on: extldap:///$V?$N?sub?$R
    15:15:10.39: URL open result -2: Search failed: Bad search filter (87)
    15:15:10.39: URL resolution failed, status = -2
    15:15:10.39: Override postmaster:
    15:15:10.39: Mapped return address: [email protected]
    15:15:10.39: from_access mapping check: ||MAIL|l|[email protected]|
    Ad 2: the imsimta test -rewrite output:
    *** Debug output from rewriting a forward envelope address:
    15:10:59.48: Rewriting: Mbox = "user", host = "domain.nl", domain = "$*", literal = "", tag = ""
    15:10:59.48: Rewrite: "$*", position 0, hash table -
    15:10:59.48: Found: "$A$E$F$U%[email protected]"
    15:10:59.48: Match, pattern = "domain.nl", current = "(*domaincheck*)"
    15:10:59.48: old state = not checked.
    15:10:59.48: Domain check on domain.nl.
    15:10:59.49: mmc_open_url_reason called to open extldap:///dc=domain,dc=nl?objectclass?sub?(&(objectClass=sunManagedOrganization)(|(associatedDomain=$D)(sunPreferredDomain=$D))), flags = 0
    15:10:59.49: URL with quotes stripped: extldap:///dc=domain,dc=nl?objectclass?sub?(&(objectClass=sunManagedOrganization)(|(associatedDomain=$D)(sunPreferredDomain=$D)))
    15:10:59.49: LDAP URL identified
    15:10:59.49: URL context #1 will be used
    15:10:59.49: Performing URL search on: extldap:///dc=domain,dc=nl?objectclass?sub?(&(objectClass=sunManagedOrganization)(|(associatedDomain=$D)(sunPreferredDomain=$D)))
    15:10:59.50: URL open result 0: Search succeeded but result set was empty
    15:10:59.50: Added domain result 0 to cache for domain.nl.
    15:10:59.50: new state = fail pending.
    15:10:59.50: Rewrite failed due to prechannel mismatch.
    and in OpenLDAP:
    Aug 28 15:14:39 ws22763 slapd[7535]: conn=9 op=1 SRCH base="dc=domain,dc=nl" scope=2 deref=3 filter="(&(objectClass=sunManagedOrganization)(|(associatedDomain=$d)(?sunPreferredDomain=$D)))"
    Some questions:
    1. are the settings in option.dat correct
    2. if so, why is the $D not expanded before the LDAP lookup is performed?
    3. it seems OpenLDAP doesn't like the search filter; where can I find the meaning of the $R
    Your help greatly appreciated.
    /rolf

  • Event Handler with Internal Loops

    Hi...
    I'm trying to update a basic program to handle control events more efficiently.  The program needs to perform the following functions on start button press:
    1)  Import data file and parse instrument settings from multiple (X) rows
    2)  Perform loop with case for each row changing input settings, the read test equipment, and store data in new output data file
    I've looked at producer/consumer example and the continuous measurement and logging example, but not sure if either (or none) of the following two options is the best way to handle the looping from the file...
    A)  Use events to trigger looping for all input cases within a consumer (I've had a problem with this due to not being able to terminate the loop within the consumer with an abort button)
    B)  Make the consumer only a single data acquisition and load loop inputs as queues and generate output queues to be handled by another parallel logging loop
    Any advice?

    Hi bripple,
    Based on what you've described above, a Producer/Consumer Design Pattern (Events) might work. There is a template for this design pattern that ships with LabVIEW which you can access by going to File > New > VI > From Template > Frameworks > Design Patterns. When the user clicks the start button on your front panel, you can queue up a command that will trigger your consumer loop to read the file and loop over each instrument setting. Within that loop, you should be able to queue up additional events corresponding to each instrument setting and reading.
    In terms of error handling, you can conditionally stop a loop if you detect an error. If your user decides to push a button on the front panel to stop the entire process, you can use Enqueue Element at Opposite End to put a stop command at the beginning of the queue. When your consumer loop encounters this event, it can flush the queue and do any cleanup it needs to perform.
    One additional thing to be cautious of is that queues can only handle one data type. Because of that, you may also want to consider a Queued Message Handler design pattern. This design pattern allows you to send both a command and data along with that command. I think that would be ideally situated for you since you could send a "Read Instrument" command along with the data for its settings. You can access this design pattern from within LabVIEW as well. If you have LabVIEW 2012 or LabVIEW 2013, see these instructions. The things I've said above also hold true for the Queued Message Handler as well.
    Let me know if you have any questions or if this is helpful.
    Regards,
    Matthew B.
    Applications Engineer
    National Instruments

  • Web-services.xml for EJB component and SOAP Message Handler Chain

    I have used the following example for my own web service with EJB component and SOAP
    Message Handler Chain:
    http://e-docs.bea.com/wls/docs70/webServices/dd.html#1058208
    I have a deployment error:
    javax.naming.NameNotFoundException: Unable to resolve 'app/ejb/DocumentService.j
    ar#DocumentService/home' Resolved: 'app/ejb' Unresolved:'DocumentService.jar#Doc
    umentService' ; remaining name 'DocumentService.jar#DocumentService/home'
    In attachement is the ear file.
    Is there a problem in web-services.xml?
    Thanks
    [ws_dox_sdi.ear]

    It works. Thanks,
    Ioana
    "Neal Yin" <[email protected]> wrote:
    The error means your EJB is not deployed.
    Adding a EJB module to your application.xml file of the ear should fixe
    it.
    <application>
    <display-name />
    <module>
    <web>
    <web-uri>dox_sdi.war</web-uri>
    </web>
    </module>
    <module>
    <ejb>DocumentService.jar</ejb>
    </module>
    </application>
    "Ioana Meissner" <[email protected]> wrote in message
    news:3cf640cc$[email protected]..
    I have used the following example for my own web service with EJBcomponent and SOAP
    Message Handler Chain:
    http://e-docs.bea.com/wls/docs70/webServices/dd.html#1058208
    I have a deployment error:
    javax.naming.NameNotFoundException: Unable to resolve'app/ejb/DocumentService.j
    ar#DocumentService/home' Resolved: 'app/ejb'Unresolved:'DocumentService.jar#Doc
    umentService' ; remaining name 'DocumentService.jar#DocumentService/home'
    In attachement is the ear file.
    Is there a problem in web-services.xml?
    Thanks

  • General Inquiry Regarding Error Handling with System Exec.vi

    I have a sub vi that uses the System Exec.vi to send SMS messages when triggered. I am confused as to how the error handling works and why all of the errors seem to go to the "standard error" vs the "Error out". The reason I am interested is because I am trying to interrupt the error out of another script to execute a command if error=true.
    I have intentionally created an error to test this, however it does not seem that the signal is ever being sent to the error out, only to the standard error.
    Any help/explanation as to how this works would be greatly appreciated.

    The Facebook discussion board is just a pilot and that functionality is not available yet (as to my knowledge). You will have to use the actual forum thread to add attachments. You can click the arrow just to the right of thread topic in the Facebook thread and that will take you to the ni.com/forums thread. Or you can navigate here:
    http://forums.ni.com/t5/LabVIEW/General-Inquiry-Regarding-Error-Handling-with-System-Exec-vi/m-p/246...
    Having a look at your VI would help to clarify the error handling issue.
    Daniel K | NI Applications Engineer | Certified LabVIEW Developer

  • Error handling with SUBMIT

    Hello Experts!
    Is it possible to handle errors generated in a program called with SUBMIT ?
    for example I am calling a program REPORT00
    SUBMIT REPORT00
            WITH  PARAM_1 = 'X'
                AND RETURN.
    And say there are some validations in REPORT00 that throws an error.
    I see that when it throws an error, the screen on REPORT00 is displayed, which would not be prefered!
    Is there a way to handle this?
    Awaiting your valuable responses....
    Thanks in advance

    REPORT00 need to write the messages to File and download it later or need to write to spool... I guess its not possible to handle with submit statement...

  • XI Bulk Message Handling

    Hi Expert,
    I need to send around 200,000 records as one message from R3 side to 3rd party through PI. I am using proxy to FTP scenario and use SOAP adapter type, XI 3.0 message protocol (use AAE) for proxy. Since the message size is too big, I got an error when I send out "HTTP response contains status code 400 with the description Bad Request". Can anybody tell me how to handle this situation? I see Soap adapter has an option "XI Bulk Message Handling - split XI Bulk Messages". Can anybody tell me if this can solve my problem? And how to use it?
    Thanks a lot!
    Charles

    >Can anybody tell me how to handle this situation? I see Soap adapter has an option "XI Bulk Message Handling - split XI Bulk >Messages". Can anybody tell me if this can solve my problem? And how to use it?
    You might want to use Message Packaging. This might be helpful for perfromance improvement and throughput will be considerably increased.
    Have you seen this [link|http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/10b54994-f569-2a10-ad8f-cf5c68a9447c?QuickLink=index&overridelayout=true] ?

  • Did anyone tried Rejection Message Handler via Queue based method?

    Dear All,
    I am presently doing a Rejected Message Handler process and successfully implemented with File based and Web Service based. But I am not getting the clue for Queue based. We can enqueue the rejected message into queue as a JMS message via this method. But the URI format they have given is *"jdbc:oracle:thin:@<host>:<port>:<sid>#<un>/<pw>#queue"*. Format includes jdbc connection string along with queue name. For this I have created JMS module with JDBC Persistent store and created queue in it. But still I am not able to enqueue the message inside the queue. Also, is there anyway to see the queue names inside the DB. Did anyone tried this method? Could you please share the info??

    WL JMS Queue consume>BPEL1 (One way) invoke>Mediator service (one way) route> BPLE2 (one way). Also I have added transaction properties in BPEL1 and 2 + References + Services.
    Now, if there is a fault in BPEL2 the transaction should be rolled back in BPEL1 and the message should be seen in the WL queue itself. But that is not happening in my case. Everything is getting rolled back upto a point just after the >recieve activity in BPEL1 except the message is not getting rolled back to queue.There will be 2 transactions in this scenario : 1) jms queue to soa hydration store 2) soa-hydration to bpel execution.
    This is the behaviour for 1 way or async interfaces , jms adapter thread completes its transaction work after persisitng to dehydration store and another bpel system thread starts work executing the bpel code after retrieving the message off the db in a separate transaction. So the rollback you are seeing is only applicable for 2nd transaction which roll backs to the dehydration store instead of the queue.
    For synchronous interfaces, the same adapter thread will be involved for complete message processing including bpel code execution. So I think if you want to get the jms queue within the same transaction you can try set up the interfaces to be sync, even with dummy responses. This might make jms adapter thread to start a transaction --> read message off queue within the same transaction --> execute bpel code within same transaction --> complete/rollback transaction based on bpel code execution.

Maybe you are looking for

  • My external hard drive won't show up on my macbook air, and my iPhone when connected won't show up as connected in iTunes, help

    When I connect my external hard drive to my MB Air it is to recognizing it. It did 2 days ago and it is compatible I have been using it for a month now. Also when I connect my iPhone 6 to it, it won't show up in iTunes anymore......please help

  • Problem with creating pdf from Microsoft Publisher 2013

    We are having problems in creating pdfs from Microsoft Publisher2010- When the function 'Adobe PDF' is selected and 'Print' is clicked on nothing happens. The progress bar just sits there for several minutes without creating a pdf. We have to click o

  • Extractor for goods issue

    Can anyone send me the name of the extractor for goods issue? Does it comes under SD? or MM fullfillment?  Thanjs Raj

  • Running Diagnostic setup Wizard

    Hi All, My Portal Version EP6.0 Service Pack 18. I have deployed LMSERVICE11_0-20001429.SCA and LMSERVICE11P_1-20001429.SCA  files through sdm. In Visual Admin I have started the below Applications.. sap.com/tcwebadministratorsolmandiag & sap.com/tcs

  • Slideshow Chain Play

    iPhoto Slideshow is one of most favorite functions and I have created more than 200 slideshow. And sometimes I want to play several slideshow consecutively as a background video. Is there any way to play the slideshow consecutively apart from exporti