BLS transaction SocketTimeoutException

I have a transaction which has a number of reads/writes to 2 Oracle databases. It has been running OK for a number of months but now it has stopped writing to one of the Oracle databases. When I execute the transaction within the Logic Editor I get the message: Error executing transaction: java.net.SocketTimeoutException: Read timed out. By playing around with the transaction it appears that executing the SQL Query on this Oracle database is what is causing the timeout. However, running the query in the Query Template test mode works fine! Also, other applications running on this database are running OK. What could be causing this problem?
Thanks,
John.

Jeremy,
The timeout hasn't been changed; it is the default 60 seconds. However, when I ran a test of the query in the Template Editor it completed in a matter of a few seconds so I am very surprised that it would timeout in 60 seconds in the transaction. The strange thing is that the transaction has started working again as of yesterday without making any changes! It had also worked OK for the previous couple of months; I have never encountered this timeout error before. What would account for it giving this error all of a sudden and then failing like this for a number of days before righting itself? There have been no problems with other applications accessing this database or the server this database is on. One other thing I had a problem with while this timeout was occurring was that the xMII Schedule Editor failed to open (I reported it in this forum as Empty values in Oracle result sets not returned as empty in Query templates). This has also righted itself!! Is there any way we can check back to see what might have caused these problems and also prevent them happening in the future?
Regards,
John.

