String index out of range: -1

I am making a program which takes screenshots and uploads them to imageshack.us, I have got the following code.
import java.awt.image.BufferedImage;
import java.awt.*;
import java.io.*;
import java.net.*;
import javax.imageio.ImageIO;
public class Screenshot extends Thread {
     public static void main(String[] args)
          new Screenshot().start();
     public void run()
          try {
               Robot robot = new Robot();
               BufferedImage screenShot = robot.createScreenCapture(new Rectangle(
                         Toolkit.getDefaultToolkit().getScreenSize()));
               ImageIO.write(screenShot, "PNG", new File("screenshot.png"));
               String image = uploadToIs("screenshot.png");
               System.out.println(image);
          } catch (Exception e) {
               e.printStackTrace();
     private static String uploadToIs(String fffffile) {
          HttpURLConnection conn = null;
          DataOutputStream dos = null;
          DataInputStream inStream = null;
          String lineEnd = "\r\n";
          String twoHyphens = "--";
          String boundary = "*****";
          int bytesRead, bytesAvailable, bufferSize;
          byte[] buffer;
          int maxBufferSize = 1 * 1024 * 1024;
          String urlString = "http://www.imageshack.us";
          try {
               String strFilename = fffffile;
               try {
                    FileInputStream fileInputStream = new FileInputStream(new File(
                              strFilename));
                    URL url = new URL(urlString);
                    conn = (HttpURLConnection) url.openConnection();
                    conn.setDoInput(true);
                    conn.setDoOutput(true);
                    conn.setUseCaches(false);
                    conn.setRequestMethod("POST");
                    conn.setRequestProperty("Connection", "Keep-Alive");
                    conn.setRequestProperty("Content-Type",
                              "multipart/form-data;boundary=" + boundary);
                    dos = new DataOutputStream(conn.getOutputStream());
                    dos.writeBytes(twoHyphens + boundary + lineEnd);
                    dos
                              .writeBytes("Content-Disposition: form-data; name=\"fileupload\";"
                                        + " filename=\"" + strFilename + "\"" + lineEnd);
                    dos.writeBytes(lineEnd);
                    bytesAvailable = fileInputStream.available();
                    bufferSize = Math.min(bytesAvailable, maxBufferSize);
                    buffer = new byte[bufferSize];
                    bytesRead = fileInputStream.read(buffer, 0, bufferSize);
                    while (bytesRead > 0) {
                         dos.write(buffer, 0, bufferSize);
                         bytesAvailable = fileInputStream.available();
                         bufferSize = Math.min(bytesAvailable, maxBufferSize);
                         bytesRead = fileInputStream.read(buffer, 0, bufferSize);
                    dos.writeBytes(lineEnd);
                    dos.writeBytes(twoHyphens + boundary + twoHyphens + lineEnd);
                    fileInputStream.close();
                    dos.flush();
                    dos.close();
               } catch (MalformedURLException ex) {
                    System.out.println("Got a malformed URL:" + ex);
               } catch (IOException ioe) {
                    System.out.println("Got an IO issue:" + ioe);
          } catch (Exception e) {
               System.out
                         .println("Sorry, could not find the file to upload. Skipping...");
          try {
               inStream = new DataInputStream(conn.getInputStream());
               int ii;
               String returnd = "";
               while ((ii = inStream.read()) != -1) {
                    returnd += (char) ii;
               int pos = returnd.indexOf("Include details");
               returnd = returnd.substring(pos);
               pos = returnd.indexOf("[IMG]");
               returnd = returnd.substring(pos + 5);
               pos = returnd.indexOf("[/IMG]");
               returnd = returnd.substring(0, pos);
               inStream.close();
               return (returnd);
          } catch (IOException ioex) {
               System.out
                         .println("Got an IO issue from (ServerResponse): " + ioex);
          return "";
}When I start the thread by doing:
new Screenshot().start();I get the String index out of range: -1 error.
StackTrace:
java.lang.StringIndexOutOfBoundsException: String index out of range: -1
     at java.lang.String.substring(Unknown Source)
     at java.lang.String.substring(Unknown Source)
     at Screenshot.uploadToIs(Screenshot.java:93)
     at Screenshot.run(Screenshot.java:23)
But when I add a main method into that class and start the thread it runs fine.
I would appritiate help, thanks alot:)

I understand that part, I was just wondering why my string isn't read when I try and start the thread from another class, but when I run this class on its own and start the thread, it runs fine..

Similar Messages

  • String index out of range 12348

    hI,
    While creating external datasource i am getting error string index out of range 12348
    thanks

    it looks like this may be posted to the incorrect forum.  This is a berkeley DB forum.
    thanks
    mike

  • String index out of range: -1 occuring while deploying a JDBC connection pool

    Hi,
    I'm getting the below error (Sorry for the enormity.i got it from the log file
    .all nested exceptions are included)
    when i deploy my connectionpool onto a weblogic 6.1
    server with the following entries in the config.xml
    <JDBCConnectionPool DriverName="weblogic.jdbc.mssqlserver4.Driver" InitialCapacity="4"
    LoginDelaySeconds="1" MaxCapacity="10" Name="CabinBeanPool" Properties="user=sa;password=sa;"
    RefreshMinutes="10" SupportsLocalTransaction="true" Targets="myserver" TestConnectionsOnRelease="true"
    TestConnectionsOnReserve="true" TestTableName="CabinBeanTable" URL="weblogic:jdbc:mssqlserver4:pubs@bsl2002"
    />
    The below one i think is the core exception.Rest are nested.
    java.lang.StringIndexOutOfBoundsException: String index out of range: -1
         at java.lang.String.substring(String.java:1525)
         at weblogic.jdbc.mssqlserver4.ConnectionInfo.<init>(ConnectionInfo.java:63)
    Grateful if u could provide the solution?
    ####<Feb 7, 2002 3:25:47 PM IST> <Error> <JDBC> <bsl2002> <myserver> <ExecuteThread:
    '8' for queue: 'default'> <system> <> <001060> <Cannot startup connection pool
    "CabinBeanPool" String index out of range: -1>
    ####<Feb 7, 2002 3:25:47 PM IST> <Error> <Management> <bsl2002> <myserver> <ExecuteThread:
    '8' for queue: 'default'> <system> <> <141001> <Error updating deployments on
    target mydomain:Name=myserver,Type=Server, component mydomain:Name=CabinBeanPool,Type=JDBCConnectionPool,
    deployments: old values: mydomain:Name=myserver,Type=Server>
    weblogic.management.DistributedManagementException: Distributed Management [1
    exceptions]
         at weblogic.management.internal.ConfigurationMBeanImpl.updateConfigMBeans(ConfigurationMBeanImpl.java:534)
         at weblogic.management.internal.ConfigurationMBeanImpl.invoke(ConfigurationMBeanImpl.java:354)
         at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1555)
         at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1523)
         at weblogic.management.internal.MBeanProxy.invoke(MBeanProxy.java:449)
         at weblogic.management.internal.MBeanProxy.invoke(MBeanProxy.java:190)
         at $Proxy7.addDeployment(Unknown Source)
         at weblogic.management.internal.DynamicMBeanImpl.updateDeployments(DynamicMBeanImpl.java:1448)
         at weblogic.management.internal.DynamicMBeanImpl.setAttribute(DynamicMBeanImpl.java:858)
         at weblogic.management.internal.DynamicMBeanImpl.setAttribute(DynamicMBeanImpl.java:810)
         at weblogic.management.internal.ConfigurationMBeanImpl.setAttribute(ConfigurationMBeanImpl.java:288)
         at com.sun.management.jmx.MBeanServerImpl.setAttribute(MBeanServerImpl.java:1356)
         at com.sun.management.jmx.MBeanServerImpl.setAttribute(MBeanServerImpl.java:1331)
         at weblogic.management.internal.MBeanProxy.setAttribute(MBeanProxy.java:303)
         at weblogic.management.internal.MBeanProxy.invoke(MBeanProxy.java:185)
         at $Proxy19.setTargets(Unknown Source)
         at java.lang.reflect.Method.invoke(Native Method)
         at weblogic.management.console.info.FilteredMBeanAttribute.doSet(FilteredMBeanAttribute.java:89)
         at weblogic.management.console.actions.mbean.DoEditMBeanAction.perform(DoEditMBeanAction.java:116)
         at weblogic.management.console.actions.internal.ActionServlet.doAction(ActionServlet.java:167)
         at weblogic.management.console.actions.internal.ActionServlet.doPost(ActionServlet.java:85)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
         at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:265)
         at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:200)
         at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:2456)
         at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2039)
         at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
    Distributed update exception
    - remote object: mydomain:Location=myserver,Name=myserver,Type=ServerConfig
    - remote server: weblogic.management.internal.RemoteMBeanServerImpl@19b1ca
    - actionName: addDeployment
    - params: [Ljava.lang.Object;@5e474b
    - signature: [Ljava.lang.String;@1aaeb5
    Distributed update exception
    - remote object: mydomain:Location=myserver,Name=myserver,Type=ServerConfig
    - remote server: weblogic.management.internal.RemoteMBeanServerImpl@19b1ca
    java.lang.StringIndexOutOfBoundsException: String index out of range: -1
         at java.lang.String.substring(String.java:1525)
         at weblogic.jdbc.mssqlserver4.ConnectionInfo.<init>(ConnectionInfo.java:63)
         at weblogic.jdbc.mssqlserver4.ConnectDriver.parse(ConnectDriver.java:337)
         at weblogic.jdbc.mssqlserver4.ConnectDriver.acceptsURL(ConnectDriver.java:181)
         at java.sql.DriverManager.getDriver(DriverManager.java:238)
         at weblogic.jdbc.common.internal.ConnectionEnvFactory.loadDriver(ConnectionEnvFactory.java:94)
         at weblogic.jdbc.common.internal.ConnectionEnvFactory.<init>(ConnectionEnvFactory.java:122)
         at weblogic.jdbc.common.internal.ConnectionPool.getResourceFactory(ConnectionPool.java:691)
         at weblogic.jdbc.common.internal.ConnectionPool.startup(ConnectionPool.java:610)
         at weblogic.jdbc.common.JDBCService.addDeployment(JDBCService.java:107)
         at weblogic.management.mbeans.custom.DeploymentTarget.addDeployment(DeploymentTarget.java:329)
         at weblogic.management.mbeans.custom.DeploymentTarget.addDeployment(DeploymentTarget.java:144)
         at java.lang.reflect.Method.invoke(Native Method)
         at weblogic.management.internal.DynamicMBeanImpl.invokeLocally(DynamicMBeanImpl.java:608)
         at weblogic.management.internal.DynamicMBeanImpl.invoke(DynamicMBeanImpl.java:592)
         at weblogic.management.internal.ConfigurationMBeanImpl.invoke(ConfigurationMBeanImpl.java:352)
         at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1555)
         at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1523)
         at weblogic.management.internal.ConfigurationMBeanImpl.updateConfigMBeans(ConfigurationMBeanImpl.java:484)
         at weblogic.management.internal.ConfigurationMBeanImpl.invoke(ConfigurationMBeanImpl.java:354)
         at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1555)
         at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1523)
         at weblogic.management.internal.MBeanProxy.invoke(MBeanProxy.java:449)
         at weblogic.management.internal.MBeanProxy.invoke(MBeanProxy.java:190)
         at $Proxy7.addDeployment(Unknown Source)
         at weblogic.management.internal.DynamicMBeanImpl.updateDeployments(DynamicMBeanImpl.java:1448)
         at weblogic.management.internal.DynamicMBeanImpl.setAttribute(DynamicMBeanImpl.java:858)
         at weblogic.management.internal.DynamicMBeanImpl.setAttribute(DynamicMBeanImpl.java:810)
         at weblogic.management.internal.ConfigurationMBeanImpl.setAttribute(ConfigurationMBeanImpl.java:288)
         at com.sun.management.jmx.MBeanServerImpl.setAttribute(MBeanServerImpl.java:1356)
         at com.sun.management.jmx.MBeanServerImpl.setAttribute(MBeanServerImpl.java:1331)
         at weblogic.management.internal.MBeanProxy.setAttribute(MBeanProxy.java:303)
         at weblogic.management.internal.MBeanProxy.invoke(MBeanProxy.java:185)
         at $Proxy19.setTargets(Unknown Source)
         at java.lang.reflect.Method.invoke(Native Method)
         at weblogic.management.console.info.FilteredMBeanAttribute.doSet(FilteredMBeanAttribute.java:89)
         at weblogic.management.console.actions.mbean.DoEditMBeanAction.perform(DoEditMBeanAction.java:116)
         at weblogic.management.console.actions.internal.ActionServlet.doAction(ActionServlet.java:167)
         at weblogic.management.console.actions.internal.ActionServlet.doPost(ActionServlet.java:85)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
         at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:265)
         at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:200)
         at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:2456)
         at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2039)
         at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
    --------------- nested within: ------------------
    weblogic.management.DeploymentException: Error creating connection pool - with
    nested exception:
    [java.lang.StringIndexOutOfBoundsException: String index out of range: -1]
         at weblogic.jdbc.common.JDBCService.addDeployment(JDBCService.java:110)
         at weblogic.management.mbeans.custom.DeploymentTarget.addDeployment(DeploymentTarget.java:329)
         at weblogic.management.mbeans.custom.DeploymentTarget.addDeployment(DeploymentTarget.java:144)
         at java.lang.reflect.Method.invoke(Native Method)
         at weblogic.management.internal.DynamicMBeanImpl.invokeLocally(DynamicMBeanImpl.java:608)
         at weblogic.management.internal.DynamicMBeanImpl.invoke(DynamicMBeanImpl.java:592)
         at weblogic.management.internal.ConfigurationMBeanImpl.invoke(ConfigurationMBeanImpl.java:352)
         at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1555)
         at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1523)
         at weblogic.management.internal.ConfigurationMBeanImpl.updateConfigMBeans(ConfigurationMBeanImpl.java:484)
         at weblogic.management.internal.ConfigurationMBeanImpl.invoke(ConfigurationMBeanImpl.java:354)
         at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1555)
         at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1523)
         at weblogic.management.internal.MBeanProxy.invoke(MBeanProxy.java:449)
         at weblogic.management.internal.MBeanProxy.invoke(MBeanProxy.java:190)
         at $Proxy7.addDeployment(Unknown Source)
         at weblogic.management.internal.DynamicMBeanImpl.updateDeployments(DynamicMBeanImpl.java:1448)
         at weblogic.management.internal.DynamicMBeanImpl.setAttribute(DynamicMBeanImpl.java:858)
         at weblogic.management.internal.DynamicMBeanImpl.setAttribute(DynamicMBeanImpl.java:810)
         at weblogic.management.internal.ConfigurationMBeanImpl.setAttribute(ConfigurationMBeanImpl.java:288)
         at com.sun.management.jmx.MBeanServerImpl.setAttribute(MBeanServerImpl.java:1356)
         at com.sun.management.jmx.MBeanServerImpl.setAttribute(MBeanServerImpl.java:1331)
         at weblogic.management.internal.MBeanProxy.setAttribute(MBeanProxy.java:303)
         at weblogic.management.internal.MBeanProxy.invoke(MBeanProxy.java:185)
         at $Proxy19.setTargets(Unknown Source)
         at java.lang.reflect.Method.invoke(Native Method)
         at weblogic.management.console.info.FilteredMBeanAttribute.doSet(FilteredMBeanAttribute.java:89)
         at weblogic.management.console.actions.mbean.DoEditMBeanAction.perform(DoEditMBeanAction.java:116)
         at weblogic.management.console.actions.internal.ActionServlet.doAction(ActionServlet.java:167)
         at weblogic.management.console.actions.internal.ActionServlet.doPost(ActionServlet.java:85)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
         at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:265)
         at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:200)
         at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:2456)
         at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2039)
         at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
    --------------- nested within: ------------------
    weblogic.management.DistributedOperationUpdateException: Error creating connection
    pool - with nested exception:
    [weblogic.management.DeploymentException: Error creating connection pool - with
    nested exception:
    [java.lang.StringIndexOutOfBoundsException: String index out of range: -1]]
         at weblogic.management.internal.ConfigurationMBeanImpl.updateConfigMBeans(ConfigurationMBeanImpl.java:494)
         at weblogic.management.internal.Con####<Feb 7, 2002 4:09:22 PM IST> <Notice>

    Hi Saju,
    There is an error in the URL definition. It should be
    jdbc:weblogic:mssqlserver4 instead of weblogic:jdbc:mssqlserver4.
    Regards,
    Slava Imeshev
    "Saju Thomas" <[email protected]> wrote in message
    news:[email protected]...
    >
    Hi,
    I'm getting the below error (Sorry for the enormity.i got it from the logfile
    all nested exceptions are included)
    when i deploy my connectionpool onto a weblogic 6.1
    server with the following entries in the config.xml
    <JDBCConnectionPool DriverName="weblogic.jdbc.mssqlserver4.Driver"InitialCapacity="4"
    LoginDelaySeconds="1" MaxCapacity="10" Name="CabinBeanPool"Properties="user=sa;password=sa;"
    RefreshMinutes="10" SupportsLocalTransaction="true" Targets="myserver"TestConnectionsOnRelease="true"
    TestConnectionsOnReserve="true" TestTableName="CabinBeanTable"URL="weblogic:jdbc:mssqlserver4:pubs@bsl2002"
    />
    The below one i think is the core exception.Rest are nested.
    java.lang.StringIndexOutOfBoundsException: String index out of range: -1
    at java.lang.String.substring(String.java:1525)
    atweblogic.jdbc.mssqlserver4.ConnectionInfo.<init>(ConnectionInfo.java:63)
    >
    Grateful if u could provide the solution?
    ####<Feb 7, 2002 3:25:47 PM IST> <Error> <JDBC> <bsl2002> <myserver><ExecuteThread:
    '8' for queue: 'default'> <system> <> <001060> <Cannot startup connectionpool
    "CabinBeanPool" String index out of range: -1>
    ####<Feb 7, 2002 3:25:47 PM IST> <Error> <Management> <bsl2002> <myserver><ExecuteThread:
    '8' for queue: 'default'> <system> <> <141001> <Error updating deploymentson
    target mydomain:Name=myserver,Type=Server, componentmydomain:Name=CabinBeanPool,Type=JDBCConnectionPool,
    deployments: old values: mydomain:Name=myserver,Type=Server>
    weblogic.management.DistributedManagementException: Distributed Management[1
    exceptions]
    atweblogic.management.internal.ConfigurationMBeanImpl.updateConfigMBeans(Confi
    gurationMBeanImpl.java:534)
    atweblogic.management.internal.ConfigurationMBeanImpl.invoke(ConfigurationMBea
    nImpl.java:354)
    atcom.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1555)
    atcom.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1523)
    at weblogic.management.internal.MBeanProxy.invoke(MBeanProxy.java:449)
    at weblogic.management.internal.MBeanProxy.invoke(MBeanProxy.java:190)
    at $Proxy7.addDeployment(Unknown Source)
    atweblogic.management.internal.DynamicMBeanImpl.updateDeployments(DynamicMBean
    Impl.java:1448)
    atweblogic.management.internal.DynamicMBeanImpl.setAttribute(DynamicMBeanImpl.
    java:858)
    atweblogic.management.internal.DynamicMBeanImpl.setAttribute(DynamicMBeanImpl.
    java:810)
    atweblogic.management.internal.ConfigurationMBeanImpl.setAttribute(Configurati
    onMBeanImpl.java:288)
    atcom.sun.management.jmx.MBeanServerImpl.setAttribute(MBeanServerImpl.java:135
    6)
    atcom.sun.management.jmx.MBeanServerImpl.setAttribute(MBeanServerImpl.java:133
    1)
    atweblogic.management.internal.MBeanProxy.setAttribute(MBeanProxy.java:303)
    at weblogic.management.internal.MBeanProxy.invoke(MBeanProxy.java:185)
    at $Proxy19.setTargets(Unknown Source)
    at java.lang.reflect.Method.invoke(Native Method)
    atweblogic.management.console.info.FilteredMBeanAttribute.doSet(FilteredMBeanA
    ttribute.java:89)
    atweblogic.management.console.actions.mbean.DoEditMBeanAction.perform(DoEditMB
    eanAction.java:116)
    atweblogic.management.console.actions.internal.ActionServlet.doAction(ActionSe
    rvlet.java:167)
    atweblogic.management.console.actions.internal.ActionServlet.doPost(ActionServ
    let.java:85)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
    atweblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java
    :265)
    atweblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java
    :200)
    atweblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletCo
    ntext.java:2456)
    atweblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java
    :2039)
    at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
    Distributed update exception
    - remote object:mydomain:Location=myserver,Name=myserver,Type=ServerConfig
    - remote server: weblogic.management.internal.RemoteMBeanServerImpl@19b1ca
    - actionName: addDeployment
    - params: [Ljava.lang.Object;@5e474b
    - signature: [Ljava.lang.String;@1aaeb5
    Distributed update exception
    - remote object:mydomain:Location=myserver,Name=myserver,Type=ServerConfig
    - remote server: weblogic.management.internal.RemoteMBeanServerImpl@19b1ca
    java.lang.StringIndexOutOfBoundsException: String index out of range: -1
    at java.lang.String.substring(String.java:1525)
    atweblogic.jdbc.mssqlserver4.ConnectionInfo.<init>(ConnectionInfo.java:63)
    at weblogic.jdbc.mssqlserver4.ConnectDriver.parse(ConnectDriver.java:337)
    atweblogic.jdbc.mssqlserver4.ConnectDriver.acceptsURL(ConnectDriver.java:181)
    at java.sql.DriverManager.getDriver(DriverManager.java:238)
    atweblogic.jdbc.common.internal.ConnectionEnvFactory.loadDriver(ConnectionEnvF
    actory.java:94)
    atweblogic.jdbc.common.internal.ConnectionEnvFactory.<init>(ConnectionEnvFacto
    ry.java:122)
    atweblogic.jdbc.common.internal.ConnectionPool.getResourceFactory(ConnectionPo
    ol.java:691)
    atweblogic.jdbc.common.internal.ConnectionPool.startup(ConnectionPool.java:610
    at weblogic.jdbc.common.JDBCService.addDeployment(JDBCService.java:107)
    atweblogic.management.mbeans.custom.DeploymentTarget.addDeployment(DeploymentT
    arget.java:329)
    atweblogic.management.mbeans.custom.DeploymentTarget.addDeployment(DeploymentT
    arget.java:144)
    at java.lang.reflect.Method.invoke(Native Method)
    atweblogic.management.internal.DynamicMBeanImpl.invokeLocally(DynamicMBeanImpl
    .java:608)
    atweblogic.management.internal.DynamicMBeanImpl.invoke(DynamicMBeanImpl.java:5
    92)
    atweblogic.management.internal.ConfigurationMBeanImpl.invoke(ConfigurationMBea
    nImpl.java:352)
    atcom.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1555)
    atcom.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1523)
    atweblogic.management.internal.ConfigurationMBeanImpl.updateConfigMBeans(Confi
    gurationMBeanImpl.java:484)
    atweblogic.management.internal.ConfigurationMBeanImpl.invoke(ConfigurationMBea
    nImpl.java:354)
    atcom.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1555)
    atcom.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1523)
    at weblogic.management.internal.MBeanProxy.invoke(MBeanProxy.java:449)
    at weblogic.management.internal.MBeanProxy.invoke(MBeanProxy.java:190)
    at $Proxy7.addDeployment(Unknown Source)
    atweblogic.management.internal.DynamicMBeanImpl.updateDeployments(DynamicMBean
    Impl.java:1448)
    atweblogic.management.internal.DynamicMBeanImpl.setAttribute(DynamicMBeanImpl.
    java:858)
    atweblogic.management.internal.DynamicMBeanImpl.setAttribute(DynamicMBeanImpl.
    java:810)
    atweblogic.management.internal.ConfigurationMBeanImpl.setAttribute(Configurati
    onMBeanImpl.java:288)
    atcom.sun.management.jmx.MBeanServerImpl.setAttribute(MBeanServerImpl.java:135
    6)
    atcom.sun.management.jmx.MBeanServerImpl.setAttribute(MBeanServerImpl.java:133
    1)
    atweblogic.management.internal.MBeanProxy.setAttribute(MBeanProxy.java:303)
    at weblogic.management.internal.MBeanProxy.invoke(MBeanProxy.java:185)
    at $Proxy19.setTargets(Unknown Source)
    at java.lang.reflect.Method.invoke(Native Method)
    atweblogic.management.console.info.FilteredMBeanAttribute.doSet(FilteredMBeanA
    ttribute.java:89)
    atweblogic.management.console.actions.mbean.DoEditMBeanAction.perform(DoEditMB
    eanAction.java:116)
    atweblogic.management.console.actions.internal.ActionServlet.doAction(ActionSe
    rvlet.java:167)
    atweblogic.management.console.actions.internal.ActionServlet.doPost(ActionServ
    let.java:85)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
    atweblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java
    :265)
    atweblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java
    :200)
    atweblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletCo
    ntext.java:2456)
    atweblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java
    :2039)
    at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
    --------------- nested within: ------------------
    weblogic.management.DeploymentException: Error creating connection pool -with
    nested exception:
    [java.lang.StringIndexOutOfBoundsException: String index out of range: -1]
    at weblogic.jdbc.common.JDBCService.addDeployment(JDBCService.java:110)
    atweblogic.management.mbeans.custom.DeploymentTarget.addDeployment(DeploymentT
    arget.java:329)
    atweblogic.management.mbeans.custom.DeploymentTarget.addDeployment(DeploymentT
    arget.java:144)
    at java.lang.reflect.Method.invoke(Native Method)
    atweblogic.management.internal.DynamicMBeanImpl.invokeLocally(DynamicMBeanImpl
    .java:608)
    atweblogic.management.internal.DynamicMBeanImpl.invoke(DynamicMBeanImpl.java:5
    92)
    atweblogic.management.internal.ConfigurationMBeanImpl.invoke(ConfigurationMBea
    nImpl.java:352)
    atcom.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1555)
    atcom.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1523)
    atweblogic.management.internal.ConfigurationMBeanImpl.updateConfigMBeans(Confi
    gurationMBeanImpl.java:484)
    atweblogic.management.internal.ConfigurationMBeanImpl.invoke(ConfigurationMBea
    nImpl.java:354)
    atcom.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1555)
    atcom.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1523)
    at weblogic.management.internal.MBeanProxy.invoke(MBeanProxy.java:449)
    at weblogic.management.internal.MBeanProxy.invoke(MBeanProxy.java:190)
    at $Proxy7.addDeployment(Unknown Source)
    atweblogic.management.internal.DynamicMBeanImpl.updateDeployments(DynamicMBean
    Impl.java:1448)
    atweblogic.management.internal.DynamicMBeanImpl.setAttribute(DynamicMBeanImpl.
    java:858)
    atweblogic.management.internal.DynamicMBeanImpl.setAttribute(DynamicMBeanImpl.
    java:810)
    atweblogic.management.internal.ConfigurationMBeanImpl.setAttribute(Configurati
    onMBeanImpl.java:288)
    atcom.sun.management.jmx.MBeanServerImpl.setAttribute(MBeanServerImpl.java:135
    6)
    atcom.sun.management.jmx.MBeanServerImpl.setAttribute(MBeanServerImpl.java:133
    1)
    atweblogic.management.internal.MBeanProxy.setAttribute(MBeanProxy.java:303)
    at weblogic.management.internal.MBeanProxy.invoke(MBeanProxy.java:185)
    at $Proxy19.setTargets(Unknown Source)
    at java.lang.reflect.Method.invoke(Native Method)
    atweblogic.management.console.info.FilteredMBeanAttribute.doSet(FilteredMBeanA
    ttribute.java:89)
    atweblogic.management.console.actions.mbean.DoEditMBeanAction.perform(DoEditMB
    eanAction.java:116)
    atweblogic.management.console.actions.internal.ActionServlet.doAction(ActionSe
    rvlet.java:167)
    atweblogic.management.console.actions.internal.ActionServlet.doPost(ActionServ
    let.java:85)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
    atweblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java
    :265)
    atweblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java
    :200)
    atweblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletCo
    ntext.java:2456)
    atweblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java
    :2039)
    at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
    --------------- nested within: ------------------
    weblogic.management.DistributedOperationUpdateException: Error creatingconnection
    pool - with nested exception:
    [weblogic.management.DeploymentException: Error creating connection pool -
    with> nested exception:> [java.lang.StringIndexOutOfBoundsException: String index out ofrange: -1]
    atweblogic.management.internal.ConfigurationMBeanImpl.updateConfigMBeans(Confi
    gurationMBeanImpl.java:494)
    at weblogic.management.internal.Con####<Feb 7, 2002 4:09:22 PM IST><Notice>
    >

  • Error "String index out of range:6" while opening Webi fromBI java Lauchpad

    Dear All,
    I have installed BO 4.0 recently. When I open BI Java Lauch Pad URL I can see Web Intelligence under the applications list. When I click it, a pop up getting opened with message " String index out of range: 6" When I click "Details" icon in the pop up, it is showing this description.
    Detected from bootclasspath: C:
    PROGRA~1
    Java
    jre7
    lib
    deploy.jar
    Java Plug-in 10.0.0.147
    Using JRE version 1.7.0-b147 Java HotSpot(TM) Client VM
    User home directory = C:\Users\RT89363
    c:   clear console window
    f:   finalize objects on finalization queue
    g:   garbage collect
    h:   display this help message
    l:   dump classloader list
    m:   print memory usage
    o:   trigger logging
    q:   hide console
    r:   reload policy configuration
    s:   dump system and deployment properties
    t:   dump thread list
    v:   dump thread stack
    x:   clear classloader cache
    0-5: set trace level to <n>
    I have tried this in a machine where i logged as a normal user. But when i open the same link from a machine where i logged as administrator, it is working fine.
    Could any one help me in sorting out the issue ??
    Thanks in advance.
    Regards
    Ravi.

    Hi Ravi,
    the error is due to the componet JAVA(TM) 7 which is not supported.
    Better to run JAVA 6, I'm running the update 33, you can download it from http://www.oracle.com/technetwork/java/javase/downloads/jre6-downloads-1637595.html
    Remeber to remove JAVA &
    Go to control panel --> add remove programs and remove JAVA (TM) 7.
    It will solve the problem.
    Ciao,
    Massimo

  • PI 7.31 (single stack) posting to RFC configuration gives this error: om.sap.mw.jco.JCO$Exception: (104) RFC_ERROR_SYSTEM_FAILURE: String index out of range: 0 (raised by system extern ...

    Getting cryptic error while trying to post to a custom RFC from PI 7.31 single stack.
    com.sap.mw.jco.JCO$Exception: (104) RFC_ERROR_SYSTEM_FAILURE: String index out of range: 0 (raised by system <extern>|pidevhost)
    Does anyone recognize this error and/or know of detailed instructions for registering custom RFCs in PI 7.31. I could possibly have configured the target wrong but no error says so.
    This is a File-->PI-->RFC scenario. The file processing is super simple and a configuration I have used successfully before. I would assume I'd get a different error if it couldn't parse the file.
    Jody

    Not shure if you already did but try getting some details with XPI Inspector. Also increasing log level for this category might help. You also may wanna check authorization (even if this should show with a different error text) in ECC using ST01.
    My guts feeling is that there is something wrong with payload / signature of RFC.
    Cheers
    Jens

  • Error Mapping XI:  String index out of range.

    Hi Experts,
    I have a problem with the mapping in XI. The transformation of data is very complex (see below) for field HBKID. I'm not having understanding the process of mapping is performed for the field HBKID. The creation of the transformation was performed using the graphical method for mapping in XI for this case. I think the person who created this data transformation didn't know that could be used USER DEFINED FUNCTION. Could you explain in more detail this MAPPING?
    In the test displays the message: RuntimeException in Message-Mapping transformation: Runtime exception during processing target field mapping /ns1:ZSD000TF01/ZVBAP/item[2]/HBKID.
    The message is: Exception:java.lang.StringIndexOutOfBoundsException: String index out of range: 3]
    Edited by: Rafael Sá on Feb 9, 2010 10:40 PM

    Hi Experts,
    So, I've done several tests on the tab of tests with various XML and I can't understand reason of the error in MAPPING.
    I'll detail a little more the problem:
    The processing of the interface is made by many items.
    MAPPING ERROR:
    When the interface processes a first item with the information below:
    CHAVE_BANCO = EMPTY
    MEIO_PGTO = D
    TP_CARTAO_CREDITO = EMPTY
    AND a second item with the information below:
    CHAVE_BANCO = 314/3705
    MEIO_PGTO = W
    TP_CARTAO_CREDITO = EMPTY
    The error occurs: The message is: Exception:java.lang.StringIndexOutOfBoundsException: String index out of range: 3]
    MAPPING OK:
    But when the processing is performed inversely, the MAPPING is done correctly.
    When the interface processes a first item with the information below:
    CHAVE_BANCO = 314/3705
    MEIO_PGTO = W
    TP_CARTAO_CREDITO = EMPTY
    AND a second item with the information below:
    CHAVE_BANCO = EMPTY
    MEIO_PGTO = D
    TP_CARTAO_CREDITO = EMPTY
    I don't understand logic mapping for the field HBKID.

  • MP Error: StringIndexOutOfBoundsException: String index out of range: -1

    Hi All,
    We are using PI 7.1 EHP1, Where in we would like to see the capabilty of User-Module for Conversion of IDoc Messages Between Flat and XML Formats. Gone thru the blog (/people/sap.user72/blog/2005/07/04/get-into-the-zone - Part 2) and maintained the necessary NWA configurations and maintained the necessary module parameters (SAPRelease, SourceJRA, TargetDestination) in Sender File Adapter.
    Now the file is not been picked by file adapter upon checking the Comm Channel Monitoring below error:
    MP: exception caught with cause java.lang.StringIndexOutOfBoundsException: String index out of range -1
    Any help would be highly appreciated.
    Thanks in advance

    Hi Ramani,
    I hope you must have found a solution on this, if not then kindly consider changing your source files, as this error corresponds to only one thing: i.e. DATA Issue. You need to correct the data which you providing to the module for conversion.
    I faced this problem and corrected it by just correcting my test file.
    Regards,
    Nipun Shedhani

  • HTTP transport error: javax.xml.soap.SOAPException: java.security.PrivilegedActionException: javax.xml.soap.SOAPException: Message send failed: String index out of range: -7

    All -
    I'm new to consuming web services in JDeveloper. I'm using Oracle JDEV 10.1.3.3/OC4J.  I'm using this version since it is compatible with Oracle EBS 12.1.3.  My intent is to pull data from our third party recruitment app (Success Factors) and load that data into Oracle HRIS.  I'm already doing this through a .NET application.  I'm converting it to be a Java Concurrent Program in EBS.  The code listed below is a stub call to verify I'm on the right track. I created a JDeveloper Web Services proxy project.  I'm testing it locally on my windows desktop.  When I'm able to consume the service successfully, then I'll think about moving it to the EBS server.
    I'm getting the following error when I invoke the following service:
    HTTP transport error: javax.xml.soap.SOAPException: java.security.PrivilegedActionException: javax.xml.soap.SOAPException: Message send failed: String index out of range: -7
    End point is: https://api4.successfactors.com/sfapi/v1/soap?wsdl
    Any help/assistance would be much appreciated. 
    Below is my code and output of my test:
    package emsc.oracle.apps.emscper.sfapi.proxy;
    import HTTPClient.HTTPConnection;
    import emsc.oracle.apps.emscper.sfapi.proxy.types.sfobject_sfapi_successfactors_com.IsValidSession;
    import emsc.oracle.apps.emscper.sfapi.proxy.types.sfobject_sfapi_successfactors_com.IsValidSessionResponse;
    import emsc.oracle.apps.emscper.sfapi.proxy.types.sfobject_sfapi_successfactors_com.Login;
    import emsc.oracle.apps.emscper.sfapi.proxy.types.sfobject_sfapi_successfactors_com.LoginResponse;
    import emsc.oracle.apps.emscper.sfapi.proxy.types.sfobject_sfapi_successfactors_com.LoginResult;
    import emsc.oracle.apps.emscper.sfapi.proxy.types.sfobject_sfapi_successfactors_com.Logout;
    import emsc.oracle.apps.emscper.sfapi.proxy.types.sfobject_sfapi_successfactors_com.LogoutResponse;
    import emsc.oracle.apps.emscper.sfapi.proxy.types.sfobject_sfapi_successfactors_com.SFCredential;
    import emsc.oracle.apps.emscper.sfapi.proxy.types.sfobject_sfapi_successfactors_com.SFParameter;
    import emsc.oracle.apps.emscper.sfapi.proxy.types.sfobject_sfapi_successfactors_com.Error;
    import java.io.File;
    import javax.xml.rpc.ServiceFactory;
    import java.util.ArrayList;
    import java.util.List;
    import java.util.Date;
    import javax.xml.ws.BindingProvider;
    import javax.xml.soap.SOAPException;
    import java.util.Map;
    import oracle.security.ssl.OracleSSLCredential;
    public class SFAPITest {
        // Declare members:      
        private String companyId;
        private String userName;
        private String password;
        private String developerKey;
        private Date   effDt;
        private String greaterThanEffDt;
        private String lessThanEffDt;
        // Declare constants:      
        final static private String breakLine = "+---------------------------------------------------------------------------+";
        final static private String format    = "yyyy-mm-dd";      
        private enum ReqId {
            PrimaryReq(25),
            PrimaryReqCEO(26),
            EmCarePrimary(27),
            RTI(28),
            EmCareClinical(29);
            private int reqId; 
            private ReqId() {
            private ReqId(int value) {
                reqId = value;
            public int getReqId() {
                return reqId;
        // Getters and Setters:  
        protected String getCompanyId() {
           return this.companyId;
        protected void setCompanyId(String value) {
           this.companyId = value;                 
        protected String getUserName() {
           return this.userName;
        protected void setUserName(String value) {
           this.userName = value;                 
        protected String getPassword() {
           return this.password;
        protected void setPassword(String value) {
           this.password = value;                 
        protected String getDeveloperKey() {
           return this.developerKey;
        protected void setDeveloperKey(String value) {
           this.developerKey = value;                 
        protected Date getEffDt() {
            return this.effDt;
        protected void setEffDt(Date value) {
            this.effDt = value;                 
        protected String getGreaterThanEffDt() {
           return this.greaterThanEffDt;
        protected void setGreaterThanEffDt(String value) {
           this.greaterThanEffDt = value;                 
        protected String getLessThanEffDt() {
           return this.lessThanEffDt;
        protected void setLessThanEffDt(String value) {
           this.lessThanEffDt = value;                 
        public void runProgram()
            SFAPIService mySFAPIService;
            String CompletionText = "";
            String effDtStr2 = null;
        /* Code your program logic here.
        * Use getJDBCConnection method to get the connection object for any
        * JDBC operations.
        * Use CpContext provided commit,rollback methods to commit/rollback
        * data base transactions.
        * Don't forget to release the connection before returning from this
        * method.
        /* Call setCompletion method to set the request completion status and
        * completion text.
        * Status values are ReqCompletion.NORMAL,ReqCompletion.WARNING,
        * ReqCompletion.ERROR.
        * Use Completion text message of length 240 characters. If it is more
        * than 240 then full string will appear in log file and truncated 240
        * characters will be used as request completion text.
        try
            ServiceFactory factory = ServiceFactory.newInstance();
            mySFAPIService = (emsc.oracle.apps.emscper.sfapi.proxy.SFAPIService)factory.loadService(emsc.oracle.apps.emscper.sfapi.proxy.SFAPIService.class);      
            SFAPI api = mySFAPIService.getSFAPI();
           /// SFAPI api = new SFAPI();
            //Map<String, Object> requestContext = ((BindingProvider) api).getRequestContext();
            //requestContext.put(BindingProvider.SESSION_MAINTAIN_PROPERTY, true);
            System.out.println("ServiceName => " + mySFAPIService.getServiceName().toString());
            System.out.println("End Point   => " + mySFAPIService.getServiceName().toString());
            System.out.println(breakLine);
            // Authentication: Login to SFAPI:
            SFCredential credential = new SFCredential();
            // Fake credentials being passed in for this post:   
            credential.setCompanyId("XXX");
            credential.setUsername("XXX");
            credential.setPassword("XXX");
            credential.setDeveloperKey("XXX");
            HTTPConnection httpsConnection = null;       
            OracleSSLCredential _credential = new OracleSSLCredential();      
            _credential.setWallet("\\\\\\C:\\Program Files\\Java\\jdk1.6.0_33\\jre\\lib\\security", "ParkEstes3");
            /*System.setProperty("javax.net.ssl.trustStore","C:\\\\\OraHome_1\\jdev\\jdevbin\\jdk\\jre\\lib\\security\\keystore");
            System.setProperty("javax.net.ssl.trustStorePassword","changeit");  
            System.out.println(System.getProperty("javax.net.ssl.trustStore"));*/
            // SFParameter: Define a generic SFParameter List.  This is a necessary parameter
            // to invoking calls in SFAPI:      
             /*System.setProperty("javax.net.ssl.keyStore",
             "file:\\\C:\\jdk1.4.1\\jre\\lib\\security\\client.keystore");
             System.setProperty("javax.net.ssl.keyStorePassword","welcome");         */
            /*  System.setProperty("oracle.net.wallet_location",
                          "(SOURCE=(METHOD=file)(METHOD_DATA=(DIRECTORY=\\\C:\Users\dparrish\Oracle\WALLETS)))");  // (2)                     */
            File kstore = new File("C:\\OraHome_1\\jdev\\jdevbin\\jdk\\jre\\lib\\security\\jssecacerts");
            boolean exists = kstore.exists();
            if (!exists) {
                System.out.println("Keystore does not exist");
            else {
                System.out.println("Keystore does exist");
            System.setProperty("javax.net.ssl.trustStore", kstore.getAbsolutePath());
            System.setProperty("javax.net.ssl.trustStorePassword", "changeit");
            //System.setProperty("proxySet", "false");
            //System.setProperty("http.proxyHost", "127.0.0.1");
            //System.setProperty("http.proxyPort", "8080");
            System.out.println(kstore.getAbsolutePath());
            List<SFParameter> lst = new ArrayList<SFParameter>();
            SFParameter param = new SFParameter();
            param.setName("");
            param.setValue("");
            lst.add(param);      
            SFParameter[] sfParam = lst.toArray(new SFParameter[lst.size()]);
            Login login = new Login();
            try {
                login.setCredential(credential);
                System.out.println("1");
                login.setParam(sfParam);
                System.out.println("2");
                LoginResponse loginResponse = new  LoginResponse();
                LoginResult loginResult = new LoginResult();
                try {
                     loginResponse = api.login(login);               
                catch (Exception e ) {
                    System.out.println(e.getMessage());
                System.out.println("3");
                try {               
                     loginResult = loginResponse.getResult();
                catch (Exception e ) {
                    System.out.println(e.getMessage());
                System.out.println("4");
                IsValidSession vs = new IsValidSession();                  
                IsValidSessionResponse isValidSessionResponse = api.isValidSession(vs);
                System.out.println("5");
                if (isValidSessionResponse.isResult()) {
                     System.out.println("Session is valid");
                     System.out.println("Result => " + loginResult.getSessionId());
                     System.out.println(breakLine);              
                    Logout logout = new Logout();
                    LogoutResponse logoutResponse = api.logout(logout);
                    if (logoutResponse.isResult()) {
                         System.out.println("Logout of SFAPI Successful");
                    else {
                        System.out.println("Logout of SFAPI Unsuccessful");
                else {
                     System.out.println("Session is invalid");
                    List<Error> errors = new ArrayList<Error>();
                    for (int i = 0; i < loginResult.getError().length;  i++) {
                        errors.add(loginResult.getError()[i]);
                    for (int i = 0; i < errors.size(); i++) {
                         System.out.println("Error Indice   => " + i);
                         System.out.println("Error Code:    => " + errors.get(i).getErrorCode());
                         System.out.println("Error Message: => " + errors.get(i).getErrorMessage());
                         System.out.println(breakLine);                                                          
                    } // end for loop of SFObject errors
                } // end InvalidSession
            catch (Exception e)
                 System.out.println("Session Credential Exception");
                 System.out.println("Exception => " + e.getMessage());
                 System.out.println(breakLine);                   
        catch (Exception e)
            System.out.println("Parameter List Exception");
            System.out.println("Exception => " + e.getMessage());
            System.out.println(breakLine);
        }   // end runProgram
        // Constructor:
        public SFAPITest()  {
        } // end constructor
        public static void main (String args[]) {
            try
                SFAPITest test = new SFAPITest();        
                test.runProgram();
            catch (Exception e) {
                System.out.println("main exception => " + e.getMessage());
    } // SFAPITest
    Here is the output with trace:
    WARNING: Unable to connect to URL: https://api4.successfactors.com:443/sfapi/v1/soap due to java.security.PrivilegedActionException: javax.xml.soap.SOAPException: Message send failed: String index out of range: -7
    Session Credential Exception
    Exception => ; nested exception is:
        HTTP transport error: javax.xml.soap.SOAPException: java.security.PrivilegedActionException: javax.xml.soap.SOAPException: Message send failed: String index out of range: -7
    +---------------------------------------------------------------------------+
    Process exited with exit code 0.

    The other end is throwing back a programming error.
    That might be because you are sending incorrect data and the other end fails to validate it.
    You might be able to guess based on your C# code.  But, since you are using soap one generic solution is available to you.
    - Get an http proxy interceptor like wireshark.
    - Run it while your C# app runs, collect the http requests from that.
    - Run it while running your java code, collect the http requests from that.
    Compare the two.

  • IDOCs (Multiple Types) Collection in BPM---string index out of range

    Hi
    I am following this weblog
    IDOCs (Multiple Types) Collection in BPM
    1.
    In Step 4
    Below mapping is for N:1 transformation. (Here input will be having three different types of Abstract IDOCs and target will be having Abstract Target File type)
    (iv) MM_ISU_UKGAS_NOM_to_NOM_ABS"
    when I tried to 3 idoc as sender and My Message Type as the receiver
    I am getting the following error message
    String index out of range: 0
    so how can I do this message Mapping
    2.
    and in Step 3.
    I have just mapped
    Source Idoc 1 with Source Idoc 1
    Source Idoc 2 with Source Idoc 2
    Source Idoc 3 with Source Idoc 3
    is it right way ?
    thanks
    manian
    Edited by: manian on Dec 8, 2008 10:49 AM

    Manian,
    Multiline option should be on for receiver message .
    Mapping seems to be o.k.
    Regards,

  • Java.lang.StringIndexOutOfBoundsException: String index out of range: -1

    hi am having this error when running my application am in jdeveloper 11.1.1.6.0
    java.lang.StringIndexOutOfBoundsException: String index out of range: -1
         at java.lang.String.substring(String.java:1931)
         at car.deDeedandeSurvey.view.frameworkExt.CustomErrorHandler.displayProperly(CustomErrorHandler.java:66)
         at car.eDeedandeSurvey.view.frameworkExt.CustomErrorHandler.reportException(CustomErrorHandler.java:32)
         at oracle.adf.model.binding.DCBindingContainer.reportException(DCBindingContainer.java:423)
         at oracle.adf.model.binding.DCBindingContainer.reportException(DCBindingContainer.java:471)
         at oracle.adf.model.binding.DCIteratorBinding.getDataControl(DCIteratorBinding.java:2438)
         at oracle.adf.model.binding.DCBindingContainer.internalRefreshControl(DCBindingContainer.java:3069)
         at oracle.adf.model.binding.DCBindingContainer.refreshControl(DCBindingContainer.java:2908)
         at oracle.adf.model.binding.DCBindingContainer.refresh(DCBindingContainer.java:2894)
         at oracle.adfinternal.controller.util.model.DataBindingActivityImpl.beforeExecute(DataBindingActivityImpl.java:109)
         at oracle.adfinternal.controller.engine.ControlFlowEngine.executeActivity(ControlFlowEngine.java:1015)
         at oracle.adfinternal.controller.engine.ControlFlowEngine.doRouting(ControlFlowEngine.java:921)
         at oracle.adfinternal.controller.engine.ControlFlowEngine.doRouting(ControlFlowEngine.java:820)
         at oracle.adfinternal.controller.engine.ControlFlowEngine.invokeTaskFlow(ControlFlowEngine.java:243)
         at oracle.adfinternal.controller.state.ChildViewPortContextImpl.invokeTaskFlow(ChildViewPortContextImpl.java:104)
         at oracle.adfinternal.controller.state.ControllerState.createChildViewPort(ControllerState.java:1387)
         at oracle.adfinternal.controller.ControllerContextImpl.createChildViewPort(ControllerContextImpl.java:78)
         at oracle.adf.controller.internal.binding.DCTaskFlowBinding.createRegionViewPortContext(DCTaskFlowBinding.java:474)
         at oracle.adf.controller.internal.binding.DCTaskFlowBinding.getViewPort(DCTaskFlowBinding.java:392)
         at oracle.adf.controller.internal.binding.TaskFlowRegionModel.doProcessBeginRegion(TaskFlowRegionModel.java:164)
         at oracle.adf.controller.internal.binding.TaskFlowRegionModel.processBeginRegion(TaskFlowRegionModel.java:112)
         at oracle.adf.controller.internal.binding.TaskFlowRegionController.doRegionRefresh(TaskFlowRegionController.java:241)
         at oracle.adf.controller.internal.binding.TaskFlowRegionController.refreshRegion(TaskFlowRegionController.java:119)
         at oracle.adf.model.binding.DCBindingContainer.internalRefreshControl(DCBindingContainer.java:3204)
         at oracle.adf.model.binding.DCBindingContainer.refresh(DCBindingContainer.java:2876)
         at oracle.adf.model.binding.DCBindingContainer.internalRefreshControl(DCBindingContainer.java:3195)
         at oracle.adf.model.binding.DCBindingContainer.refresh(DCBindingContainer.java:2876)
         at oracle.adf.controller.v2.lifecycle.PageLifecycleImpl.prepareModel(PageLifecycleImpl.java:115)
         at oracle.adf.controller.faces.lifecycle.FacesPageLifecycle.prepareModel(FacesPageLifecycle.java:359)
         at car.eDeedandeSurvey.view.frameworkExt.CustomLifeCycle.prepareModel(CustomLifeCycle.java:15)
         at oracle.adf.controller.v2.lifecycle.Lifecycle$2.execute(Lifecycle.java:137)
         at oracle.adfinternal.controller.lifecycle.LifecycleImpl.executePhase(LifecycleImpl.java:197)
         at oracle.adfinternal.controller.faces.lifecycle.ADFPhaseListener.access$400(ADFPhaseListener.java:23)
         at oracle.adfinternal.controller.faces.lifecycle.ADFPhaseListener$PhaseInvokerImpl.startPageLifecycle(ADFPhaseListener.java:238)
         at oracle.adfinternal.controller.faces.lifecycle.ADFPhaseListener$1.after(ADFPhaseListener.java:274)
         at oracle.adfinternal.controller.faces.lifecycle.ADFPhaseListener.afterPhase(ADFPhaseListener.java:75)
         at oracle.adfinternal.controller.faces.lifecycle.ADFLifecyclePhaseListener.afterPhase(ADFLifecyclePhaseListener.java:53)
         at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._executePhase(LifecycleImpl.java:472)
         at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:194)
         at javax.faces.webapp.FacesServlet.service(FacesServlet.java:265)
         at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
         at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
         at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:301)
         at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at oracle.portlet.client.adapter.adf.ADFPortletFilter.doFilter(ADFPortletFilter.java:32)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at oracle.webcenter.framework.events.dispatcher.EventDispatcherFilter.doFilter(EventDispatcherFilter.java:44)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at oracle.adf.model.servlet.ADFBindingFilter.doFilter(ADFBindingFilter.java:205)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at oracle.adfinternal.view.faces.webapp.rich.RegistrationFilter.doFilter(RegistrationFilter.java:106)
         at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:446)
         at oracle.adfinternal.view.faces.activedata.AdsFilter.doFilter(AdsFilter.java:60)
         at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:446)
         at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._doFilterImpl(TrinidadFilterImpl.java:271)
         at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl.doFilter(TrinidadFilterImpl.java:177)
         at org.apache.myfaces.trinidad.webapp.TrinidadFilter.doFilter(TrinidadFilter.java:92)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at oracle.wcps.client.PersonalizationFilter.doFilter(PersonalizationFilter.java:75)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at oracle.webcenter.content.integration.servlets.ContentServletFilter.doFilter(ContentServletFilter.java:168)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at oracle.webcenter.lifecycle.filter.LifecycleLockFilter.doFilter(LifecycleLockFilter.java:151)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at oracle.adf.library.webapp.LibraryFilter.doFilter(LibraryFilter.java:179)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at oracle.security.jps.ee.http.JpsAbsFilter$1.run(JpsAbsFilter.java:119)
         at java.security.AccessController.doPrivileged(Native Method)
         at oracle.security.jps.util.JpsSubject.doAsPrivileged(JpsSubject.java:315)
         at oracle.security.jps.ee.util.JpsPlatformUtil.runJaasMode(JpsPlatformUtil.java:442)
         at oracle.security.jps.ee.http.JpsAbsFilter.runJaasMode(JpsAbsFilter.java:103)
         at oracle.security.jps.ee.http.JpsAbsFilter.doFilter(JpsAbsFilter.java:171)
         at oracle.security.jps.ee.http.JpsFilter.doFilter(JpsFilter.java:71)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at oracle.dms.servlet.DMSServletFilter.doFilter(DMSServletFilter.java:139)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at weblogic.servlet.internal.RequestEventsFilter.doFilter(RequestEventsFilter.java:27)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3730)
         at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3696)
         at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
         at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)
         at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2273)
         at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2179)
         at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1490)
         at weblogic.work.ExecuteThread.execute(ExecuteThread.java:256)
         at weblogic.work.ExecuteThread.run(ExecuteThread.java:221)

    The problem occurs at line 66 in class car.deDeedandeSurvey.view.frameworkExt.CustomErrorHandler, which is a non-ADF class, most probably it is a class of your own. Go to line 66 in this class and look at the source code. If it is not clear what happens there, set a breakpoint within the method car.deDeedandeSurvey.view.frameworkExt.CustomErrorHandler.displayProperly and debug it. If you do not have the original source code, then decompile this class and look at the source code. You can set a breakpoint at this line even if you do not have the source code.
    Dimitar

  • Getting error: RC-50004 String index out of range when running adclonectx.pl

    Hi,
    I'm trying to clone a RAC database on the same host. I'm using the MOS note:
    Cloning Oracle E-Business Suite Release 12 RAC-Enabled Systems with Rapid Clone ( Doc ID 559518.1  )
    I run the command from Step 5.1.3:
    perl adclonectx.pl ......
    But getting error:
    "RC-50004: Error occurred in CloneContext:
    String index out of range: 38
    ERROR: context creation not completed successfully."
    From the Clone Context logfile:
    PROMPT :
    Number of DATA_TOP's on the Target System [3]
    ANSWER :
    1
    PROMPT :
    Target System DATA_TOP Directory 1
    ANSWER :
    +DATA/prod/datafile
    ASM Path, not Validating: +DATA/prod/datafile
    Creating ../data/stage/addbhomtgt.xml which will contain Target system database mount points.
    StackTrace:
    java.lang.StringIndexOutOfBoundsException: String index out of range: 38
             at java.lang.String.substring(String.java:1765)
             at oracle.apps.ad.context.CloneContext.gen_iFile(CloneContext.java:6681)
             at oracle.apps.ad.context.CloneContext.getInputFromUsers(CloneContext.java:1114)
             at oracle.apps.ad.context.CloneContext.doClone(CloneContext.java:601)
             at oracle.apps.ad.context.CloneContext.main(CloneContext.java:5260)
    RC-50004: Error occurred in CloneContext:
    String index out of range: 38
    Context file creation not succesful
    And workaround/solution will be much appreciated. Thanks very much.

    FYI, I'm cloning on the same host as target. This is 2 node EBS RAC setup.
    PATH is OLD source for contextfile.xml
    Latest clone patches applied.
    Here is the complete output from the log file...
    [oracle@PPDBS11 bin]$ cat /u01/app/oracle/product/11.2.0/dbhome_1/appsutil/clone/bin/CloneContext_0908210110.log  
    Using admin directory: /u01/app/oracle/product/11.2.0/dbhome_1/appsutil/clone/bin
    #------Log File time stamp: 0908210110------------
    # $Header: CloneContext.java 120.92.12010000.26 2013/05/06 12:02:01 mmanku ship $
    # Running on          - ppdbs11
    # Source Host         - null
    # Domain Name         - <xxxx.yyyy.zz>
    # Context Location    - /u01/app/oracle/product/11.2.0/dbhome_1/appsutil/PREPROD1_ppdbs11.xml
    # Context Type        - null
    # Context Template    - /u01/app/oracle/product/11.2.0/dbhome_1/appsutil/template/adxdbctx.tmp
    # Clone Stage Area    - null
    # Pairs File          - /u01/app/oracle/product/11.2.0/dbhome_1/appsutil/clone/pairsfile.txt
    # Destination Context - null
    # Validation          - false
    # Platform Migration  - false
    # no prompt           - false
    Variables extracted from pairsfile: /u01/app/oracle/product/11.2.0/dbhome_1/appsutil/clone/pairsfile.txt
    ****************************************************/n
       s_undo_tablespace  =  APPS_UNDOTS1
       s_dbClusterInst  =  2
       s_db_oh  =  /u01/app/oracle/product/11.2.0/dbhome_1
    ****************************************************   PROMPT :
    Target System Hostname (virtual or normal) [ppdbs11]
    ANSWER :
    ppdbs11   PROMPT :
    It is recommended that your inputs are validated by the program.
    However you might choose not to validate them under following circumstances:           -If cloning a context on source system for a remote system.
             -If cloning a context on a machine where the ports are taken and
              you do not want to shutdown the services at this point.
             -If cloning a context but the database it needs to connect is not available.   Do you want the inputs to be validated (y/n) [n] ?
    ANSWER :
    n   PROMPT :
    Target Instance is RAC (y/n) [y]
    ANSWER :
    y   PROMPT :
    Target System Database Name
    ANSWER :
    PROD   PROMPT :
         Host name [ppdbs11]
    ANSWER :
    ppdbfmisscan   PROMPT :
         Virtual Host name [null]
    ANSWER :
    ppdbs11-vip   PROMPT :
         Instance number [1]
    ANSWER :
    1   PROMPT :
         Private interconnect name [ppdbs11]
    ANSWER :
    ppdbs11-priv   PROMPT :
    Target System Base Directory
    ANSWER :
    /u01/app/oracle   PROMPT :
    Oracle OS User [oracle]
    ANSWER :
    oracle   PROMPT :
    Oracle OS Group [oinstall]
    ANSWER :
    oinstall   PROMPT :
    Target System utl_file_dir Directory List
    ANSWER :
    /usr/tmp/PROD   PROMPT :
    Number of DATA_TOP's on the Target System [3]
    ANSWER :
    1   PROMPT :
    Target System DATA_TOP Directory 1
    ANSWER :
    +DATA/prod/datafile
    ASM Path, not Validating: +DATA/prod/datafile
    Creating ../data/stage/addbhomtgt.xml which will contain Target system database mount points.  
    StackTrace:
    java.lang.StringIndexOutOfBoundsException: String index out of range: 38
             at java.lang.String.substring(String.java:1765)
             at oracle.apps.ad.context.CloneContext.gen_iFile(CloneContext.java:6687)
             at oracle.apps.ad.context.CloneContext.getInputFromUsers(CloneContext.java:1120)
             at oracle.apps.ad.context.CloneContext.doClone(CloneContext.java:601)
             at oracle.apps.ad.context.CloneContext.main(CloneContext.java:5266)   RC-50004: Error occurred in CloneContext:
    String index out of range: 38
    Context file creation not succesful

  • Java.lang.StringIndexOutOfBoundsException: String index out of range: -99

    Hi.
    We are having a problem with the jstudio IDE Enterprise Edition.
    We are trying to create an CMP Bean using the IDE.
    The database table has 69 columns of various datatatypes. BUT as soon as i write the create method the following error is logged after all the 69 parameters are added in the create method
    PS : I have tried it on both Standard and Enterprise Edition .......They both give the same error.
    (Note this ocured when i had written all the 69 paramenters for the Database Table !)
    *********** Exception occurred ************ at Wed Sep 22 16:49:05 GMT+05:30 2004
    Annotation: Parser error
    java.lang.StringIndexOutOfBoundsException: String index out of range: -99
         at java.lang.String.<init>(String.java:192)
         at java.lang.String.copyValueOf(String.java:2185)
         at org.netbeans.modules.java.parser.DocumentModelBuilder.setBodyBounds(DocumentModelBuilder.java:105)
         at org.netbeans.modules.java.gj.V8TreeTranslator._case(V8TreeTranslator.java:437)
         at org.netbeans.lib.javac.v8.tree.Tree$MethodDef.visit(Tree.java:460)
         at org.netbeans.modules.java.gj.V8TreeTranslator._case(V8TreeTranslator.java:303)
         at org.netbeans.lib.javac.v8.tree.Tree$ClassDef.visit(Tree.java:407)
         at org.netbeans.modules.java.gj.V8TreeTranslator._case(V8TreeTranslator.java:188)
         at org.netbeans.lib.javac.v8.tree.Tree$TopLevel.visit(Tree.java:344)
         at org.netbeans.modules.java.gj.V8TreeTranslator.process(V8TreeTranslator.java:94)
         at org.netbeans.modules.java.gj.ParserEngine.completeRequest(ParserEngine.java:360)
         at org.netbeans.modules.java.gj.ParserEngine.parseObject(ParserEngine.java:176)
         at org.netbeans.modules.java.gj.JavaParserEngine.process(JavaParserEngine.java:72)
         at org.netbeans.modules.java.parser.ParsingSupport$Processor.process(ParsingSupport.java:711)
         at org.netbeans.modules.java.parser.ParsingSupport$Processor.parseLockModel(ParsingSupport.java:662)
    [catch] at org.netbeans.modules.java.parser.ParsingSupport$Processor.run(ParsingSupport.java:593)
         at org.openide.util.Task.run(Task.java:136)
         at org.openide.util.RequestProcessor$Task.run(RequestProcessor.java:328)
         at org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:670)
    ==>
    WARNING - ErrorManager detected cyclic exception nesting:
         java.lang.StringIndexOutOfBoundsException: String index out of range: -99
    Be sure not to annotate an exception with itself, directly or indirectly.

    Hi
    Can you send me yoursample to me. I will check the code and let you know whats going wrong. mail your sample to [email protected]
    Thanks
    Vasu

  • Java.lang.StringIndexOutOfBoundsException: String index out of range: 8

    Hi Friends,
    I have a search window ,in one I/P Field i entered * and kept the default max hits to display as 100 records(This can be changed).
    Now when i click on Search i get 100 records being displayed,later when i change it to 150,200 Hits i am able to get them displayed(Records).
    But when i enter value greater than 200(i had entered 220) i am getting the following exception.
    java.lang.StringIndexOutOfBoundsException: String index out of range: 8
    Can anyone please help me out to resolve this issue.
    Thanks and regards,
    Chandrashekar.

    Hello Chandrashekar,
            It looks like in  the loop of number of records, you are fetching the record and processing the string either using charAt() method or subString method or any similar method.
    But in one of the record string after 200th record is having a string which when you are processing are having length less than 8.
    Say : String s = "Correct";
    will give StringIndexOutOfBoundsException: String index out of range: 8 as the length is only 7 and you are  cheking for char at position 8.
    Just check the processing you are doing within the record loop and also the records.
    Hope this helps.

  • Java.lang.StringIndexOutOfBoundsException: String index out of range: 3

    I have just downloaded Jdev (10.1.3.1) and am trying out the tutorial "Introduction to JavaServer Faces using JDeveloper".
    When I try to run the Welcome.jsp I get the following :
    java.lang.StringIndexOutOfBoundsException: String index out of range: 3
         at java.lang.String.substring(String.java:1765)
         at oracle.jdeveloper.compiler.OjcConfiguration.getSource(OjcConfiguration.java:276)
         at oracle.jdevimpl.runner.oc4j.Oc4jWorkspaceConfig.ensureJavaCompilerIsSet(Oc4jWorkspaceConfig.java:1081)
         at oracle.jdevimpl.runner.oc4j.Oc4jWorkspaceConfig.configureAll(Oc4jWorkspaceConfig.java:168)
         at oracle.jdevimpl.runner.oc4j.Oc4jStarter.preStart(Oc4jStarter.java:628)
         at oracle.jdevimpl.runner.oc4j.Oc4jStarter.start(Oc4jStarter.java:269)
         at oracle.ide.runner.RunProcess.startTarget(RunProcess.java:830)
         at oracle.jdeveloper.runner.JRunProcess.startTarget(JRunProcess.java:473)
         at oracle.jdevimpl.runner.run.RunningProcess.startTarget(RunningProcess.java:76)
         at oracle.ide.runner.RunProcess$2$1.run(RunProcess.java:768)
         at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
         at java.awt.EventQueue.dispatchEvent(EventQueue.java:461)
         at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:242)
         at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:163)
         at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:157)
         at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149)
         at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)
    #### Embedded OC4J Server could not be started up.
    What can I do to resolve this ?
    Thanks,
    K

    Found the problem.
    Solution : Do not install Jdev in a directory path which contains blanks spaces.

  • Java.lang.StringIndexOutOfBoundsException: String index out of range: -2

    Hello,
    I have a question about this error:
    Exception in thread "main" java.lang.StringIndexOutOfBoundsException: String index out of range: -2
    I am doing my java development in IBM Rationale eclipse. I am compiling and running everything just fine. When I try to run my application on a command line I get this error. I don't know why this is happening since it is working perfectly in eclipse. I am running a .bat file and here is the .bat file:
    @echo on
    rem ---------------------------------------------------------------------------
    rem Script for launching Translation Application
    rem
    rem Environment Variable Prequisites
    rem
    rem
    rem ---------------------------------------------------------------------------
    cls
    SET DERBY_INSTALL=C:\Translation\Cloudscape_10.1
    SET TRANSLATION=C:\Translation
    set CLASSPATH=%DERBY_INSTALL%\lib\derby.jar;%DERBY_INS TALL%\lib\derbytools.jar;%TRANSLATION%\lib\Transla tion.jar;
    echo %CLASSPATH%
    C:\Translation\jdk\jre\bin\java -classpath %CLASSPATH%;C:\Translation\Conversions src.utilities.DataConversionUtilityDaily
    pause
    Here is the code that is erroring out:
    sqlStatement.append(text.deleteCharAt(text.length( )-2));
    this code is compiling and executing just fine in eclipse but when i try to run it on a command line it gives me the above error.
    Can someone help me find out why my program is not running?

    I am running this same java statement in eclipse and
    I am not getting this error and it runs just fine.
    so i am trying to find out what the difference. Well obviously the difference is that in eclispe the length isn't zero.
    I
    am running the same code with the same data and I am
    getting to different things. No you aren't.
    Because if you were you would be getting the same result.
    You are assuming that it is the same, when in fact it isn't.
    Something is different.

Maybe you are looking for