Input keyboard - Null pointer Exception

The program reads input from keyboard in a loop and I put the characters in an array. But I get null pointer exception when I try to press control Z. Although the program should exit from the loop.
I think I have error here. But I am not sure why is it happening .
char [] dst1 = new char[str_len1];
String str = "";
    BufferedReader br = new BufferedReader(new InputStreamReader (System.in));
        System.out.println("Enter the characters press ^Z to exit\n");
    StringBuffer buf = new StringBuffer();
do {
    str = br.readLine();
    str_len1 = str.length();
      char [] dst1 = new char[str_len1];
   str.getChars(0,str_len1, dst1, 0);
}

I tried using
if (str.length() != 0) {
then execute the code }
But it still shows me Null Pointer ExceptionIf str is null, str.length() will also result in a NullPointerException. Read the first reply to your post and add a check accordingly.

Similar Messages

  • Null Pointer Exception Trying to Read File?

    I get a Null Pointer Exception when I try to perform the read hex2.txt, which i know exists and is in the same folder as this java file. Anyone see where my problem is?
    <code>
    import java.io.*;
    public class BytesToZeros
              int count = 0;
              int[] data;
              public static void main (String[] args)
                        BytesToZeros btz = new BytesToZeros();
              public BytesToZeros()
                        this.readFile();
                        this.writeFile();
              private void readFile ()
                        try
                                  FileInputStream fis = new FileInputStream("hex2.txt");
                                  BufferedInputStream bis = new BufferedInputStream(fis);
                                  boolean eof = false;
                                  while (!eof)
                                            int input = bis.read();
                                            if (input == -1)
                                                 eof = true;
                                            else
                                                 data[count] = input;
                                                 count++;          
                                  bis.close();
                        catch (IOException e)
                                  System.err.println("Error Reading File: " + e.getMessage());
                                  count = 0;
              private void writeFile ()
                        String zeros;
                        try
                                  FileOutputStream fos = new FileOutputStream("hex2.txt");
                                  BufferedOutputStream bos = new BufferedOutputStream(fos);
                                  for (int i=0; i<data.length; i++)
                                            bos.write(0);
                                  bos.close();
                        catch (IOException e)
                                  System.err.println("Error writing file: " + e.getMessage());
    </code>

    Doesn't the stack trace you get show which line it was thrown from?
    That should tell you where the problem is.
    It's weird to do a file read and a file write in the constructor like that. It would make somewhat more sense to do
    public static void main (String[] args) {
      BytesToZeros btz = new BytesToZeros();
      btz.readFile();
      btz.writeFile();
    }Although I realize this is just a test.
    Finally, to quote code use square brackes around the code tags:
    &#91;code]&#91;/code]

  • Null Pointer exception while invoking BPEL process

    Hi all,
    I am getting following exception when I am invoking a BPEL process1 (deployed in 10.1.3.1) from another BPEL Process 2 (deployed in 10.1.3.3)
    <env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/">
    <env:Header/>
    <env:Body>
    <env:Fault xmlns:env="http://schemas.xmlsoap.org/soap/envelope/">
    <faultcode>env:Server</faultcode>
    <faultstring>java.lang.NullPointerException</faultstring>
    <faultactor/>
    </env:Fault>
    </env:Body>
    </env:Envelope>
    BPEL Process 1 is working fine when given manual input (testing through console). But when invoked using BPEL Process 2, it gives the above error. I also tried invoking BPEL Process 1 (and many other webservices deployed in 10.1.3.1) using TCPMON tool and got the same error.
    Am I missing something here in configuration of 10.1.3.1 or any other issue? Please help as it is really urgent.

    Contact [email protected]
    Slava Imeshev wrote:
    Hi Ramu,
    "Ramu" <[email protected]> wrote in message
    I have just upgraded to service pack #13 on WLS 5.1 from service pack #6.I am using the same code as it was with SP #6. When I invoke finder method
    on entity bean, I get null pointer exception. The primary key object for the
    entity bean has equals() method.
    javax.ejb.FinderException: Exception executing finder:java.lang.NullPointerException
    atweblogic.ejb.internal.StatefulEJBCache.getFinderContext(StatefulEJBCache.jav
    a:264)
    atweblogic.ejb.internal.StatefulEJBCache.getEJBContext(StatefulEJBCache.java:3
    54)
    Check if equals() method can handle null parameter.
    Regards,
    Slava Imeshev--
    Rajesh Mirchandani
    Developer Relations Engineer
    BEA Support

  • I can't figure out why I'm getting a Null Pointer Exception

    I'm writing a program that calls Bingo numbers. I got that part of the program to work but when I started adding Swing I kept getting a Null Pointer Exception and I don't know how to fix it. The Exception happens on line 15 of class Panel (g = image.getGraphics();). Here is the code for my classes. I'm still not finished with the program and I can't finish it until I know that this issue is resolved.
    package Graphics;
    import java.awt.Graphics;
    import javax.swing.JFrame;
    public class DrawFrame extends JFrame{
         public Panel panel;
         public DrawFrame(int x, int y, String s) {
              super(s);
              this.setBounds(0, 0, x, y);
              this.setResizable(false);
              this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
              this.setPreferredSize(getSize());
              panel = this.getPanel();
              this.getContentPane().add(panel);
              panel.init();
              this.setVisible(true);
         public Graphics getGraphicsEnvironment(){
              return panel.getGraphicsEnvironment();
         Panel getPanel(){
              return new Panel();
    package Graphics;
    import javax.swing.JPanel;
    import java.awt.Color;
    import java.awt.Graphics;
    import java.awt.Image;
    public class Panel extends JPanel{
         Graphics g;
         Image image;
         public void init() {
              image = this.createImage(this.getWidth(), this.getHeight());
              g = image.getGraphics();
              g.setColor(Color.white);
              g.fillRect(0, 0, this.getWidth(), this.getHeight());
         Graphics getGraphicsEnvironment() {
              return g;
         public void paint(Graphics graph) {
              if (graph == null)
                   return;
              if (image == null) {
                   return;
              graph.drawImage(image, 0, 0, this);
    package Graphics;
    import java.awt.event.KeyAdapter;
    import java.awt.event.KeyEvent;
    public class Keys extends KeyAdapter{
    public int keyPressed; //creates a variable keyPressed that stores an integer
    public void keyPressed(KeyEvent e) { //creates a KeyEvent from a KeyListner
              keyPressed = e.getKeyCode(); //gets the key from the keyboard
    import java.awt.Color;
    import java.awt.Font;
    import java.awt.Graphics;
    import java.awt.event.KeyEvent;
    import Graphics.*;
    public class Bingo {
         static Ball balls[][] = new Ball[5][15]; //creates a 2D 5 by 15 array
         public static void main(String[] args) {
              DrawFrame frame = new DrawFrame(1500, 500, "Welcome to the automated Bingo Caller."); //creates instance of DrawFrame that is 1000 pixels wide and 500 pixels high
              Graphics g = frame.getGraphicsEnvironment(); //calls the getGraphicsEnvironment method in the DrawFrame class
              Keys key = new Keys(); //creates instance of the Key class
              frame.addKeyListener(key); //adds a KeyListener called Key
              for (int x = 0; x < 5; x++) { //fills rows
                   for (int y = 0; y < 15; y++) { //fills columns
                        balls[x][y] = new Ball(x, y+1); //fills array
              frame.pack(); //adjusts the size of the frame so everything fits
              g.setColor(Color.black); //sets the font color to black
              g.setFont(new Font("MonoSpace", Font.PLAIN, 20)); //creates new font
              for(int y=0;y<balls.length;y++){ //draws all possible balls
                   g.drawString(balls[y][0].s, 0, y*100); //draws numbers
                   for(int x=0;x<balls[y].length;x++){ //draws all possible balls
                        g.drawString(balls[y][x].toString(), (x+1)*100, y*100); //draws letters
              do {
                   frame.repaint(); //repaints the balls when one is called
                   int x, y; //sets variables x and y as integers
                   boolean exit; //sets a boolean to the exit variable
                   do {
                        exit = false; //exit is set to false
                        x = (int)(Math.random() * 5); //picks a random number between 0 and 4 and stores it as x
                        y = (int)(Math.random() * 15); //picks a random number between 0 and 14 stores it as y
                        if (!balls[x][y].called) { //checks to see if a value is called
                             exit = true; //changes exit to true if it wasn't called
                             balls[x][y].called = true; //sets called in the Ball class to true if it wasn't called
                             System.out.println(balls[x][y]); //prints value
                   } while (!exit); //if exit is false, returns to top of loop
                   int count = 0; //sets a count for the number of balls called
                   for(int z=0;z<balls.length;z++){ //looks at balls
                        g.setColor(Color.black); //displays in black
                        g.drawString(balls[z][0].s, 0, z*100); //draws balls as a string
                        for(int a=0;a<balls[z].length;a++){ //looks at all balls
                             if (balls[z][a].called){ //if a ball is called
                                  g.setColor(Color.red); //change color to red
                                  count++; //increments count
                             } else {
                                  g.setColor(Color.black); //if it isn't called stay black
                             g.drawString(balls[z][a].toString(), (a+1)*100, y*100); //draws balls as string
                   do {
                        if (key.keyPressed == KeyEvent.VK_R||count==5*15) { //if R is pressed or count = 5*15
                             count=5*15; //changes count to 5*15
                             for(int z=0;z<balls.length;z++){ //recreates rows
                                  g.setColor(Color.black); //sets color to black
                                  g.drawString(balls[z][0].s, 0, z*100); //redraws rows
                                  for(int a=0;a<balls[z].length;a++){ //recreates columns
                                       balls[z][a] = new Ball(z, a+1); //fills array
                                       g.drawString(balls[z][a].toString(), (a+1)*100, z*100); //redraws columns
                   } while (key.keyPressed!=KeyEvent.VK_ENTER || count == 5 * 15); //determines if the key was pressed or counter is 5*15s
              } while (key.keyPressed == KeyEvent.VK_ENTER);
    public class Ball {
         String s; //initiates s that can store data type String
         int i; //initiates i that can store data as type integer
         boolean called = false; //initiates called as a boolean value and sets it to false
         public Ball(int x, int y) {
              i = (x * 15) + y; //stores number as i to be passed to be printed
              switch (x) { //based on x value chooses letter
              case 0:
                   s = "B";
                   break;
              case 1:
                   s = "I";
                   break;
              case 2:
                   s = "N";
                   break;
              case 3:
                   s = "G";
                   break;
              case 4:
                   s = "O";
         public String toString() { //overrides toString method, converts answer to String
              return s + " " + i; //returns to class bingo s and i
    }

    The javadoc of createImage() states that "The return value may be null if the component is not displayable."
    Not sure, but it may be that you need to call init() after this.setVisible(true).

  • Null Pointer Exception in Message Area

    Hi!
    I just want to get some inputs. I have this Message Area to display errors in Web Dynpro, but from time to time I get this Null Pointer Exception when an event takes place. Don't know why this happens, but the trace is not found my code.
    Here's the Stack Trace:
    +"java.lang.NullPointerException+
    ++     at com.sap.tc.webdynpro.clientserver.uielib.pattern.uradapter.MessageAreaAdapter._getConnectedControlId(MessageAreaAdapter.java:3684)++
    ++     at com.sap.tc.webdynpro.clientserver.uielib.pattern.uradapter.MessageAreaAdapter.access$900(MessageAreaAdapter.java:67)++
    ++     at com.sap.tc.webdynpro.clientserver.uielib.pattern.uradapter.MessageAreaAdapter$Rows.doNext(MessageAreaAdapter.java:2188)++
    ++     at com.sap.tc.webdynpro.clientserver.uielements.adaptbase.IndexedItemsIterator.next(IndexedItemsIterator.java:54)++
    ++     at com.sap.tc.webdynpro.clientserver.uielib.pattern.uradapter.MessageAreaAdapter.getSelection(MessageAreaAdapter.java:3653)++
    ++     at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.base.RenderManager.render(RenderManager.java:424)++
    ++     at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.base.RenderManager.render(RenderManager.java:133)++
    ++     at com.sap.tc.ur.renderer.ie6.SingleColumnLayoutRenderer.renderSingleColumnLayoutCellFragment(SingleColumnLayoutRenderer.java:679)++
    ++     at com.sap.tc.ur.renderer.ie6.SingleColumnLayoutRenderer.renderSingleColumnLayoutFragment(SingleColumnLayoutRenderer.java:253)++
    ++     at com.sap.tc.ur.renderer.ie6.SingleColumnLayoutRenderer.render(SingleColumnLayoutRenderer.java:74)++
    ++     at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.base.RenderManager.render(RenderManager.java:434)++
    ++     at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.base.RenderManager.render(RenderManager.java:133)++
    ++     at com.sap.tc.ur.renderer.ie6.ScrollContainerRenderer.renderScrollContainerFragment(ScrollContainerRenderer.java:619)++
    ++     at com.sap.tc.ur.renderer.ie6.ScrollContainerRenderer.render(ScrollContainerRenderer.java:74)++
    ++     at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.base.RenderManager.render(RenderManager.java:434)++
    ++     at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.base.RenderManager.render(RenderManager.java:133)++
    ++     at com.sap.tc.ur.renderer.ie6.TabStripRenderer.renderTabStripItemContentFragment(TabStripRenderer.java:1799)++
    ++     at com.sap.tc.ur.renderer.ie6.TabStripRenderer.renderTabStripFragment(TabStripRenderer.java:879)++
    ++     at com.sap.tc.ur.renderer.ie6.TabStripRenderer.render(TabStripRenderer.java:69)++
    ++     at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.base.RenderManager.render(RenderManager.java:434)++
    ++     at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.base.RenderManager.render(RenderManager.java:133)++
    ++     at com.sap.tc.ur.renderer.ie6.MatrixLayoutRenderer.renderMatrixLayoutCellFragment(MatrixLayoutRenderer.java:790)++
    ++     at com.sap.tc.ur.renderer.ie6.MatrixLayoutRenderer.renderMatrixLayoutRowFragment(MatrixLayoutRenderer.java:376)++
    ++     at com.sap.tc.ur.renderer.ie6.MatrixLayoutRenderer.renderMatrixLayoutFragment(MatrixLayoutRenderer.java:326)++
    ++     at com.sap.tc.ur.renderer.ie6.MatrixLayoutRenderer.render(MatrixLayoutRenderer.java:79)++
    ++     at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.base.RenderManager.render(RenderManager.java:434)++
    ++     at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.base.RenderManager.render(RenderManager.java:133)++
    ++     at com.sap.tc.ur.renderer.ie6.ScrollContainerRenderer.renderScrollContainerFragment(ScrollContainerRenderer.java:619)++
    ++     at com.sap.tc.ur.renderer.ie6.ScrollContainerRenderer.render(ScrollContainerRenderer.java:74)++
    ++     at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.base.RenderManager.render(RenderManager.java:434)++
    ++     at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.base.RenderManager.render(RenderManager.java:133)++
    ++     at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.base.UiWindowRenderer.render(UiWindowRenderer.java:52)++
    ++     at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.base.RenderManager.render(RenderManager.java:434)++
    ++     at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.base.RenderManager.render(RenderManager.java:133)++
    ++     at com.sap.tc.webdynpro.clientimpl.html.client.HtmlClient.sendHtml(HtmlClient.java:1058)++
    ++     at com.sap.tc.webdynpro.clientimpl.html.client.HtmlClient.fillDynamicTemplateContext(HtmlClient.java:458)++
    ++     at com.sap.tc.webdynpro.clientimpl.html.client.HtmlClient.sendResponse(HtmlClient.java:1245)++
    ++     at com.sap.tc.webdynpro.clientimpl.html.client.HtmlClient.retrieveData(HtmlClient.java:253)++
    ++     at com.sap.tc.webdynpro.clientserver.window.WindowPhaseModel.doRetrieveData(WindowPhaseModel.java:595)++
    ++     at com.sap.tc.webdynpro.clientserver.window.WindowPhaseModel.processRequest(WindowPhaseModel.java:156)++
    ++     at com.sap.tc.webdynpro.clientserver.window.WebDynproWindow.processRequest(WebDynproWindow.java:335)++
    ++     at com.sap.tc.webdynpro.clientserver.cal.AbstractClient.executeTasks(AbstractClient.java:143)++
    ++     at com.sap.tc.webdynpro.clientserver.session.ApplicationSession.doProcessing(ApplicationSession.java:321)++
    ++     at com.sap.tc.webdynpro.clientserver.session.ClientSession.doApplicationProcessingStandalone(ClientSession.java:713)++
    ++     at com.sap.tc.webdynpro.clientserver.session.ClientSession.doApplicationProcessing(ClientSession.java:666)++
    ++     at com.sap.tc.webdynpro.clientserver.session.ClientSession.doProcessing(ClientSession.java:250)++
    ++     at com.sap.tc.webdynpro.clientserver.session.RequestManager.doProcessing(RequestManager.java:149)++
    ++     at com.sap.tc.webdynpro.serverimpl.defaultimpl.DispatcherServlet.doContent(DispatcherServlet.java:62)++
    ++     at com.sap.tc.webdynpro.serverimpl.defaultimpl.DispatcherServlet.doPost(DispatcherServlet.java:53)++
    ++     at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)++
    ++     at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)++
    ++     at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:401)++
    ++     at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:266)++
    ++     at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:386)++
    ++     at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:364)++
    ++     at com.sap.engine.services.httpserver.server.RequestAnalizer.invokeWebContainer(RequestAnalizer.java:1039)++
    ++     at com.sap.engine.services.httpserver.server.RequestAnalizer.handle(RequestAnalizer.java:265)++
    ++     at com.sap.engine.services.httpserver.server.Client.handle(Client.java:95)++
    ++     at com.sap.engine.services.httpserver.server.Processor.request(Processor.java:175)++
    ++     at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:33)++
    ++     at com.sap.engine.core.cluster.impl6.session.MessageRunner.run(MessageRunner.java:41)++
    ++     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:102)++
    ++     at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:172)"++
    Just wondering if this can be solved on my end or is this a glitch? Would really appreciate some inputs!
    Thanks!

    Hi,
    Here two possibility
    1. This  is the case when we get something as return form the BAPI/RFC and want to display in our message area but return message itself is null like this statement
    wdComponentAPI.getMessageManager().reportException(wdContext.nodeOutput_Salesorder_Create().currentOutput_Salesorder_CreateElement().getSalesdocument());
    2.And this is when
      try
                   executableClazz.execute();
                   nodeToinvalidate.invalidate();
              } catch (WDDynamicRFCExecuteException ree)
                   wdComponentAPI.getMessageManager().reportException(ree);
                             or
    wdComponentAPI.getMessageManager().reportException(ree.getMessage);
    3. Message Area is simple UI element which ensure only the place where we have to so the message
    So Check your code again it might solve your problem
    Best Regards
    Satish Kumar

  • Null Pointer Exception Error's in WebDynpro Java

    Hi All,
    How Types are coming Null Pointer Exception Error's in WebDynpro Java, Please provide the types.of Errors.
    Ex. Cardinality Type not correct etc...
    Thanks,
    Bye,
    Vijay Hari.

    HI
      Null Pointer Exception can occur in may instances , for suppose
      1) when  you create a Value Node with some attribute which has cardinality , and you have not
      initialized the Node , then it would through  Null Pointer exception ,
      2) when you integrate the RFC and parameters you pass as input to the RFC are not set correctly
          then there could be null pointer when you execute the RFC
      3>or may be when you doesnot bind the node when using webservice then there could be null pointer exception
    and there could be many occurances  for the exception

  • Null pointer exception with ImageToBuffer.create(........)

    I'm trying to draw two lines on received video frames so I implemented an effect that takes a frame then :
    frame = Buffer -> Image -> BufferedImage -> draw lines -> Image -> Buffer ( Problem ).
    the problem is in converting the Image back to Buffer in order to assign it as the Effect outcome buffer ( which will be showed ), the process function code is as followed :
    BufferToImage bti;
    ImageToBuffer itb;
    public int process(Buffer inBuffer, Buffer outBuffer)
    Object data = inBuffer.getData();
    if (bti == null)
    bti = new BufferToImage( (VideoFormat) inBuffer.getFormat());
    Image image = bti.createImage(inBuffer);
    if (image != null)
    Graphics2D g = bImage.createGraphics();
    g.drawImage(image, null, null);
    g.drawLine(160, 0, 160, 240);
    g.drawLine(0, 120, 320, 120);
    if (itb == null)
    itb = new ImageToBuffer();
    Image i = Toolkit.getDefaultToolkit().createImage(bImage.getSource());
    if (b == null)
    b = new Buffer();
    b = itb.createBuffer(i, 15); ///causes null pointer exception
    if (b != null)
    inBuffer.setData(outBuffer.getData());
    outBuffer.setData(b.getData());
    else
    inBuffer.setData(outBuffer.getData());
    outBuffer.setData(data);
    // Copy the input attributes to the output
    outBuffer.setFormat(inBuffer.getFormat());
    outBuffer.setLength(inBuffer.getLength());
    outBuffer.setOffset(inBuffer.getOffset());
    return BUFFER_PROCESSED_OK;
    Any solutions for the problem.
    Thank you for replying in advance..

    thanks Timo
    through this URL i get possible deletion methods...
    pls give more Information about the concept of removeRowWithKey, setCurrentRowWithKey, setCurrentRowWithKeyValue operation.... Just For Knowledge....
    Edited by: NZL on Mar 2, 2012 9:37 AM
    Edited by: NZL on Mar 2, 2012 9:42 AM

  • Module Null pointer exception

    Hi,
    I am having a problem with my module written for Enhancing functionality of file adapter.My module validates a input file for a particular record presence and if that record is present it would be processed normally by XI system.
    But in case, if the input file doesn't contain the particular record the module is supposed to throw an exception and process shuld terminate.In this case XI shuldn't process the input file.
    But in second case(File not containing the record) I am getting Null pointer exception in adapter monitor.Unable to see any message in auditlog since input file is not being read by file adapter.
    My code is like this:
    public ModuleData process(ModuleContext moduleContext, ModuleData inputModuleData)
              throws ModuleException {
              // TODO Auto-generated method stub
              //Declarations
              Message mes = null;
              XMLPayload xmlData = null;
              DocumentBuilderFactory docBuilderFactory = null;
              DocumentBuilder docBuilder = null;
              Document doc = null;
              AuditMessageKey amk = null;
              boolean flag = false;
              // Fetch the Message Data from Module Data
              mes = (Message) inputModuleData.getPrincipalData();
              // For Audit Log Fetch the Audit Message key from the message.
              amk = new AuditMessageKey(mes.getMessageId(), AuditDirection.OUTBOUND);
              Audit.addAuditLogEntry(amk,     AuditLogStatus.SUCCESS, "Amex Validation Module called");
              xmlData = mes.getDocument();
              InputStream instr = xmlData.getInputStream();
              docBuilderFactory = DocumentBuilderFactory.newInstance();
              try {
                   docBuilder = docBuilderFactory.newDocumentBuilder();
              } catch (ParserConfigurationException e) {
                   // TODO Auto-generated catch block
                   Audit.addAuditLogEntry(amk,     AuditLogStatus.ERROR, "Document Builder Factory not generated Properly");
              try {
                   doc = docBuilder.parse(instr);
              } catch (SAXException e1) {
                   // TODO Auto-generated catch block
                   Audit.addAuditLogEntry(amk,     AuditLogStatus.ERROR, "Document Not generated Properly, SAX Exception called, May Data contains Error");
              } catch (IOException e1) {
                   // TODO Auto-generated catch block
                   Audit.addAuditLogEntry(amk,     AuditLogStatus.ERROR, "Document Not generated Properly, Input/Output Error");
              NodeList record = doc.getElementsByTagName("Recordset");
              for (int k = 0; k < record.getLength(); k++) {
                   Node recordnode = record.item(k);
                   NodeList list_rec = recordnode.getChildNodes();
                   for (int l = 0; l < list_rec.getLength(); l++) {
                        String headnodename =
                             list_rec.item(l).getNodeName().toString();
                        if (headnodename.equals("itemType9"))  {
                               flag = true;
              if (flag == true)
                   Audit.addAuditLogEntry(amk,     AuditLogStatus.SUCCESS, "Record Type 9 present in the file, Successfully Processed");
              else{
                   Audit.addAuditLogEntry(amk,     AuditLogStatus.ERROR, "Record Type 9 not present in the file, Not process further");
                   //throw exception
                   ModuleException e = new ModuleException();
                   throw(e);               
              return inputModuleData;

    Are you sure the following statement is going to work always ?
    NodeList record = doc.getElementsByTagName("Recordset");
    In case there are no nodes by the name <b>Recordset</b>, the very next block of code will throw a NullPointerException at the line
    for (int k = 0; k < record.getLength(); k++) {
    because, if record is null, record.getLength() would not work and throw NLP.

  • Custom Schedule Task ( Null Pointer Exception)

    Hi All,
    I had written Custom Schedule task: Below is the code
    When i run the Schedule task it is failing throwing Null Pointer Exception. the code is not able to fetch userId ,passwordex and passwordwar values in execute method. please help me
    package oracle.iam.sample.notification;
    import java.sql.Date;
    import java.util.ArrayList;
    import java.util.HashMap;
    import java.util.HashSet;
    import java.util.List;
    import java.util.Set;
    import oracle.iam.identity.exception.NoSuchUserException;
    import oracle.iam.identity.exception.UserLookupException;
    import oracle.iam.identity.usermgmt.api.UserManager;
    import oracle.iam.identity.usermgmt.vo.User;
    import oracle.iam.notification.api.NotificationService;
    import oracle.iam.notification.exception.EventException;
    import oracle.iam.notification.exception.MultipleTemplateException;
    import oracle.iam.notification.exception.NotificationException;
    import oracle.iam.notification.exception.NotificationResolverNotFoundException;
    import oracle.iam.notification.exception.TemplateNotFoundException;
    import oracle.iam.notification.exception.UnresolvedNotificationDataException;
    import oracle.iam.notification.exception.UserDetailsNotFoundException;
    import oracle.iam.notification.vo.NotificationEvent;
    import oracle.iam.platform.Platform;
    import oracle.iam.platform.authz.exception.AccessDeniedException;
    import oracle.iam.scheduler.vo.TaskSupport;
    import static oracle.iam.identity.usermgmt.api.UserManagerConstants.AttributeName.MANAGER_KEY;
    import static oracle.iam.identity.usermgmt.api.UserManagerConstants.AttributeName.USER_LOGIN;
    import oracle.iam.platform.kernel.vo.Orchestration;
    public class PasswordExpiry extends TaskSupport {
    public PasswordExpiry() {
    super();
    public void execute(HashMap taskParameters) {
    System.out.println("inside the Execute methode");
    System.out.println("Schedule task Arguments "+taskParameters);
    String userId = (String)taskParameters.get("User Login");
    System.out.println("===========input=============== "+userId);
    String passwordex=taskParameters.get("usr_pwd_expire_date").toString();
    System.out.println("===========input=============== "+passwordex);
    String passwordwar=taskParameters.get("usr_pwd_warn_date").toString();
    System.out.println("===========input=============== "+passwordwar);
    try {
    System.out.println("inside the Try block");
    NotificationService notService = Platform.getService(NotificationService.class);
    NotificationEvent eventToSend = this.createNotificationEvent(userId, passwordex,passwordwar);
    notService.notify(eventToSend);
    } catch (Exception e) {
    e.printStackTrace();
    private NotificationEvent createNotificationEvent(String userKey, String passwordex,
    String passwordwar) throws NoSuchUserException, UserLookupException,
    AccessDeniedException {
    NotificationEvent event = new NotificationEvent();
    //get user IDs to whom notification is to be sent and set it in the
    //event object being created
    String[] receiverUserIds= getRecipientUserIds(userKey);
    event.setUserIds(receiverUserIds);
    //Set template name to be used to send notification for this event
    event.setTemplateName("PasswordWarningNotificationTemplate");
    //Setting senderId as null here and hence default sender ID would
    //get picked up
    event.setSender(null);
    //Create a map with key value pair for the parameters declared at time
    //of configuring notification event
    HashMap<String, Object> map = new HashMap<String, Object>();
    map.put("usr_key", userKey);
    map.put("usr_pwd_warn_date", passwordex);
    map.put("usr_pwd_expire_date",passwordwar);
    event.setParams(map);
    return event;
    private String[] getRecipientUserIds(String userKey) throws NoSuchUserException,
    UserLookupException, AccessDeniedException {
    UserManager usrMgr = Platform.getService(UserManager.class);
    User user = null;
    String userId = null;
    Set<String> userRetAttrs = new HashSet<String>();
    //Sending notification to both the user and his/her manager
    userRetAttrs.add(MANAGER_KEY.getId());
    userRetAttrs.add(USER_LOGIN.getId());
    User manager = null;
    String managerId = null;
    String managerKey = null;
    Set<String> managerRetAttrs = new HashSet<String>();
    managerRetAttrs.add(USER_LOGIN.getId());
    //Retrieving User ID
    user = usrMgr.getDetails(userKey, userRetAttrs, false);
    userId = user.getAttribute(USER_LOGIN.getId()).toString();
    List<String> userIds = new ArrayList<String>();
    userIds.add(userId);
    if (user.getAttribute(MANAGER_KEY.getId()) != null) {
    managerKey = user.getAttribute(MANAGER_KEY.getId()).toString();
    manager = usrMgr.getDetails(managerKey, managerRetAttrs, false);
    //Retrieving User's Manager ID
    managerId = manager.getAttribute(USER_LOGIN.getId()).toString();
    userIds.add(managerId);
    //To return String[] than an Object array
    String[] recipientIDs = userIds.toArray(new String[0]);
    return recipientIDs;
    * Call notification Engine passing an event object to it
    * @param event
    * @throws NotificationException
    private void sendNotification(NotificationEvent event) throws NotificationException {
    try {
    //Call notify method of NotificationService to pass on the event
    //to notification engine
    NotificationService notificationService = Platform.getService(
    NotificationService.class);
    notificationService.notify(event);
    } catch (EventException e) {
    throw new NotificationException(e.getMessage(), e.getCause());
    } catch (UnresolvedNotificationDataException e) {
    throw new NotificationException(e.getMessage(), e.getCause());
    } catch (TemplateNotFoundException e) {
    throw new NotificationException(e.getMessage(), e.getCause());
    } catch (MultipleTemplateException e) {
    throw new NotificationException(e.getMessage(), e.getCause());
    } catch (NotificationResolverNotFoundException e) {
    throw new NotificationException(e.getMessage(), e.getCause());
    } catch (UserDetailsNotFoundException e) {
    throw new NotificationException(e.getMessage(), e.getCause());
    } catch (NotificationException e){
    throw e;
    public HashMap getAttributes() {
    return null;
    public void setAttributes() {}
    Thank you

    The task parameters passed into a scheduled job are the parameters defined for the scheduled task definition in the metadata xml and configured in the scheduled job. They are not the data of an individual user as you seem to be trying to get. In a scheduled task I would expect some sort of search for users to operate on.

  • Null Pointer Exception

    Hi ,
    We are using SO_DOCUMENT_SEND_API1 this BAPI to send mails in our application.Here we are passing values to the input parameters  SENDER_ADDRESS,SENDER_ADDRESS_TYPE,COMMIT_WORK .
    and we need to pass values to the tables also.one table name in the bapi is PACKING_LIST  type SOPCKLSTI1(structure).
    we have used the following code  to pass the values to the table :
                          Sopcklsti1 input_doctype = new Sopcklsti1();
         Sopcklsti1_List maillist = new Sopcklsti1_List();
         input_doctype.setDoc_Type("RAW");
         maillist.addSopcklsti1(input_doctype);
         inputmail.setPacking_List(maillist);
    When  we are running the application it is giving us the java null pointer exception.
    Any inputs on this .
    Regards,
    Pavani

    Hi pavani,
    follow this procedure,
    1)First create object for the structure.
    2)Using this object set values to attributes.
    3)Bind this object to the node.
    4)execute the bapi.
    Regards,
    Sunaina Reddy T

  • While trying to send mail getting NUll Pointer exception

    Hi,
    I am trying to send email through email notification but instance doesn't through any fault but on opmn log it sends null pointer exception and doesn't send any mail. But some other flow using same SMTP server are able to send mail.
    Exceptions:
    07/11/14 16:46:25 java.lang.NullPointerException
    07/11/14 16:46:25      at com.sun.mail.smtp.SMTPTransport.sendMessage(SMTPTransport.java:363)
    07/11/14 16:46:25      at oracle.tip.pc.services.notification.email.EmailDriver.sendMessage(EmailDriver.java:207)
    07/11/14 16:46:25      at oracle.tip.pc.services.notification.email.EmailDriver.send(EmailDriver.java:185)
    07/11/14 16:46:25      at oracle.tip.pc.services.notification.DefaultNotificationServiceImpl.sendEmailNotification(DefaultNotificationServiceImpl.java:251)
    07/11/14 16:46:25      at oracle.tip.pc.services.notification.NotificationServiceImpl.sendEmailNotification(NotificationServiceImpl.java:271)
    07/11/14 16:46:25      at oracle.bpel.services.notification.queue.sender.MDBConsumer.deliverNotification(MDBConsumer.java:256)
    07/11/14 16:46:25      at oracle.bpel.services.notification.queue.sender.MDBConsumer.onMessage(MDBConsumer.java:137)
    07/11/14 16:46:25      at sun.reflect.GeneratedMethodAccessor65.invoke(Unknown Source)
    07/11/14 16:46:25      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    07/11/14 16:46:25      at java.lang.reflect.Method.invoke(Method.java:585)
    07/11/14 16:46:25      at com.evermind.server.ejb.interceptor.joinpoint.EJBJoinPointImpl.invoke(EJBJoinPointImpl.java:35)
    07/11/14 16:46:25      at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
    07/11/14 16:46:25      at com.evermind.server.ejb.interceptor.system.DMSInterceptor.invoke(DMSInterceptor.java:52)
    07/11/14 16:46:25      at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
    07/11/14 16:46:25      at com.evermind.server.ejb.interceptor.system.SetContextActionInterceptor.invoke(SetContextActionInterceptor.java:44)
    07/11/14 16:46:25      at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
    07/11/14 16:46:25      at com.evermind.server.ejb.InvocationContextPool.invoke(InvocationContextPool.java:55)
    07/11/14 16:46:25      at com.evermind.server.ejb.MessageDrivenConsumer.onMessage(MessageDrivenConsumer.java:347)
    07/11/14 16:46:25      at com.evermind.server.ejb.MessageDrivenConsumer.processMessages(MessageDrivenConsumer.java:233)
    07/11/14 16:46:25      at com.evermind.server.ejb.MessageDrivenConsumer.run(MessageDrivenConsumer.java:169)
    07/11/14 16:46:25      at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:298)
    07/11/14 16:46:25      at java.lang.Thread.run(Thread.java:595)
    Any Idea?

    Hi,
    I am also trying E-mail Activity but I am not able to receive the e-mail.
    I have set the following in the ns_emails.xml
    <EmailAccount>
    <Name>Default</Name>
    <GeneralSettings>
    <FromName>Oracle BPM</FromName>
    <FromAddress>[email protected]</FromAddress>
    </GeneralSettings>
    <OutgoingServerSettings>
    <SMTPHost>Server' IPADRESS</SMTPHost>
    <SMTPPort>25</SMTPPort>
    </OutgoingServerSettings>
    <IncomingServerSettings>
    <SMTPHost>Server' IPADRESS</SMTPHost>
    <SMTPPort>25</SMTPPort>
    </IncomingServerSettings>
    In this "[email protected]" is the user configured and "Server' IPADRESS" is the IPADDRESS of the SMTP server.
    Moreover I have also have SMTP server as the incoming server.
    Now I have a simple BPEL PROCESS having Email Activity of sending a mail.
    The "To" section has "[email protected]".
    I am not able to recive the mail and I have also cheked the SMTP server there is no mail there but BPEL Process runs fine.
    I also have one Script which can send mail to the user Ihave mentioned and it works fine.So server setting seems to be fine.Are there any other setting required.
    If you are able to send the mail then can you give me your inputs on this issue.
    Regards
    Lalit

  • Null pointer exception to database

    I can' figure out why it keeps giving me a null pointer exception. I have a database in which I am supposed to search through it based on user input given on a servlet page. Here is the code. Also if anyone could help me on how to execute queries based on an exact search, all search, or any search, that would be great. thanks
    import java.io.*;
    import java.sql.*;
    import javax.servlet.*;
    import javax.servlet.http.*;
    import java.util.*;
    public class WelcomeServlet extends HttpServlet{
        String keywords = null;
        int nResults = 0;
        String logic = null;
        StringTokenizer list;
        int nRows = 0;
        int i = 0;
        Statement stmt = null;
        ResultSet rs = null;
        String[] wordList = null;
        public void init()
            try{
         Class.forName("com.mysql.jdbc.Driver");
            }catch(ClassNotFoundException cnfe){};
            try{
            Connection conn = DriverManager.getConnection("jdbc:mysql://localhost/cop4610webs",
            "root", "anatoly");
            conn.createStatement();
            conn.close();
            }catch(SQLException sqle){};
        protected void doGet(HttpServletRequest req, HttpServletResponse rep) throws IOException
           try{
           keywords = req.getParameter("keywords");
           logic = req.getParameter("logic");
           nResults = Integer.parseInt(req.getParameter("number"));
           rep.setContentType("text/html");
           PrintWriter out = rep.getWriter();
          out.println("<html>");
          // head section of document
          out.println( "<head><title>Servlet Example</title></head>");
          // body section of document
          out.println( "<body>" );
          out.println( "<h1>Welcome to Servlets!</h1>" );
         // if(keywords.length()==0)
          //out.println("NO SEARCH WORDS WERE ENTERED, PRESS BACK TO ENTER SEARCH WORD(S)");
          //else
              rs = stmt.executeQuery("SELECT protocolID,serverID,pageName FROM pages WHERE pageContent LIKE %ucf%");
            out.println(rs.getString(1) + rs.getString(2) + rs.getString(3));
          out.println( "</body>" );
          // end XHTML document
          out.println( "</html>" );
          out.close();  // close stream to complete the page
           }catch(SQLException sqle){};
    }

    It's easy to see why:
    conn.createStatement();This method returns a Statement, but you don't assign that value to anything. Your data member stmt is set to null and you never change the value.
    You've got another problem, though. Once you close that connection you can't talk to the database anymore.
    You either have to create a connection inside the doGet and close both as soon as you're done with it OR figure out how to use a connection pool. Tomcat can do it for you. Maybe it's worth a read:
    http://jakarta.apache.org/tomcat/tomcat-4.1-doc/jndi-datasource-examples-howto.html
    You're not working with the ResultSet properly, either. Do something like this:
    rs = stmt.executeQuery("SELECT protocolID,serverID,pageName FROM pages WHERE pageContent LIKE %ucf%");
    while (rs.next())
       out.println(rs.getString(1) + rs.getString(2) + rs.getString(3));
    }I'm not sure how well that LIKE clause is going to work out.
    I'd look at the JDBC tutorial to the left, too. It doesn't look like you've done SQL and JDBC before. - MOD

  • Oracle native API for AQ  - Null pointer exception

    Hi
    I am trying to enqueue a message to AQ adapter through the java native api. But i am getting a null pointer exception.
    import java.sql.*;
    import oracle.AQ.*;
    Connection db_conn;
    AQSession aq_sess = null;
    AQQueueTable q_table = null;
    AQQueue queue = null;
    AQMessage message ;
    byte[] b_array ;
    try{
    String test_data = "hello";
    Class.forName("oracle.jdbc.driver.OracleDriver");
    db_conn =
    DriverManager.getConnection(
    "jdbc:oracle:thin:@localhost:1521:SOABRM",
    "soabrm", "password");
    System.out.println("JDBC Connection opened ");
    db_conn.setAutoCommit(false);
    Class.forName("oracle.AQ.AQOracleDriver");
    aq_sess = AQDriverManager.createAQSession(db_conn);
    System.out.println("Successfully created AQSession ");
    q_table = aq_sess.getQueueTable ("soabrm", "AQ_Test");
    queue = aq_sess.getQueue ("soabrm", "AQ_Queue_Test");
    message = queue.createMessage();
    b_array = test_data.getBytes();
    AQRawPayload raw_payload = message.getRawPayload();
    AQEnqueueOption enq_option = new AQEnqueueOption();
    raw_payload.setStream(b_array,b_array.length); */* Erroring out at this statement*/*
    message.setRawPayload(raw_payload);
    queue.enqueue(enq_option, message);
    db_conn.commit();
    catch(Exception ex){
    System.out.println("Exception "+ex.getMessage());
    Error : Exception null
    Please let me know if I missed something.
    Thanks in advance!!!!!

    hi,
    I had found the issue. The queue takes object type messages where as I was trying with Raw messages.
    Instead of AQRawPayload raw_payload = message.getRawPayload();
    I need to use
    AQObjectPayload raw_payload = message.getObjectPayload()
    and pass object as input to the queue.

  • Null Point Exception Error

    Hi All
            I have to add an input field which will accept email Id from users. This field has to be kept mandatory. I have kept a check on the value entered. If the user does not enter any value, an error message should be displayed. Below is the code that I have written. Whenever, the user keeps this field blank and submits the form, null point exception error is displayed.
    Please help how to overcome this problem
    email = wdContext.currentContextElement().getEmail_Id();     
             try{
              if (wdContext.currentContextElement().getEmail_Id().equals("") )
                   IWDMessageManager msg = wdThis.wdGetAPI().getComponent().getMessageManager();
                   msg.reportMessage(IMessageTender_ResignationComp.PERSONAL_EMAIL_ID,new Object[]{"Please enter correct Email Id"},true);
         else 

    Hi,
    Change the following code to
    email = wdContext.currentContextElement().getEmail_Id();
    try{
    if (wdContext.currentContextElement().getEmail_Id().equals("") )
    IWDMessageManager msg = wdThis.wdGetAPI().getComponent().getMessageManager();
    msg.reportMessage(IMessageTender_ResignationComp.PERSONAL_EMAIL_ID,new Object[]{"Please enter correct Email Id"},true);
    if (wdContext.currentContextElement() != null)
        email = wdContext.currentContextElement().getEmail_Id();
    if ( email.equals("") )
    IWDMessageManager msg = wdThis.wdGetAPI().getComponent().getMessageManager();
    msg.reportMessage(IMessageTender_ResignationComp.PERSONAL_EMAIL_ID,new Object[]{"Please enter correct Email Id"},true);
    Regards
    Ayyapparaj

  • Null pointer exception using ImageIO

    Hi all I'm not sure this belongs here or in the applet forum, but if don't belong here I'll move it. Anyway My question is this, I am trying to load an image into an applet before I was just doing this
    public static Image getImage(String filename){
              if (applet == null)
                  return null; // for now
             else
                  return applet.getImage(applet.getDocumentBase(), filename);
         }Since then I've discovered ImageIO and have switched to this
    public static BufferedImage getImage(String filename){
              BufferedImage img = null;
              //File image = new File(filename);
              try{
                   //img = ImageIO.read(applet.getDocumentBase().getClass().getResource(filename));
                   //img = ImageIO.read(image);
                   img = ImageIO.read(ImageHandler.getFile(filename));
              }catch(IOException e){
                   e.printStackTrace();
                   return null;
              return img;Now my problem is that this is giving me a null pointer exception, each of the 3 times I try to load up the img variable I get a NPE and I cannot figure out why. I know the file is where its supposed to be and I know it is not corrupt since it works with the other code. So my question is why am I getting an exception with the second piece of code? Any advice or suggestions are appreciated thanks in advance.

    Well that was part of the problem, thanks for that I didn't catch that at first, but now it just created a new exception in that I'm getting a illegal argument exception saying that the input == null. Here is the entire class I should have posted it in the first place sorry
    import java.applet.Applet;
    import java.awt.image.BufferedImage;
    import java.io.File;
    import java.io.IOException;
    import java.net.MalformedURLException;
    import java.net.URL;
    import javax.imageio.ImageIO;
    public class ImageHandler {
         static Applet applet = null;
         public static void setApplet(Applet applet){
              ImageHandler.applet = applet;
         public static BufferedImage getImage(String filename){
              BufferedImage img = null;
              if(applet == null){
                   System.out.println("Applet is null");//for testing
                   return null; //for now
              }else{
                   try{
                        img = ImageIO.read(applet.getDocumentBase().getClass().getResource(filename));
                   }catch(IOException e){
                        e.printStackTrace();
                        return null;
                   return img;
    }The applet gets set in another class here:
    ImageHandler.setApplet(this);so unless I'm missing something (obviously I am or I won't be here lol) the applet is not null here is the errors I get again thanks for the help you've already given anymore is appreciated.
    java.lang.IllegalArgumentException: input == null!
         at javax.imageio.ImageIO.read(Unknown Source)
         at ImageHandler.getImage(ImageHandler.java:27)
         at BackgroundImages.<init>(BackgroundImages.java:17)
         at BackGrounds.<init>(BackGrounds.java:17)
         at MainGame.init(MainGame.java:51)
         at sun.applet.AppletPanel.run(Unknown Source)
         at java.lang.Thread.run(Unknown Source)

Maybe you are looking for

  • 3DES decryption with SHA1 hashed key

    Hello all, I've been given the task of rewriting an existing VB application in Java, and one routine makes use of the Microsoft Cryptography API. The VB code decrypts a string using TripleDES decryption, using a string key that's been hashed with a S

  • Oracle Spatial Query from SQLPLUS deteriorates in performance

    Hi, I am running an sql-procedure, which does spatial queries. When I run this procedure (from SQLPLUS) for the first time it takes around 45 sec to complete, but when I run the same procedure for the second time it takes 65 seconds and the performan

  • USB not detected

    I recently brought a mac mini. First thing i did was update all the software, most importantly OSX to 10.5.1. I inserted a usb jump drive to transfer some file then properly ejected it. Now none of the usb ports work. I tried different devices; mouse

  • Attaching document to solution through programming

    the problem is in crm there is transaction  is01. it is transaction to maintain problems and solutions. where problems and solutions are objects of crm. the master tables for these are isol, isom. ok into this using bapi s i am uploading the data fro

  • FK Constraints with nonmatching column definitions

    Hello, I ran a healthcheck with TOAD and he reported some foreign keys with nonmatching column definitions: ! Constraint : HERCULES.LBS_VAL_FK ! On Table : HERCULES.LOONBESLAG_SCHULDEISEN ! Columns : VAL_CD VARCHAR2 (5) ! To Table : HERCULES.VALUTA !