Similar Messages

  • Posting an XML Variable to a BLS Transaction from a web page

    I am working in xMII 11.5 with all the latest service packs. I know this is probably a really basic question but I am stumped.
    I am trying to pass a multi row and multi column XML data set from a web page into a BLS transaction (actually, two of them) in order to populate the parameter. I want to use the Web Service interface to the transaction. I have tried using parameters on an Xacute Query in an Applet as well with an equal lack of success. I cannot persuade the transaction to see the incoming variable as an XML data type. I have tried encoding and decoding and string to xml conversions and nothing seems to successfully allow the data set to be seen withing the BLS as anything but a string. The String to XML action will not handle the number of columns in the dataset though it seems to work if the data set has only one column. The data set is formatted in the proper "Rowsets/Rowset/Row" format. I have considered writing the data to an XML file on the server (I know I can deal with that) but that is not acceptable in this application.
    Can someone share the secret with me?
    ...Sparks

    Parameter value:
    r1d1,r1d2,r1d3;r2d1,r2d2,r2d3;r3d1,r3d2,r3d2
    Pass thru String List to Xml Parser with delim ";"
    <Row>
    <Item>r1d1,r1d2,r1d3</Item>
    </Row>
    <Row>
    <Item>r2d1,r2d2,r2d3</Item>
    </Row>
    <Row>
    <Item>r3d1,r3d2,r3d2</Item>
    </Row>
    Repeat on each row/item and pass thru String List to Xml Parser with delim ","
    <Row>
    <Item>r1d1</Item>
    </Row>
    <Row>
    <Item>r1d2</Item>
    </Row>
    <Row>
    <Item>r1d3</Item>
    </Row>
    Of course, your columns aren't flat but they are easy to ref, to get "column 2" for example:
    StringListToXml_1.Output{/Rowsets/Rowset/Row[2]/Item}
    So now you have rows and columns. Assign your data to your BAPI structured as needed.
    We have passed complex XML via the SOAP interface in 11.5, but it involved some "hacks". Basically we passed the sterilized XML via a String Type Parameter, and then unserialized it inside the BLT.  
    I have been told on this board that there is a solution to passing XML data vie the SOAP interface using ref docs, but i have never personally seen a working example.

  • Read Idoc Data In xMII 12 BLS Transaction

    Hi All,
    I am new to xMII.
    I followed the instructions suggested in the Document "How to Send an IDoc from the SAP R/3 Enterprise to the SAP xMII IDoc Listener" By Diana Hoppe and Michael Appleby written on 04 Dec 2008. It was pretty simple  and i was able to complete all the steps.
    In the Message Monitor in xMII 12.0 i am able to see " 5 Messags Found" and they are listed below in a grild with the server name, Message Name, Message Type etc
    Example
       Server Name   Message Type    Message Name    Message Category   Received Time                      Processing Time
       MII_IDOC          IDoc                     LOIPRO01            MII_IDOC                    2009-07-10 02:11:25.911  
    Now i would like to know how do i read the contents of this IDOC i.e Production order? Is there a sample or  stepby step guide which explains how i can get this data into an xML message in a BLS Transaction?
    Are there any simple steps to be followed to get this data from the IDOC?
    Please help me undestand this. Thanks in advance.
    Regards
    Suraj Prabhu

    Hi Dipankar,
    I had Pre ordered your book and I  just received a copy. The first impression wrt the Contents & Coverage of the book looks excellent.
    Congratulations to you and Abesh on this achievement. Writing a book on a topic which there has been no book written earlier is a great feat on its own.
    Will be spending more time with the book today evening.
    My Expectations from this book:
    1. A good intermediate to Expert developer/ BA / Architect guidance.
    2. Error Handling & Implementation - Best practices
    3. A Reference book for the current implementation I am doing with a customer :).
    Will keep you updated with my comments on the book. Since this is a first time I am working on a xMII implementation this book will be a life saver for me and could not have come at a better time. Thanks again.
    BTW u2013 First thing I checked in the book was steps on how to read the data from the IDOC in the Buffer and that has been explained pretty well and in detailsu2026.. Thanks again for that.
    Regards
    Suraj Prabhu

  • IDOC Listener not calling BLS Transaction

    All,
    I am running xmii 11.5.4.  I have a single IDOC Listener configured with a Routing Rule for Message Type = "PROCESS_MESS_DOWNLOAD".  The Routing Rule is defined to trigger a BLS called "TEST_BLS".  The Listener is configured with the BLS Input Parameter.
    The Listener processes the incoming message by writing the XML file to the defined Path with no problems.
    The issue is the BLS Transaction will not trigger.  The Transaction has a single Transaction Property of data type XML with no default value defined.
    I have tried using a simple Transaction with nothing but an Event Logger or XML Trace actions to verify the Transaction is being executed. But nothing occurs.
    I have viewed the General Log and see no errors or warnings or fatal log entries.
    The Transaction works fine manually from inside Logic Editor and even runs from a URL invokation.
    Any ideas of what to look for or try would be greatly appreciated.
    Thanks,
    Chuck

    Udayan,
    The Transaction consists of only an Event Logger Action and an XML Tracer Action.  Neither of these are apparently executing.  No event is logged and no entry is made to the XML Tracer file. The Transaction has a Transaction Property defined as stated in my first post.
    I have noticed through trial and error that the IDOC Listener only works with the asterick message type.  The actual message type of the IDOC is evidently not being read by the Listener.  The IDOC being created is coming from a PPPI Process Message.  The first few lines are:
    <?xml version="1.0" encoding="UTF-8"?>
    <PROCESS_MESS_DOWNLOAD>
    <INPUT>
    <CLIENT>200</CLIENT>
    </INPUT>
    <TABLES>
    <MSEL>
    <item>
    <MSID>100000000000000537</MSID>
    Thanks,
    Chuck

  • Using Calculation Action in BLS Transaction

    I'm trying to pass the values of two tags in a tag query into a calculation action in a BLS transaction and add the two values together.  I'm linking the action result property to the expression that does the calculation.  When I click on the 'Evaluate' button in the link editor I get the correct result but the action result itself is always zero and zero gets passed into my next action block.  Any ideas?  (I'm using xMII 11.5 SP3)

    Thanks, Jeremy.  The variables coming out of my tag query are doubles.  I'm not sure how to tell what the data type of the calculation "result" variable is.
    My result variable for each calculation always seemed to be zero (I mean I would hover my mouse pointer over "result" and I'd see a zero).  I decided to write my results out to a text file and it looked OK so I'm not sure why I was seeing zeroes in the link editor.
    In any event, my output from the transaction seems to be OK so I'm ready to declare success and move on.
    David

  • Output Parameters - BLS Transaction

    Hi,
    i set an input and output parameter in BLS transaction. Output parameter mapped with write_file.success. i call this transaction via xacute query. i am sending input parameters successfully. the file created. but i want to know at front end via writefile_success. how to call this output parameter via applet? i tried document.<my applet>.getQueryObject().getParam(1). but it shows no object like this. how to do it?
    -senthil

    Hi Senthil,
    If you need a output parameter of a bls from front end.You need to create and Xacute query for that transaction and in the html add the query as a iCommand applet and after executing the applet,Use the line below  to get output parameters of the BLS.
    document.iCommandAppletName.getValue(COLNUMBER,ROWNUMBER)
    Regards,
    Ravi Kumar

  • BLS transaction execution time

    When I run a BLS transaction,  its execution started time is 4 hours ahead .  I looked at my xMII server time and it is OK .  What should be happening ?

    Thanks michael,
    In fact,  it seems that the problem is in the SERVLETEXEC service  . In the system properties option  windows at the bottom one can change the user time zone option .
    I will let you know if this is the right solution .  By the way,  how can I change the user and password for the SERVLETEXEC application . You can acces this application by using the  http://localhost/servletexec/admin in you xMII server URL .
    Best Regards,

  • Creating a Work Order List with a BLS Transaction

    I'm trying to create a list of work orders at a specific plant with a BLS transaction.  I'm running 4.6c.  I'm having trouble finding a BAPI that I can use for this.  The BAPI list in BAPI Explorer seems rather abbreviated when it comes to plant maintenance functions.  Any ideas?

    I did find one BAPI that looked promising 'BBP_PMORDER_GET_LIST' but unlike other BAPI's that had an INPUT section and an OUTPUT section, this one just had a TABLES section (and I couldn't find any documentation with it)
    What is involved in creating a custom BAPI?
    (We'll be on ERP2005 next spring so these 4.6c issues are temporary.)
    I appreciate your help with this.

  • Lag when calling BLS Transaction from within another

    Using MII 12.0.
    In MII class, they told us a "best practice" was to check the "Reload Transaction after Execution" box in the configuration of a Transaction call within a BLS.  The reasoning behind it was that should this not be checked, a previous result of that called BLS transaction would still be cached in memory and used instead of the newly assigned values from within your calling BLS.
    Checking the "Reload transaction after Execution" box forces MII to reload that transaction when it is called.
    In time analysis, what has been noticed is that there's a significant - up to 9 seconds - lag time when one BLS calls another BLS.  On a time-sensitive operation, that is an eternity.  That amount of overhead defeats any hope of using common code libraries.
    Questions -
    1.  Is this a true "best practice", or is it one that adds unnecessary overhead to a BLS? 
    2.  If the calling BLS executes 1 time - but is subject to be executed multiple times over a certain interval - is checking the Reload box of the BLS it is calling unnecessary? 
    3.  Even if you pass new data each time you call that BLS, is it still going to use/return whatever data it has cached until the cache expires?
    4.  Is there another way to ensure that the called BLS uses the data you pass it (and returns the corresponding result set) without incurring the amount of overhead that we have noted? 
    Thanks

    The version we're on is 12.0.6 Build 13, and moving to  12.1 (something I am not directly involved in).  In this version, I'm not seeing the menu options you describe, so it's apparently in 12.1 or later. 
    The issue we are having if the "Reload transaction after execution" box is not selected is indeed caching of values. 
    For example -
    BLS1 runs every 5 minutes
    BLS2 is called from BLS1, and in this case, retrieves error log info from a table - a common module used by several BLS's.
    BLS3 is also called from BLS1, and in this case, writes to an error log using information retrieved from BLS2 from within the execution of BLS1.  BLS2 & BLS3's calls are in 2 separate sequences, one after the other. 
    If BLS2 & BLS3 DO NOT have the "Reload Transaction after execution" checked, each will run with whatever the cached data in memory is for them, even though inside BLS1 I am assigning values to the input of BLS1 to send to BLS2, and passing the returned data from BLS2 into BLS3.  Unless it's checked, BLS2 & BLS3 would continue to be called, however, it would be with whatever data has been cached for them. 
    If that "Reload" switch is checked, it will reload each transaction & call it with whatever data is being passed.
    This was mentioned in the MII class I was in also.  This is a generalization, but the way they described it was being similar to how you might save a web page to your local PC, and that unless that page is refreshed & changed, that from that point on, every time you brought up your saved web page, it would always display the same values in it.  They didn't go into great deal to explain the mechanics of it, but MII would only load it the first time it executed, and that unless you forced it (by checking the Reload switch), it would always execute using the same cached values no matter what you were passing.

  • Executing BLS Transaction through Xacute query template?

    Hi Experts,
    Am having a SQL query template for which am passing value from web page after user input and i have added this SQL in my BLS transaction in illumSQL action block. I have created Xacute query template and display template(iGrid) for displaying output from transaction.
    Problem am facing is that am not able to execute my transaction after passing values to SQL query. How to get this working?
    Regards,
    Ravi Shankar

    Hi som sarkar,
    Let me explain my problem this way, let say am having SQL Fixed query and am doing some field selection based on the parameter which is been passed to the query template.
    -Checked the query template returning values, working good.
    created one Display template to display whatever been fetched by query template(iGrid).
    -Generated applet working good.
    Now if i pass the parameters from webpage to SQL query(parametes are mapped in query template) and update the grid, it should work right but its not...
    Thats what i was trying to ask you so far.
    Regards,
    Ravi Shankar

  • XML INPUT parameter in a MII BLS Transaction

    Hi.
    Please anybody has some good XSD file that can be used as a data type for a xml input parameter of a BLS Transaction ? could share it with us ? I will use it as a sample to create my own XSD file.
    Until now, all XSD files that I created worked but I could not import the webservice on ECC.

    Hi Stephen Kuykendall, thank you.
    I still have to following error message when try to execute the webservice in wsnavigator:
    [location : http://srvsdmii01.malwee.com.br:50000/XMII/WSDLGen/Default/teste2] ERROR : Definition of /definitions/types/s:schema/s:complexType[1]/s:sequence/s:element/s:complexType/s:sequence/s:element is not correct. Missing top level component (uri: 'http://schemas.xmlsoap.org/wsdl/'; name: 'GET_DETAILS').
    I created a XSD file and put your xsd contente there:
    so, I created a transaction propert of type "Input" with Data Type "xml" and assined your XSD with the element "GET_DETAILS":
    The WSDL url (/XMII/WSDLGen/Default/teste2) generated the wsdl with the following content:
    <?xml version="1.0" encoding="UTF-8"?><definitions xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:s0="http://www.sap.com/xMII" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" targetNamespace="http://www.sap.com/xMII">
        <!-- Types -->
        <types>
            <s:schema elementFormDefault="qualified" targetNamespace="http://www.sap.com/xMII"><s:import schemaLocation="http://srvsdmii01.malwee.com.br:50000/XMII/WSDLGen/db/Default/WEB/Entrada.xsd"/>
                <s:complexType name="InputParams">
                    <s:sequence id="InputSequence">
                    <s:element maxOccurs="1" minOccurs="0" name="P_Entrada"><s:complexType><s:sequence><s:element ref="GET_DETAILS"/></s:sequence></s:complexType></s:element></s:sequence>
                </s:complexType>
                <s:element name="XacuteRequest">
                    <s:complexType>
                        <s:sequence>
                            <s:element maxOccurs="1" minOccurs="0" name="LoginName" type="s:string"/>
                            <s:element maxOccurs="1" minOccurs="0" name="LoginPassword" type="s:string"/>
                            <s:element maxOccurs="1" minOccurs="0" name="InputParams" type="s0:InputParams"/>
                        </s:sequence>
                    </s:complexType>
                </s:element>
                <s:complexType name="Rowset">
                    <s:sequence>
                        <s:element maxOccurs="unbounded" minOccurs="0" name="Row" type="s0:Row"/>
                    </s:sequence>
                    <s:attribute name="Message" type="s:string"/>
                </s:complexType>
                <s:complexType name="Row">
                    <s:sequence id="RowSequence">
                    <s:element maxOccurs="1" minOccurs="1" name="P_Saida" type="s:string"/></s:sequence>
                </s:complexType>
                <s:element name="XacuteResponse">
                    <s:complexType>
                        <s:sequence>
                            <s:element maxOccurs="1" minOccurs="0" name="Rowset" type="s0:Rowset"/>
                        </s:sequence>
                    </s:complexType>
                </s:element>
            </s:schema>
        </types>
        <!-- Messages -->
        <message name="XacuteSoapIn">
            <part element="s0:XacuteRequest" name="parameters"/>
        </message>
        <message name="XacuteSoapOut">
            <part element="s0:XacuteResponse" name="parameters"/>
        </message>
        <!-- Ports -->
        <portType name="XacuteWSSoap">
            <operation name="Xacute">
                <input message="s0:XacuteSoapIn"/>
                <output message="s0:XacuteSoapOut"/>
            </operation>
        </portType>
        <!-- Bindings -->
        <binding name="XacuteWSSoap" type="s0:XacuteWSSoap">
            <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
            <operation name="Xacute">
                <soap:operation soapAction="http://www.sap.com/xMII" style="document"/>
                <input>
                    <soap:body use="literal"/>
                </input>
                <output>
                    <soap:body use="literal"/>
                </output>
            </operation>
        </binding>
        <!-- Service mapping -->
        <service name="XacuteWS">
            <port binding="s0:XacuteWSSoap" name="XacuteWSSoap">
                <soap:address location="http://srvsdmii01.malwee.com.br:50000/XMII/SOAPRunner/Default/teste2"/>
            </port>
        </service>
    </definitions>

  • Calling bls transaction on MII server startup

    Hi expert,
    is it possible to call bls transaction on MII server startup?
    Thanks.

    Not that I am aware of - at least nothing directly.  The first thought that would come to mind would be a scheduled job (something with a reasonable interval but not too frequent) that would check /XMII/Illuminator?Service=SystemInfo&Mode=Uptime and do a datediff check between datenow and the xml resulting StartTime.
    At least you will know how long MII's been up and running.

  • BLS Transaction

    Hi Experts,
    I used BAPI_SALESORDER_GETLIST IN BLS transaction to fetch the sales oder Number.it shows no erros , but  not able to get values of the sales order in the specified path in the xml format.
    But when i used BAPI_BANK_GETLIST it is working fine.
    Thanks
    Latha

    You may also find it in BAPI Explorer (transaction code BAPI).  I usually start with the BAPI Explorer and do my testing there before doing any work with it in xMII even if I am already familiar with the BAPI. 
    One other item that you need to be aware of (and this may be the problem you are encountering).  While inside the ERP system, SAP does not require you to put the leading zeroes in front of internal numbers.  However, many of the BAPIs do not automatically set them for you.  Some do.  Most, in my experience, do not.  So if you are looking up something for a Material Number, you have to pre-pend the leading zeroes so that the Material Number is 18 digits in length.  Batch numbers need to be 12, process or production orders, 10 and so on.  NOTE: this applies if you are using standard SAP numbering conventions instead of a custom method (which may include alphabetical characters). 
    Another helpful method is to look at the equivalent internal transaction.  If you can find the records of a successful internal transaction, then you can often figure out what is missing from your external BAPI call.
    Hope this helps,
    Mike

  • Error calling BLS Transaction as Web service

    Hi,
    I am trying to call BLS tranx as Webservice from another BLS Tranx.
    I craeted the simple BLS with no input parameter and set only one output parameter.
    Then i created the WSDL as
    http://<server:port>/XMII/WSDLGen/<Transaction path>.
    In new BLS tranx, i created the Web Service action block and gave this WSDL URL (http://<server:port>/XMII/WSDLGen/<Transaction path>).
    I gave username and password and selected the port(XacuteWSSoap) and then operation( xacute).
    In Links, I gave the Loginname and Password.
    But while executing, it showed the error as
    Error Invoking Web Service Action: Status (401): Unauthorized
    My username and Loginname and passwords are correct only.
    What is the problem and how to solve it.
    Regards,
    Senthil

    Hi,
    Which SAP MII version you are using?
    I have tested one piece in MII 12.0.9 it works for me following are steps which i followed.
    After WSDL generation
    1. in Web service action block --> cofigure i am passing following parameters
    WSDL base URL:  http://<server:port>/XMII/WSDLGen/<transaction Path>
    User Name: XXX
    Password: XXX
    2. in Web service action block --> Links I am passing following parameters
    WSDLUrl : http://<server:port>/XMII/WSDLGen/<transaction Path>
    Web_Service_0.XacuteRequest{/ns1:XacuteRequest/ns1:LoginName} : XXX
    Web_Service_0.XacuteRequest{/ns1:XacuteRequest/ns1:LoginPassword} : XXX
    Refer below SDN thread may be helpfull:
    [Web Service Action Block;
    Hope it helps!!
    Regards,
    Manoj Bilthare

  • TMP starting name BLS transaction

    Hi forum,
    I would like to know under what conditions transactions with starting names "TMP..." are showed in the load transaction dialogue box .
    Thanks in advance

    In order to account for unsaved changes when you run a TRX from the workbench, it will actually do a temp save with the TMP naming convention you see, then run that transaction, deleting the file after the TRX completes.  If for whatever reason a transaction bombs or fails that prevents the cleanup from happening you would end up with leftover TMP saves that you can simply delete.
    If this is happening on a regular basis (TMP trx runs being left in there) then I would look to identify the cause, and log a customer support ticket with the steps to recreate, and attach any relevant screen captures or test transactions.

Maybe you are looking for

  • My ipod touch (3rd generation) is stuck on the screen that shows me to sync it to i-Tunes.

    When I turn on the iPod touch, I get the screen that has a picture showing that I should plug it into iTunes, but when I do, I get a message that says I need a passcode.  I downloaded the latest version of iTunes and ran a diagnostic test to see if t

  • Bapi Fm BAPI_INCOMINGINVOICE_CREATE Giving error *Balance is not equal to .

    Dear All, Note: Cin as implemetned.                Get error from Fm BAPI_INCOMINGINVOICE_CREATE  is Balance is not equal to zero. Have passed the correct inputs to the Fm its Invoice is creting ,while the only case Cenvat comes based in the PO/Vendo

  • Function module for reading service line items of a po

    function module for reading service line items of a po.............I want to read data from eslh and esll tables to getthe service line details..... My requirement is if the item category is 9 I need to print the service line items. So I wan to read

  • N80 text sending time issues

    my n80 takes ages to send a text, like 5 mins, and seizes up whilst sending so i can't do anything else, is this just my phone or a common issue? it also switches itself off and on and it just a bit odd sometimes but i can live with that, just want t

  • EXP-00008: Oracle error 904 encountered

    Hello everybody! Does anybody help me with this error which occures when I try to export database schema (DBO for an example). exp system/<password>@<server> file=test.dmp owner=dbo and at last another error occured: ORACLE 6550 encountered component