Webservice calls timing out more tha they should

I am calling a REST webservice and set a read and connection timeout of 15,000 milliseconds. Probably 1 out of 3 calls is timing out although I dont think the length of the timeout needs to be increased because when it does work it returns the data in less than a second, and increasing the timeout to 60,000 ms doesn't improve the number of timeouts. When a query fails I retry it upto 5 times before eventually givving up, it always eventually manages to work within the 5 try limit, If I post the same query in a webbrowser it invariably returns correctly almost immediately. I have asked the provider of the webservice if their system is overloaded - they dont think so.
So Im now wondering if my code is incorrect, it receives a SocketTimeoutException when things go wrong. Is it correct for me to get the response code before I get the input stream, do I need to check that something is ready
before I access the inputstream. Here is an extract .
URL url = null;
BufferedInputStream bis = null;
HttpURLConnection uc = null;
try
    url = new URL(getBaseQueryUrl() + sb.toString());
    logger.config("URL:Encoded" + getBaseQueryUrl() + sb.toString());
    uc = (HttpURLConnection) url.openConnection();
    uc.setConnectTimeout(URL_TIMEOUT);
    uc.setReadTimeout(URL_TIMEOUT);
    int responseCode = uc.getResponseCode();
    if (responseCode == HttpURLConnection.HTTP_UNAVAILABLE)
        throw new ServerTemporarilyBusyException("Warning Musicbrainz Server Busy:" + uc.getResponseCode());
    if (responseCode != HttpURLConnection.HTTP_OK)
        throw new InvalidMusicBrainzQueryException("Error:" + uc.getResponseCode());
    logger.finest("Receiving results from:" + getBaseQueryUrl() + URLDecoder.decode(sb.toString(), URL_ENCODING_CHARSET));
    bis = new BufferedInputStream(uc.getInputStream());
    JAXBContext jc = JAXBContext.newInstance("com.jthink.jaikoz.manipulate.musicbrainz");
    Unmarshaller um = jc.createUnmarshaller();
    metadata = (Metadata) um.unmarshal(bis);
catch(SocketTimeoutException ste)
          System.out.println(ste);
    throw new NetworkException(Validation.getMsg(Validation.UNABLE_TO_CONNECT_TO_MUSICBRAINZ));
catch (IOException e)
    throw new NetworkException(Validation.getMsg(Validation.UNABLE_TO_CONNECT_TO_MUSICBRAINZ));
catch (JAXBException e)
          throw new InvalidMusicBrainzQueryException("URL:" + url.toString() + " failed");
}thanks Paul

FYI:The code was okay, the problem was due to my firewall, sometimes it wasnt letting responses from the webservice back. Dont know exactly why it was doing this not but chnaging the firewall has solved the issue.

Similar Messages

  • Webservice call timing out in ECC 5.0

    Hi
       When I make a call to a webservice exposed out of ECC 5.0 from a SOAP client - I see the call being taken up by a work process in SM66 - staying alive for a few seconds and then it disappears from SM66 and at the same time I get a error on the SOAP client
    Error reading server response: The underlying connection was closed: The request was canceled.
    If I run the same method ( sync implementation ) from within R3 - ( SPROXY and then test interface - by submitting an xml payload ) - the query runs for around 25 seconds and comes back with a result payload.
    Have anyone experienced this problem ? What ICM timeout parameter needs to be changed - here to solve this problem ?

    Hi,
    perhaps the PROCTIMEOUT expires, the timeout parameters of the ICM are configured individualy for euch icm/server_port_<x>, you will find more details in the documentation:
    [http://help.sap.com/saphelp_nw70/helpdata/EN/25/7e153a1a5b4c2de10000000a114084/content.htm]
    But befor increasing timeouts at random you should find out the actual cause of this error.
    Did the ICM actualy close the connection due a timeout or was it closed from the communication partner?
    If you increase the trace level of the ICM (transaction smicm) and reproduce the error, the trace file of the ICM (dev_icm) should show the exact error message.
    Regards,
    Stefan

  • RESTful Webservice "Operation Timed Out."

    Version BI4.1 SP4 Patch 4
    Clustered Windows Environment
    One WACS Service (default settings)
    Using C# HTTPWebRequest and HTTPWebResponse for all the steps
    Workflow
    1. POST Login (using Enterprise)
    2. PUT Refresh document no parameters (using docid)
    3. GET Refreshed document - This Step Fails (Operation timed out)
    4. POST Logoff - This step fails (Operation timed out)
    The workflow fails about 90% of the tries. We also noticed that some of the steps take a long time to process. For example refreshing the document in Launchpad takes about 13 seconds, but using REST calls it varies from 30 to 120 seconds
    When we do the same steps using a REST Client (in browser) we are able to process all the steps without failures. We did notice the same processing time as mentioned above.
    Report in BI Launchpad works without any issues.
    Please advise.

    Anthony,
    I did try your suggestion, but it did not matter when we had the Accept parameter or not.
    Strangely, though we just stopped a couple of our servers and the timeout error has not occurred in the last 5 times I have run the same code.. And the responses are pretty quick too.
    So, I am guessing that the processing time it is taking for the application to read the content from the repository/memory was not fast enough..
    Now have to figure out why the system is slow when those servers were up and running.. . Oddly though we do not see that in the BI Launchpad..
    You have been a great help and thank you soooo much for taking the time to look into the problem and all the support you provide to the SCN community..
    Anthony you are AWESOME!!
    Regards
    Guru

  • I tried to update my iPad 2 to ios 5. It starts out fine and once its done, it tells me the network connection timed out and that I should try again, even thought I have internet. How do I update my iPad without it doing that?

    I need help updating my iPad to ios 5, without it telling me that the network connection timed out.

    You can download the correct iOS upgrade manually to your computer and then apply it to your iPad using the iTunes app on your computer. After you have downloaded the correct upgrade press the Option/Alt key and click on the Check for Update button in the iTunes app. Browse to the file on your computer, select it and iTunes will do the rest to install it.
    http://ipadstory.net/download-ios-5-final-ipsw-files/

  • Call Plan Charges....The Call Plan Costed More Tha...

    I recently called BT regarding getting a cheaper Broadband and phone tarrif.  The net result was that I got a reduction, but that this reduction ( of around £7 a month ) meant that I no longer had the Evenings and Weekends call plan.
    Now this was the first I had any idea that I was actually PAYING to have a call plan. Maybe I'm silly and should have looked this up....but then again, nothing in my phone bills EVER mentioned any specific charge for a call plan, though they do mention a call plan. I have BT's latest tarrifs document and trying to understand the plans in it is like quantum mechanics....especially when it says 'includes line rental' yet the monthly line rental of £16 is more than the call plan !
    So I am utterly confused. All the more so as having checked my bills for the last few years I see my average QUARTERLY phone use has been around £3.50....yes...barely anything at all. Yet it would appear I have been paying more than that...what exact figure I cannot work out....one source implies it was £22 a quarter and another implies £12.....for the privilege of making hardly any calls at all under this 'call plan'. In other words....paying at least £12 a quarter to make £3.50 worth of calls.
    Am I just confused, silly for not having woken up to this earlier, or ( given that I have been with BT on this line for 19 years with similar usage ) should I never have been sold this 'call plan' in the first place ?

    The basic line rental includes free weekend calls. You have been paying extra for free weekday evening calls, so it depends on how many calls you make after 7pm in the evening.
    Some of the broadband packages include free evening calls, so that must have been part of your original package.
    There are some useful help pages here, for BT Broadband customers only, on my personal website.
    BT Broadband customers - help with broadband, WiFi, networking, e-mail and phones.

  • Reg:Normal Webservice call TIME OUT(SocketTimedOut Exception)

    Hi All,
       I am using a normal WebService Model to access TIBCO Webservcie. when Services are DOWN, i am getting Exceptions and showing that Servcie is down.
    if a request is not completed for long time we are Getting "SocketTimedOut Exception"
    for this is there any place to set increase or decrease the TIME.
    Please help me
    Thanks
    Nagaraju

    Hi Nagaraju,
    Try the InvocationModifier below. It worked for Adaptative Web Service Models.
    import com.sap.tc.webdynpro.model.webservice.api.IWDWSInvocationModifier;
    YourModel yourModel = new YourModel();
    //Request structure
    request_GetTransfers = new Request_GetTransfers(yourModel );
    //Change request's default socketTimeout to the value you want to (in miliseconds).
    request_GetTransfers.wdSetInvocationModifier(new IWDWSInvocationModifier() {
         public void doModifyInvocation(Object port) {
              HTTPControlInterface httpItf = HTTPControlFactory.getInterface(port);
              httpItf.setSocketTimeout(180000);
         public void doModifyAfterInvocation(){}
    Regards,
    Douglas Frankenberger

  • Connection Timed Out when Submitting Podcast

    I am getting really frustrated. A few days ago I submitted a feed to add a podcast to the iTunes catalog. I had checked the feed already to make sure it validated. iTunes accepted it as a valid feed and said I would get an email shortly confirming the submission. SO yesterday, not having received the email, I contacted support (online - no phone support) - and they say that the feed did not validate. Told me to run it through feedvalidator. WHICH I DID ALREADY and did again- it validates. I am able to subscribe to it even in iTunes. So I attempted to resubmit - got a "connection to thr server timed out" message. I have attempted to create feeds using several online utilities, changing where I host the feed, etc, and no matter what, I get a connection timed out message. They won't talk to me on the phone. AND I AM GETTING SO TICKED OFF! Is this Apple's servers going down?

    Please check the hosts file for the new IP,
    Also cehck the Agnet service login for wheter the user has the privledges to do a FTP access to the server or also connect to the server
    Reshma

  • 'Read timed out' oddity

    http://www.smgradio.com/core/podcasts/rss.xml?title=thegeoffshow
    Submitting this XML file returns "Read timed out".
    Curiously, if I change the URL to "www1.smgradio.com" then it work; that's one of the load-balanced servers that live behind www.smgradio.com. It also works correctly if I manually subscribe this address into iTunes.
    Anyone any idea what we're doing wrong?

    Mike,
    http://www1.smgradio.com/core/podcasts/rss.xml?title=thegeoffshow
    ...works fine.
    http://www.smgradio.com/core/podcasts/rss.xml?title=thegeoffshow
    ...doesn't work at all with a "read timed out" error.
    They're identical files, and both work when manually entered into the iTunes program.
    If it was me, I'd think that Apple's DNS isn't working properly; but it looks as if we're moderately blameless in terms of the links - would you agree?

  • When i try to update my ipod to lion it says that my connectioon has timed out just before it finishes loading

    when i try to update my ipod to lion it says that my connection has timed out the sec it should have worked what should i do?

    You can try disabling your computer's security software or doing a manu install using the instructions here:
    iDevice Troubleshooting 101 :: iPhone, iPad, iPod touch

  • Getting Timed out exception while calling a web service

    Hi,
    when i am invoking a web service(using routing), the osb proxy is getting timed out before receiving the response from routed service.
    Also we are not aware of how much response time the routed service will take. so apart from increasing the connection time is there any alternate solution?
    can any one suggest.

    I do not think there is any other way apart from increasing timeouts to call a web service from OSB synchronously which is taking a long time.
    Other alternatives are either to make the service asynchronous delyed request response type, which will mean a change at the backend webservice.
    Ideally synchronous web services are designed to respond within a few seconds and not take minutes for processing. I would say that if the backend web service is taking more than a minute then they need to either tune their service performance better so it responds faster OR change it to an asynchronous service.

  • Timing out a WTC call

    Hi
    I am making an outbound WTC call to a webservice from my tuxedo service.
    Is there a way I can set a timeout to this specific call so that if this WTC call is responding after specific time, I can continue with my flow in the tuxedo service.
    I am assuming that BLOCK TIME is used to the tuxedo service as a whole. But this could impact my other flows where I am OK to wait for more time.
    Basically below should be the flow of tuxedo service
    tuxservice01
    status = tpcall("wtcWebService01", (char *)pInpRec,0, (char **)&pOutBuf, &olen, FLAG ); /* Not sure about the flag to be used in this case */
    if(status != 0)
    if(tperrno == TIMEOUT)
    handle timeout
    goto nextstep
    nextstep
    Thanks
    Raj

    Hi Raj,
    Depending upon the version of Tuxedo you are using, you may be able to set BLOCKTIME on a per call, per context, or per service basis. Starting with Tuxedo 9.0, the time to wait on a blocking call can be set either in the *SERVICES section of the UBBCONFIG file, or using the tpsblktime() function to set it on a per call or per context basis.  Please note that timing out a request with BLOCKTIME doesn't abort the request, i.e., the request will still likely be processed, although that depends upon a number of factors.  BLOCKTIME simply limits the amount of time a blocking call will wait to be unblocked.
    Regards,
    Todd Little
    Oracle Tuxedo Chief Architect

  • Oracle 10gR2 WebService Call-In & Call-Out via PL/SQL (Step-by-Step Guide)

    Hi Everyone,
    This guide is for those of you who tried to Call-In and Call-Out WebService via Oracle 10gR2 using PL/SQL but failed a couple of times, re-installed a couple of times and retry, got it to work but don't know what made it work scenarios.
    Hope this helps ;-)
    Thanks,
    Henry Wu
    Instructions on how to use Oracle10gR2 Webservice Call-Out feature (Oracle JAX-RPC DII - Dynamic Invocation (DII) APIs)
    PREREQUISITE
    =================================================================
    1. Download Oracle Database 10g Release 2 (10.2.0.1.0) (ZIP, ~655MB)
    http://www.oracle.com/technology/software/products/database/oracle10g/htdocs/10201winsoft.html
    http://download.oracle.com/otn/nt/oracle10g/10201/10201_database_win32.zip
    1.1 Choose Enterprise Edition
    2. Download 10.1.3.1 Callout Utility for 10g (R1 +R2) RDBMS (ZIP, ~13MB)
    http://download.oracle.com/technology/sample_code/tech/java/jsp/dbws-callout-utility-10131.zip
    2.1 Extract to C:\oracle\product\10.2.0\db_1\dbws_callout_utility_10131
    3. Download OC4J Standalone - Oracle Containers for J2EE (OC4J) 10g Release 3 (10.1.3.3) (ZIP, ~93MB; Pure Java—runs on all certified platforms)
    http://www.oracle.com/technology/software/products/ias/index.html (Download Site)
    http://download.oracle.com/otn/java/oc4j/101330/oc4j_extended_101330.zip
    3.1 Extract to C:\oracle\product\10.2.0\db_1\oc4j_extended_101330
    STEP-BY-STEP PROCEDURES
    =================================================================
    1. Prepare the database
    1.1 Connect to SYS account (or any account that can connect as SYSDBA)
    1.2 alter system set shared_pool_size=96M scope=both
    1.3 alter system set java_pool_size=80M scope=both
    1.4 ALTER USER SCOTT ACCOUNT UNLOCK;
    1.5 ALTER USER SCOTT IDENTIFIED BY "tiger";
    1.6 ALTER USER SCOTT QUOTA UNLIMITED ON USERS;
    1.7 GRANT PUBLIC TO SCOTT;
    1.8 GRANT Create Public Synonym TO SCOTT;
    2. Load Oracle SOAP client to SCOTT (for Oracle 10g Release 2 Database)
    2.1 Commands
    2.1.1 Open command prompt (cmd.exe)
    2.1.2 loadjava -u scott/tiger -r -v -f -genmissing -s -grant public C:\oracle\product\10.2.0\db_1\oc4j_extended_101330\webservices\lib\soap.jar C:\oracle\product\10.2.0\db_1\oc4j_extended_101330\lib\dms.jar C:\oracle\product\10.2.0\db_1\oc4j_extended_101330\jlib\javax-ssl-1_1.jar C:\oracle\product\10.2.0\db_1\oc4j_extended_101330\j2ee\home\lib\servlet.jar C:\oracle\product\10.2.0\db_1\oc4j_extended_101330\j2ee\home\lib\mail.jar C:\oracle\product\10.2.0\db_1\oc4j_extended_101330\j2ee\home\lib\activation.jar C:\oracle\product\10.2.0\db_1\oc4j_extended_101330\j2ee\home\lib\http_client.jar C:\oracle\product\10.2.0\db_1\oc4j_extended_101330\j2ee\home\lib\ejb.jar
    2.1.3 It will take around 3 minutes and you will see "something" like the following when it completes (count may not be exact) :
    Classes Loaded: 909
    Resources Loaded: 75
    Sources Loaded: 0
    Published Interfaces: 0
    Classes generated: 0
    Classes skipped: 0
    Synonyms Created: 984
    Errors: 0
    2.1.3 Close this command prompt
    3. Load Oracle JAX-RPC client to SYS (for Oracle 10g Release 2 Database)
    3.1 Commands
    3.1.1 Open command prompt (cmd.exe)
    3.1.2 loadjava -u sys/oracle -r -v -f -genmissing -s -grant public C:\oracle\product\10.2.0\db_1\dbws_callout_utility_10131\sqlj\lib\dbwsclientws.jar C:\oracle\product\10.2.0\db_1\dbws_callout_utility_10131\sqlj\lib\dbwsclientdb102.jar
    3.1.2.1 It will take around 15 minutes and you will see "something" like following when it completes (count may not be exact) :
    Classes Loaded: 4027
    Resources Loaded: 81
    Sources Loaded: 0
    Published Interfaces: 0
    Classes generated: 61
    Classes skipped: 0
    Synonyms Created: 4108
    Errors: 0
    3.1.3 Close this command prompt
    4. Execute UTL_DBWS packages to SYS (for Oracle 10g Release 2 Database)
    4.1 Commands
    4.1.1 Connect to SYS account only
    4.1.2 Execute the following (in TOAD you should execute them as Script, press the "thunder" button)
    4.2.1 @"C:\oracle\product\10.2.0\db_1\dbws_callout_utility_10131\sqlj\lib\utl_dbws_decl.sql"
    4.2.2 @"C:\oracle\product\10.2.0\db_1\dbws_callout_utility_10131\sqlj\lib\utl_dbws_body.sql"
    4.2.3 CREATE PUBLIC SYNONYM utl_dbws FOR sys.utl_dbws;
    5. Call-out a free Web Service using SCOTT
    5.1 Commands
    5.1.1 Connect to user SCOTT with password of TIGER
    5.1.2 Copy and Paste the following "Anonymous Block" (sample #1) and execute it :
    5.1.2.1 It sould return "PL/SQL DII client return ===> Redwood City"
    declare
    service_ utl_dbws.SERVICE;
    call_ utl_dbws.CALL;
    service_qname utl_dbws.QNAME;
    port_qname utl_dbws.QNAME;
    operation_qname utl_dbws.QNAME;
    string_type_qname utl_dbws.QNAME;
    retx ANYDATA;
    retx_string VARCHAR2(1000);
    retx_double number;
    retx_len number;
    params utl_dbws.ANYDATA_LIST;
    l_input_params utl_dbws.anydata_list;
    l_result ANYDATA;
    l_namespace VARCHAR2(1000);
    begin
    -- open internet explorer and navigate to http://webservices.imacination.com/distance/Distance.jws?wsdl
    -- search for 'targetNamespace' in the wsdl
    l_namespace := 'http://webservices.imacination.com/distance/Distance.jws';
    -- search for 'service name' in the wsdl
    service_qname := utl_dbws.to_qname(l_namespace, 'DistanceService');
    -- this is just the actual wsdl url
    service_ := utl_dbws.create_service(HTTPURITYPE('http://webservices.imacination.com/distance/Distance.jws?wsdl'), service_qname);
    -- search for 'portType name' in the wsdl
    port_qname := utl_dbws.to_qname(l_namespace, 'Distance');
    -- search for 'operation name' in the wsdl
    -- there will be a lot, we will choose 'getCity'
    operation_qname := utl_dbws.to_qname(l_namespace, 'getCity');
    -- bind things together
    call_ := utl_dbws.create_call(service_, port_qname, operation_qname);
    -- default is 'FALSE', so we make it 'TRUE'
    utl_dbws.set_property(call_, 'SOAPACTION_USE', 'TRUE');
    -- search for 'operation soapAction' under <wsdl:operation name="getCity">
    -- it is blank, so we make it ''
    utl_dbws.set_property(call_, 'SOAPACTION_URI', '');
    -- search for 'encodingstyle' under <wsdl:operation name="getCity">
    utl_dbws.set_property(call_, 'ENCODINGSTYLE_URI', 'http://schemas.xmlsoap.org/soap/encoding/');
    -- search for 'binding style'
    utl_dbws.set_property(call_, 'OPERATION_STYLE', 'rpc');
    -- search for 'xmlns:xs' to know the value of the first parameter
    -- under <wsdl:message name="getCityResponse"> you will see the line <wsdl:part name="getCityReturn" type="xsd:string" />
    -- thus the return type is 'string", removing 'xsd:'
    string_type_qname := utl_dbws.to_qname('http://www.w3.org/2001/XMLSchema', 'string');
    -- in the line <wsdl:operation name="getCity" parameterOrder="zip">
    -- the parameterOrder is 'zip', thus we put in 'zip'
    -- the 'ParameterMode.IN' is used to specify that we will be passing an "In Parameter" to the web service
    -- the 'ParameterMode.IN' is a constant variable in the sys.utl_dbws package
    utl_dbws.add_parameter(call_, 'zip', string_type_qname, 'ParameterMode.IN');
    utl_dbws.set_return_type(call_, string_type_qname);
    -- supply the In Parameter for the web service
    params(0) := ANYDATA.convertvarchar('94065');
    -- invoke the web service
    retx := utl_dbws.invoke(call_, params);
    -- access the returned value and output it to the screen
    retx_string := retx.accessvarchar2;
    dbms_output.put_line('PL/SQL DII client return ===> ' || retx_string);
    -- release the web service call
    utl_dbws.release_service(service_);
    end;
    5.1.3 Copy and Paste the following "Anonymous Block" (sample #2) and execute it :
    5.1.3.1 It should return "PL/SQL DII client return ===> twelve thousand three hundred and forty five"
    declare
    service_ utl_dbws.SERVICE;
    call_ utl_dbws.CALL;
    service_qname utl_dbws.QNAME;
    port_qname utl_dbws.QNAME;
    operation_qname utl_dbws.QNAME;
    string_type_qname utl_dbws.QNAME;
    retx ANYDATA;
    retx_string VARCHAR2(1000);
    retx_double number;
    retx_len number;
    params utl_dbws.ANYDATA_LIST;
    l_input_params utl_dbws.anydata_list;
    l_result ANYDATA;
    l_namespace VARCHAR2(1000);
    begin
    -- open internet explorer and navigate to http://www.dataaccess.com/webservicesserver/numberconversion.wso?WSDL
    -- search for 'targetNamespace' in the wsdl
    l_namespace := 'http://www.dataaccess.com/webservicesserver/';
    -- search for 'service name' in the wsdl
    service_qname := utl_dbws.to_qname(l_namespace, 'NumberConversion');
    -- this is just the actual wsdl url
    service_ := utl_dbws.create_service(HTTPURITYPE('http://www.dataaccess.com/webservicesserver/numberconversion.wso?WSDL'), service_qname);
    -- search for 'portType name' in the wsdl
    port_qname := utl_dbws.to_qname(l_namespace, 'NumberConversionSoap');
    -- search for 'operation name' in the wsdl
    -- there will be a lot, we will choose 'NumberToWords'
    operation_qname := utl_dbws.to_qname(l_namespace, 'NumberToWords');
    -- bind things together
    call_ := utl_dbws.create_call(service_, port_qname, operation_qname);
    -- default is 'FALSE', so we make it 'TRUE'
    utl_dbws.set_property(call_, 'SOAPACTION_USE', 'TRUE');
    -- search for 'operation soapAction' under <operation name="NumberToWords">
    -- it is blank, so we make it ''
    utl_dbws.set_property(call_, 'SOAPACTION_URI', '');
    -- search for 'encodingstyle'
    -- cannot find xml tag 'encodingstyle', so we just use the following as the generic encoding style
    utl_dbws.set_property(call_, 'ENCODINGSTYLE_URI', 'http://schemas.xmlsoap.org/soap/encoding/');
    -- search for 'binding style'
    -- although 'document' was used, it produced an error, thus we will use 'rpc'
    -- this value is generally only 'document' or 'rpc'
    utl_dbws.set_property(call_, 'OPERATION_STYLE', 'rpc');
    -- search for 'xmlns:xs' to know the value of the first parameter
    -- under <xs:element name="NumberToWords"> you will see the line <xs:element name="ubiNum" type="xs:unsignedLong" />
    -- thus the return type is 'unsignedlong', removing 'xs:'
    -- however, upon testing, using 'unsignedlong' produced an error, while 'string' did not, so we will use 'string'
    string_type_qname := utl_dbws.to_qname('http://www.w3.org/2001/XMLSchema', 'string');
    -- under <xs:element name="NumberToWords"> you will see the line <xs:element name="ubiNum" type="xs:unsignedLong" />
    -- the element name is 'ubiNum', thus we put in 'ubiNum'
    -- the 'ParameterMode.IN' is used to specify that we will be passing an "In Parameter" to the web service
    -- the 'ParameterMode.IN' is a constant variable in the utl_dbws package
    utl_dbws.add_parameter(call_, 'ubiNum', string_type_qname, 'ParameterMode.IN');
    utl_dbws.set_return_type(call_, string_type_qname);
    -- supply the In Parameter for the web service
    params(0) := ANYDATA.convertvarchar('12345');
    -- invoke the web service
    retx := utl_dbws.invoke(call_, params);
    -- access the returned value and output it to the screen
    retx_string := retx.accessvarchar2;
    dbms_output.put_line('PL/SQL DII client return ===> ' || retx_string);
    -- release the web service call
    utl_dbws.release_service(service_);
    end;
    NOTES AND REFERENCES
    =================================================================
    This detailed step-by-step guide was produced with the following guide http://www.oracle.com/technology/sample_code/tech/java/jsp/callout_users_guide.htm
    I could still not load Oracle JAX-RPC client to SCOTT (step 4) as it produces an error. See the following for more details :
    http://forums.oracle.com/forums/thread.jspa?threadID=633219&tstart=0
    Also, I could not consume some of the other free Web Services out there for reasons I don't know, hope someone can help clarify. See the following for more details :
    http://forums.oracle.com/forums/thread.jspa?threadID=630733&tstart=0
    >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
    >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
    >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
    Instructions on how to use Oracle10gR2 Webservice Call-In feature
    PREREQUISITE
    =================================================================
    1. Download Oracle Database 10g Release 2 (10.2.0.1.0) (ZIP, ~655MB)
    http://www.oracle.com/technology/software/products/database/oracle10g/htdocs/10201winsoft.html
    http://download.oracle.com/otn/nt/oracle10g/10201/10201_database_win32.zip
    1.1 Choose Enterprise Edition
    2. Download OC4J Standalone - Oracle Containers for J2EE (OC4J) 10g Release 3 (10.1.3.3) (ZIP, ~93MB; Pure Java—runs on all certified platforms)
    http://www.oracle.com/technology/software/products/ias/index.html (Download Site)
    http://download.oracle.com/otn/java/oc4j/101330/oc4j_extended_101330.zip
    2.1 Extract to C:\oracle\product\10.2.0\db_1\oc4j_extended_101330
    STEP-BY-STEP PROCEDURES
    =================================================================
    1. Connect to SYS account and create user STORE
    CREATE USER store IDENTIFIED BY store;
    GRANT connect, resource TO store;
    2. Connect to Oracle using the user STORE and password STORE
    CONNECT store/store;
    3. Execute the following objects for this excercise
    CREATE SEQUENCE order_sq;
    CREATE TABLE product_types (
    product_type_id INTEGER
    CONSTRAINT product_types_pk PRIMARY KEY,
    name VARCHAR2(10) NOT NULL
    CREATE TABLE products (
    product_id INTEGER
    CONSTRAINT products_pk PRIMARY KEY,
    product_type_id INTEGER
    CONSTRAINT products_fk_product_types
    REFERENCES product_types(product_type_id),
    name VARCHAR2(30) NOT NULL,
    description VARCHAR2(50),
    price NUMBER(5, 2)
    CREATE TABLE customers (
    customer_id INTEGER
    CONSTRAINT customers_pk PRIMARY KEY,
    first_name VARCHAR2(10) NOT NULL,
    last_name VARCHAR2(10) NOT NULL,
    dob DATE,
    phone VARCHAR2(12)
    CREATE TABLE orders (
    order_id INTEGER
    CONSTRAINT orders_pk PRIMARY KEY,
    product_id INTEGER
    CONSTRAINT purchases_fk_products
    REFERENCES products(product_id),
    customer_id INTEGER
    CONSTRAINT purchases_fk_customers
    REFERENCES customers(customer_id),
    quantity INTEGER NOT NULL
    INSERT INTO customers (
    customer_id, first_name, last_name, dob, phone
    ) VALUES (
    1, 'John', 'Brown', '01-JAN-1965', '800-555-1211'
    INSERT INTO product_types (
    product_type_id, name
    ) VALUES (
    1, 'Book'
    INSERT INTO products (
    product_id, product_type_id, name, description, price
    ) VALUES (
    1, 1, 'Modern Science', 'A description of modern science', 19.95
    COMMIT;
    CREATE OR REPLACE PACKAGE dbfunc AS
    FUNCTION place_order (
    p_product_id INTEGER,
    p_customer_id INTEGER,
    p_quantity INTEGER
    RETURN VARCHAR2;
    END dbfunc;
    CREATE OR REPLACE PACKAGE BODY dbfunc AS
    FUNCTION place_order (
    p_product_id INTEGER,
    p_customer_id INTEGER,
    p_quantity INTEGER
    RETURN VARCHAR2 IS
    v_customer_count INTEGER;
    v_product_count INTEGER;
    v_order_id INTEGER;
    BEGIN
    -- count the number of products with the
    -- supplied p_product_id (should be 1 if the product exists)
    SELECT COUNT(*)
    INTO v_product_count
    FROM products
    WHERE product_id = p_product_id;
    IF v_product_count = 0 THEN
    RETURN 'No such product';
    END IF;
    -- count the number of customers with the
    -- supplied p_customer_id (should be 1)
    SELECT COUNT(*)
    INTO v_customer_count
    FROM customers
    WHERE customer_id = p_customer_id;
    IF v_customer_count = 0 THEN
    RETURN 'No such customer';
    END IF;
    -- get the next value from orders_sq
    SELECT order_sq.nextval
    INTO v_order_id
    FROM dual;
    -- place the order
    INSERT INTO orders (
    order_id, product_id, customer_id, quantity
    ) VALUES (
    v_order_id, p_product_id, p_customer_id, p_quantity
    COMMIT;
    RETURN 'Order placed with id of ' || v_order_id;
    EXCEPTION
    WHEN OTHERS THEN
    ROLLBACK;
    RETURN 'Order not placed';
    END place_order;
    END dbfunc;
    4. Install and Configure OC4J
    4.1 Change Directory
    4.1.1 Open command prompt (cmd.exe)
    4.1.2 CD C:\oracle\product\10.2.0\db_1\oc4j_extended_101330\bin
    4.2 Configure Environment variables (type in command prompt)
    4.2.1 set JAVA_HOME=C:\oracle\product\10.2.0\db_1\jdk
    4.2.2 set ORACLE_HOME=C:\oracle\product\10.2.0\db_1\oc4j_extended_101330
    4.3 Starting OC4J for the first time
    4.3.1 oc4j -start
    4.3.2 If this is not your first time to "start" oc4j, go to step 4.3.4
    4.3.3 Set oc4jadmin password (use the password "oracle" w/o the quotation marks)
    08/03/21 17:13:54 Set OC4J administrator's password (password text will not be displayed as it is entered)
    Enter password:
    Confirm password:
    Confirm password: The password for OC4J administrator "oc4jadmin" has been set.
    08/03/21 17:14:01 The OC4J administrator "oc4jadmin" account is activated.
    4.3.4 OC4J has started if you see the message :
    08/03/21 17:14:16 Oracle Containers for J2EE 10g (10.1.3.3.0) initialized
    4.3.5 Leave this command prompt open
    4.4 Configure Data Source
    4.4.1 Open a new command prompt via the cmd.exe command
    4.4.2 type "hostname" and then press enter
    4.4.3 Keep this command prompt open for later use
    4.4.4 Open Windows Explorer and navigate to the folder C:\oracle\product\10.2.0\db_1\oc4j_extended_101330\j2ee\home\config
    4.4.5 Open the file data-sources.xml
    4.4.6 Modify and Save the file so that it will look something like the following :
    4.4.6.1 Note that "hpv2710us" is my hostname found in step 4.4.2
    4.4.6.2 Note that "ORCLDEV" is the name of my Oracle Instance. (Default installation uses ORCL only)
    <connection-pool name="Example Connection Pool">
    <connection-factory factory-class="oracle.jdbc.pool.OracleDataSource"
    user="store"
    password="store"
    url="jdbc:oracle:thin:@//hpv2710us:1521/ORCLDEV">
    </connection-factory>
    </connection-pool>
    4.4.7 Close the text editor
    4.4.8 Close the Windows Explorer
    4.4.9 Close this command prompt (type exit)
    5. Publishing a PL/SQL Package as a Database Web Service
    5.1 Create the config.xml file
    5.1.1 Open Notepad.exe
    5.1.2 Copy and Paste the following :
    5.1.2.1 Note that "hpv2710us" is my hostname found in step 4.4.2
    5.1.2.2 Note that "ORCLDEV" is the name of my Oracle Instance. (Default installation uses ORCL only)
    <web-service>
    <display-name>PLSQL Web Service</display-name>
    <description>PLSQL Sample</description>
    <destination-path>./dbfunc.ear</destination-path>
    <temporary-directory>/tmp</temporary-directory>
    <context>/plsqlsample</context>
    <stateless-stored-procedure-java-service>
    <jar-generation>
    <schema>store/store</schema>
    <db-url>jdbc:oracle:thin:@hpv2710us:1521:ORCLDEV</db-url>
    <prefix>db.func.place.order</prefix>
    <db-pkg-name>dbfunc</db-pkg-name>
    </jar-generation>
    <uri>/dbfunc</uri>
    <database-JNDI-name>jdbc/OracleDS</database-JNDI-name>
    </stateless-stored-procedure-java-service>
    <wsdl-gen>
    <wsdl-dir>wsdl</wsdl-dir>
    <option name="force">true</option>
    <option name="httpServerURL">http://localhost:8888</option>
    </wsdl-gen>
    <proxy-gen>
    <proxy-dir>proxy</proxy-dir>
    <option name="include-source">true</option>
    </proxy-gen>
    </web-service>
    5.1.3 Save file as config.xml in the directory C:\oracle\product\10.2.0\db_1\oc4j_extended_101330\j2ee\home\config
    5.1.3.1 Note it should be config.xml and not config.txt
    5.1.4 Close the text editor
    5.2 Publish dbfunc Oracle Package as a Web Service
    5.2.1 Open a new command prompt via the cmd.exe command
    5.2.2 CD C:\oracle\product\10.2.0\db_1\oc4j_extended_101330\j2ee\home
    5.2.3 mkdir ear
    5.2.4 CD ear
    5.2.5 set ORACLE_HOME=C:\oracle\product\10.2.0\db_1\oc4j_extended_101330
    5.2.6 set CLASSPATH=.;%ORACLE_HOME%\webservices\lib\wsdl.jar;%ORACLE_HOME%\lib\xmlparserv2.jar;%ORACLE_HOME%\soap\lib\soap.jar
    5.2.7 java -jar %ORACLE_HOME%\webservices\lib\WebServicesAssembler.jar -config C:\oracle\product\10.2.0\db_1\oc4j_extended_101330\j2ee\home\config\config.xml
    Please wait ...
    STORE.DBFUNC
    5.2.8 java -jar %ORACLE_HOME%\j2ee\home\admin_client.jar deployer:oc4j:localhost:23791 oc4jadmin oracle -deploy -file C:\oracle\product\10.2.0\db_1\oc4j_extended_101330\j2ee\home\ear\dbfunc.ear -deploymentName dbfunc
    08/03/21 17:46:23 Notification ==>Application Deployer for dbfunc COMPLETES. Operation time: 296 msecs
    5.2.9 java -jar %ORACLE_HOME%\j2ee\home\admin_client.jar deployer:oc4j:localhost:23791 oc4jadmin oracle -bindWebApp -appname dbfunc -webModuleName dbfunc_web
    5.2.10 java -jar %ORACLE_HOME%\j2ee\home\admin_client.jar deployer:oc4j:localhost:23791 oc4jadmin oracle -bindAllWebApps -appname dbfunc
    5.2.11 Close this command prompt (type exit)
    6. Test dbfunc Web Service
    6.1 Restart OC4J
    6.1.1 Open the command prompt you used to start OC4J in step 4.1.1/4.3.1
    6.1.2 In the keyboard, hit Ctrl+C
    6.1.2.1 Type "Y" and then hit Enter
    08/03/21 18:02:51 Shutting down OC4J...
    Terminate batch job (Y/N)? Y
    6.1.2.2 Note that the command prompt should still be open
    6.1.2.2.1 If you accidentally closed the command prompt just do the following
    6.1.2.2.1.1 Do 4.1.1 to 4.2.2 and then proceed to 6.1.3
    6.1.3 oc4j -start
    Starting OC4J from C:\oracle\product\10.2.0\db_1\oc4j_extended_101330\j2ee\home...
    08/03/21 18:07:57 Oracle Containers for J2EE 10g (10.1.3.3.0) initialized
    6.1.4 Leave this command prompt open
    6.2 Use the Web Service to "Order an Item"
    6.2.1 Connect to Oracle using the user STORE and password STORE
    6.2.2 select * from orders
    6.2.2.1 Zero row should return
    6.2.3 Open Internet Explorer
    6.2.4 Navigate to http://localhost:8888/plsqlsample/dbfunc
    6.2.5 Input the following :
    6.2.5.1 param0 value: 1
    6.2.5.2 param1 value: 1
    6.2.5.3 param2 value: 10
    6.2.6 Click the Invoke button
    6.2.7 A pop-up window will appear having the following contents :
    <?xml version="1.0" encoding="UTF-8" ?>
    - <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    - <SOAP-ENV:Body>
    - <ns1:placeOrderResponse xmlns:ns1="http://db.func.place.order/dbfunc.wsdl" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
    <return xsi:type="xsd:string">Order placed with id of 1</return>
    </ns1:placeOrderResponse>
    </SOAP-ENV:Body>
    </SOAP-ENV:Envelope>
    6.2.8 Go back to SQLPLUS or Toad and execute "select * from orders" again
    6.2.8.1 There should be one row
    ORDER_ID, PRODUCT_ID, CUSTOMER_ID, QUANTITY
    1, 1, 1, 10
    NOTES AND REFERENCES
    =================================================================
    This detailed step-by-step guide was produced with the following article by Jason Price http://www.oracle.com/technology/pub/articles/price_10gws.html

    Success!!!
    I had to grant this permissions:
    call dbms_java.grant_permission( 'WS_TEST', 'SYS:java.lang.RuntimePermission', 'getClassLoader', '' );
    call dbms_java.grant_permission( 'WS_TEST', 'SYS:java.lang.RuntimePermission', 'accessClassInPackage.sun.util.calendar', '' );
    call dbms_java.grant_permission( 'WS_TEST', 'SYS:java.lang.RuntimePermission', 'setFactory', '' )
    call dbms_java.grant_permission( 'WS_TEST', 'SYS:java.util.PropertyPermission', 'HTTPClient.socket.idleTimeout', 'write' );
    call dbms_java.grant_permission( 'WS_TEST', 'SYS:java.net.SocketPermission', 'localhost', 'resolve' );
    call dbms_java.grant_permission( 'WS_TEST', 'SYS:java.net.SocketPermission', '127.0.0.1:8084', 'connect,resolve' );
    As I wrote earlier, WS_TEST is my user into which I load JAX-RPC client. Note that, if you load JAX-RPC client into user another than SYS, you have NOT to use -s -grant public option (wassam wrote about this too). Another thing is that I (finally) didn't load OC4J. To consume WebService I use utl_dbws.invoke(call_Handle CALL, request SYS.XMLTYPE) function.
    voytec001

  • BPM CE 7.2 Get Timed Out calling RFC

    Hi experts
    I am new in BPM with RFC on CE 7.2
    I have created a simple process with Message Start, Message End and an Automated Activity that executes a RFC, but when I perform this process its get time out, log:
    Dynamic client generated from wsdl. WSDL: http://10.1.5.47:50000/bpm/demosapcom/testes/TesteTrigger3?wsdl. The server response timed out.
    Error details: Read timed out
    I am using WebServices Navigator to perform the process, is there another way to do that ? Performing the process like this I can´t debug it.

    Tks Arafat Farooqui
    I have found the log and now I am looking for the way to solve exception below:
    I also try to configure the Destination on "Application Communication: Configuration" because there is a message "No destination selected" but the buttons "Configure" and "Remove Configuration" are disabled, what should I do to enable these buttons ?
    Could not read the destination from ESB Configuration
    [EXCEPTION]
    com.sap.engine.interfaces.sca.config.exception.ESBConfigurationException: Configuration not found for application: demo.sap.com/testes,composite:testes,component:demo.sap.comtestesBPMcomponent,reference:5658e8ab-607d-4ca9-acc0-dfa8964e40d9,bindingType:RFC
    at com.sap.esi.esp.service.server.ESPServiceInterfaceImpl.getConfiguration(ESPServiceInterfaceImpl.java:357)
    at com.sap.sdo.das.jco.JCoInvoker.accept(JCoInvoker.java:157)
    at com.sap.engine.services.sca.plugins.jco.JCoImplementationInstance.accept(JCoImplementationInstance.java:63)
    at com.sap.engine.services.sca.das.SCADASImpl.invokeReference(SCADASImpl.java:335)
    at com.sap.glx.adapter.app.ucon.SCADASWrapperImpl.invoke(SCADASWrapperImpl.java:117)
    at com.sap.glx.adapter.app.ucon.UnifiedWebServiceCallObject.invokeWebServiceOperation(UnifiedWebServiceCallObject.java:100)
    at com.sap.glx.adapter.app.ucon.UnifiedWebServiceCallClass.invoke(UnifiedWebServiceCallClass.java:174)
    at com.sap.glx.core.dock.impl.DockObjectImpl.invokeMethod(DockObjectImpl.java:530)
    at com.sap.glx.core.kernel.trigger.config.Script$MethodInvocation.execute(Script.java:245)
    at com.sap.glx.core.kernel.trigger.config.Script.execute(Script.java:791)
    at com.sap.glx.core.kernel.execution.transition.ScriptTransition.execute(ScriptTransition.java:63)
    at com.sap.glx.core.kernel.execution.transition.Transition.commence(Transition.java:138)
    at com.sap.glx.core.kernel.execution.LeaderWorkerPool$Follower.run(LeaderWorkerPool.java:127)
    at com.sap.glx.core.resource.impl.common.WorkWrapper.run(WorkWrapper.java:58)
    at com.sap.glx.core.resource.impl.j2ee.ServiceUserManager$ServiceUserImpersonator$1.run(ServiceUserManager.java:124)
    at java.security.AccessController.doPrivileged(Native Method)
    at javax.security.auth.Subject.doAs(Subject.java:337)
    at com.sap.glx.core.resource.impl.j2ee.ServiceUserManager$ServiceUserImpersonator.run(ServiceUserManager.java:121)
    at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)
    at java.security.AccessController.doPrivileged(Native Method)
    at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:182)
    at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:299)
    Caused by: com.sap.esi.esp.lib.mm.config.exceptions.ObjectNotExistsException: Configuration not found for application: demo.sap.com/testes,composite:testes,component:demo.sap.comtestesBPMcomponent,reference:5658e8ab-607d-4ca9-acc0-dfa8964e40d9,bindingType:RFC
    at com.sap.esi.esp.service.server.esb.ConnectivityConfigurationManagerImpl.readConfiguration(ConnectivityConfigurationManagerImpl.java:276)
    at com.sap.esi.esp.service.server.ESPServiceInterfaceImpl.getConfiguration(ESPServiceInterfaceImpl.java:350)
    ... 21 more
    Caused by: com.sap.esi.esp.lib.mm.config.exceptions.ObjectNotExistsException: Configuration not found for application: demo.sap.com/testes,serviceRefId:testes_demo.sap.comtestesBPMcomponent_5658e8ab-607d-4ca9-acc0-dfa8964e40d9_RFC. Please check the configuration details from the NWA. You may have not assigned the Service Group to a Provider System, or the generation of the configuration has failed.
    at com.sap.esi.esp.service.server.esb.ConnectivityConfigurationManagerImpl.readConfiguration(ConnectivityConfigurationManagerImpl.java:334)
    at com.sap.esi.esp.service.server.esb.ConnectivityConfigurationManagerImpl.readConfiguration(ConnectivityConfigurationManagerImpl.java:263)
    ... 22 more
    Exception during JCo plugin processing 
    [EXCEPTION]
    com.sap.engine.interfaces.sca.spi.PluginException: Could not read the destination from ESB Configuration: com.sap.engine.interfaces.sca.config.exception.ESBConfigurationException: Configuration not found for application: demo.sap.com/testes,composite:testes,component:demo.sap.comtestesBPMcomponent,reference:5658e8ab-607d-4ca9-acc0-dfa8964e40d9,bindingType:RFC
    at com.sap.sdo.das.jco.JCoInvoker.accept(JCoInvoker.java:363)
    at com.sap.engine.services.sca.plugins.jco.JCoImplementationInstance.accept(JCoImplementationInstance.java:63)
    at com.sap.engine.services.sca.das.SCADASImpl.invokeReference(SCADASImpl.java:335)
    at com.sap.glx.adapter.app.ucon.SCADASWrapperImpl.invoke(SCADASWrapperImpl.java:117)
    at com.sap.glx.adapter.app.ucon.UnifiedWebServiceCallObject.invokeWebServiceOperation(UnifiedWebServiceCallObject.java:100)
    at com.sap.glx.adapter.app.ucon.UnifiedWebServiceCallClass.invoke(UnifiedWebServiceCallClass.java:174)
    at com.sap.glx.core.dock.impl.DockObjectImpl.invokeMethod(DockObjectImpl.java:530)
    at com.sap.glx.core.kernel.trigger.config.Script$MethodInvocation.execute(Script.java:245)
    at com.sap.glx.core.kernel.trigger.config.Script.execute(Script.java:791)
    at com.sap.glx.core.kernel.execution.transition.ScriptTransition.execute(ScriptTransition.java:63)
    at com.sap.glx.core.kernel.execution.transition.Transition.commence(Transition.java:138)
    at com.sap.glx.core.kernel.execution.LeaderWorkerPool$Follower.run(LeaderWorkerPool.java:127)
    at com.sap.glx.core.resource.impl.common.WorkWrapper.run(WorkWrapper.java:58)
    at com.sap.glx.core.resource.impl.j2ee.ServiceUserManager$ServiceUserImpersonator$1.run(ServiceUserManager.java:124)
    at java.security.AccessController.doPrivileged(Native Method)
    at javax.security.auth.Subject.doAs(Subject.java:337)
    at com.sap.glx.core.resource.impl.j2ee.ServiceUserManager$ServiceUserImpersonator.run(ServiceUserManager.java:121)
    at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)
    at java.security.AccessController.doPrivileged(Native Method)
    at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:182)
    at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:299)
    Error during SCA Processing 
    [EXCEPTION]
    com.sap.engine.interfaces.sca.spi.PluginException: Could not process message for operation ZNMM001 in JCO plugin module.
    at com.sap.sdo.das.jco.JCoInvoker.accept(JCoInvoker.java:369)
    at com.sap.engine.services.sca.plugins.jco.JCoImplementationInstance.accept(JCoImplementationInstance.java:63)
    at com.sap.engine.services.sca.das.SCADASImpl.invokeReference(SCADASImpl.java:335)
    at com.sap.glx.adapter.app.ucon.SCADASWrapperImpl.invoke(SCADASWrapperImpl.java:117)
    at com.sap.glx.adapter.app.ucon.UnifiedWebServiceCallObject.invokeWebServiceOperation(UnifiedWebServiceCallObject.java:100)
    at com.sap.glx.adapter.app.ucon.UnifiedWebServiceCallClass.invoke(UnifiedWebServiceCallClass.java:174)
    at com.sap.glx.core.dock.impl.DockObjectImpl.invokeMethod(DockObjectImpl.java:530)
    at com.sap.glx.core.kernel.trigger.config.Script$MethodInvocation.execute(Script.java:245)
    at com.sap.glx.core.kernel.trigger.config.Script.execute(Script.java:791)
    at com.sap.glx.core.kernel.execution.transition.ScriptTransition.execute(ScriptTransition.java:63)
    at com.sap.glx.core.kernel.execution.transition.Transition.commence(Transition.java:138)
    at com.sap.glx.core.kernel.execution.LeaderWorkerPool$Follower.run(LeaderWorkerPool.java:127)
    at com.sap.glx.core.resource.impl.common.WorkWrapper.run(WorkWrapper.java:58)
    at com.sap.glx.core.resource.impl.j2ee.ServiceUserManager$ServiceUserImpersonator$1.run(ServiceUserManager.java:124)
    at java.security.AccessController.doPrivileged(Native Method)
    at javax.security.auth.Subject.doAs(Subject.java:337)
    at com.sap.glx.core.resource.impl.j2ee.ServiceUserManager$ServiceUserImpersonator.run(ServiceUserManager.java:121)
    at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)
    at java.security.AccessController.doPrivileged(Native Method)
    at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:182)
    at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:299)
    Edited by: Lehcim on Aug 2, 2010 6:39 PM

  • Regarding Connection Time Out issue in Webservice call to database.

    Hi,
    We are facing one issue with the webservices call to DB and ILOG. We are declaring and executing the webservice in the following way-
    //Request Object
    EDP.ILog.PEWM_EXPDOC_Help_Information_ProxyService.DecisionServiceRequest helpRequest = EDP.ILog.PEWM_EXPDOC_Help_Information_ProxyService.DecisionServiceRequest();
    //Response Object
    EDP.ILog.PEWM_EXPDOC_Help_Information_ProxyService.DecisionServiceResponse helpResponse = EDP.ILog.PEWM_EXPDOC_Help_Information_ProxyService.DecisionServiceResponse();
    //Proxy Service Object Initialisation
    DecisionServicePEWM_EXPDOC_Help_InformationService helpService = DecisionServicePEWM_EXPDOC_Help_InformationService();
    helpService.executeDecisionService(parameters : helpRequest, out parametersOutput : helpResponse);
    All the webservices are configured corectly in External Resources of Process Administrator. Now, the issue is that whenever we are trying to execute the service with good amount of load on OBPM Process Admin Engine, it is throwing the following exception-
    "Exception:java.net.ConnectException: Connection timed out: connect"
    We are unable to find the root cause of the issue as the webservices call is still throwing the above exception.
    Please provide some resolution as soon as possible.
    Thanks in advance,
    Abhishek

    Just to be sure, we're talking about a client process in BPM accessing an ILOG web service or a DB web service, right? Is this DB web service something custom built?
    Be aware that certain things can run inside the workspace and not the engine. You almost have to work at making this happen. The easiest way is to make this happen is to invoke a BPM object method from within a BPM object presentation or JSP. If you do have this situation open the BPM object method and click on properties and check the box run on server side.
    I can't think of anything that wouldn't scale for connections to Web Services in an engine. I'd be looking at tuning your ILog Web services. Perhaps it can't keep up and the engine gets a timeout. How often does this happen? The engine should retry the automatic until is works. But it tries 3 or so times, it gives up. This retry is configurable.
    HTH,
    Mark

  • Long-running BSP : Page timed out and should be reloaded.

    Hi,
    I'm a SAP Basis Administrator, so I have a poor knowledge of BSP technologies.
    I have been asked by the developement team to deal with a Z*  BSP  timeout issue.
    SAP release : 4.7 (6.20)
    We have been provided a detailled scenario by the developemnt team :
    The BSP is not launched from the portal, rather the ICM htpp port is directly called by the BSP.
    We do not use the sap web dispatcher.
    We have previously already increased the ICM htpp timeout to correct the "500 connection Timed outu2019
    On the initial screen of the BSP , we have to fill in several cells (250) then save the input.
    Afterwards, the BSP is running during a while (variable length), the user finally receives a blank screen and the timesheet does not respond ,the following error mesage occurs on IE :
    Page timed out and should be reloaded.
    However, on sap side, the user is still connected (SM04), and the work process is still running(sm66)
    Once the work process has finished its task, we can check that the BSP has correctly updated
    SAP tables.
    The timeout origin is not easy to identify, since it can occur after 3minutes, 4minutes, 8 minutes
    I 've tried to significantly increase keepalive value, rdisp/plugin_auto_logout value ... but it didn't help.
    Any help to identify this timeout would be highy appreciated.
    Thank you in advance for your attention.
    Regards.

    Hi RAOUL
    First of all , is it ok of the update occurs several times , for eg updation of custom preferences or creation of documents,
    If its the creation of documents , so u dont want multiple updates.
    Now by increasing the timeout parameter , u have just increased the time before which a timeout page is displayed , but the process (if started ) will still go on in the background,
    There is also a processing timeout which is http port specfic,
    You can set this value in youe profile by the below.
    icm/server_port_0
    PROT=HTTPS, PORT=8001, TIMEOUT=45, PROCTIMEOUT=45,
    The parameter PROCTIMEOUT is the processing timeout , i.e. after 45 secs , the ABAP process will be terminated and the timeout will be shown.
    So u dont have to worry abt orphan processes ,
    But this will apply all apps listenign on port "server_port_0",
    To be more specfic , u can code the app not to commit if the timeout has been exceeded.
    Cheers

Maybe you are looking for