Wscompile NullPointerException

Hello, I am trying to create java classes from wsdl but I failed to use wscompile.bat properly. First, I deleted from wscompile.bat the last parameter for "%JAVA_HOME%\bin\java.exe" classpath which was "%PATH%", because it was showing just the java.exe help. Next, I created a config file for my WSDL which looks like:
<?xml version="1.0" encoding="UTF-8" ?>
<configuration
xmlns="http://java.sun.com/xml/ns/jax-rpc/ri/config">
<wsdl
location="http://marvin:7778/esb/wsil/EDC/EDC?wsdl"
packageName="mypackage"/>
</configuration> And finally I ran "wscompile -Xprintstacktrace -d build -gen wsdl_config.xml" which returned a NullPointerException:
java.lang.NullPointerException
        at com.sun.xml.rpc.wsdl.parser.WSDLParser.parseBindingOperation(WSDLPars
er.java:889)
        at com.sun.xml.rpc.wsdl.parser.WSDLParser.parseBinding(WSDLParser.java:8
27)
        at com.sun.xml.rpc.wsdl.parser.WSDLParser.parseDefinitionsNoImport(WSDLP
arser.java:456)
        at com.sun.xml.rpc.wsdl.parser.WSDLParser.parseDefinitionsNoImport(WSDLP
arser.java:380)
        at com.sun.xml.rpc.wsdl.parser.WSDLParser.parseDefinitionsNoImport(WSDLP
arser.java:335)
        at com.sun.xml.rpc.wsdl.parser.WSDLParser.parseDefinitions(WSDLParser.ja
va:225)
        at com.sun.xml.rpc.wsdl.parser.WSDLParser.parse(WSDLParser.java:214)
        at com.sun.xml.rpc.processor.modeler.wsdl.WSDLModelerBase.buildModel(WSD
LModelerBase.java:200)
        at com.sun.xml.rpc.processor.config.ModelInfo.buildModel(ModelInfo.java:
88)
        at com.sun.xml.rpc.processor.Processor.runModeler(Processor.java:63)
        at com.sun.xml.rpc.tools.wscompile.CompileTool.run(CompileTool.java:714)
        at com.sun.xml.rpc.util.ToolBase.run(ToolBase.java:43)
        at com.sun.xml.rpc.tools.wscompile.Main.main(Main.java:22)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
sorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:585)
        at org.apache.commons.launcher.ChildMain.run(ChildMain.java:269)
error: java.lang.NullPointerExceptionWhat is going on? Please help.

Hi
I have also tried to run wscompile through maven instead of Ant and get the exact same exception in the
'com.sun.xml.rpc.util.JavaCompilerHelper.internalCompile(JavaCompilerHelper.java:45)'. The java source gets generated(ties/etc) but the compilation doesnt happen because of this. This is with J2sdk1.4.2_01 and Maven-beta-9. Please help.

Similar Messages

  • JAX-RPC + Bean = deserialization error: java.lang.NullPointerException

    I�m trying to use a bean as return type from a web service method, but I get an error:
    deserialization error: java.lang.NullPointerException
    this is the class consuming the web service
    package local.jws;
    import local.jws.remote.TestBeanIF;
    import local.jws.remote.TestBean;
    import java.io.*;
    import java.net.URL;
    import javax.xml.rpc.Service;
    import javax.xml.rpc.ServiceException;
    import javax.xml.rpc.ServiceFactory;
    import javax.xml.namespace.QName;
    public class Client implements java.io.Serializable
         private TestBean tb;
         private String somestring;
         public Client()
              try
                   String wsURL = "http://localhost:8080/webservice/testbean?WSDL";
                   String nameSpaceURI = "http://local.jws/wsdl/MyTestBean";
                   String portName = "TestBeanIFPort";
                   String serviceName = "MyTestBean";
                   URL serviceURL = new URL( wsURL );
                   ServiceFactory serviceFactory = ServiceFactory.newInstance();
                   QName qServiceName = new QName( nameSpaceURI, serviceName );
                   Service ws = serviceFactory.createService( serviceURL, qServiceName );
                   QName qPortName = new QName( nameSpaceURI, portName );
                   TestBeanIF myTestBeanIF = (TestBeanIF)ws.getPort( qPortName, local.jws.remote.TestBeanIF.class );
                   somestring = myTestBeanIF.getString();
                   tb = myTestBeanIF.getTestBean( "hello bean" );
              catch( Exception ex )
         public TestBean getTb()
              return this.tb;
         public void setTb( TestBean tb )
              this.tb = tb;
         public String getSomestring()
              return this.somestring;
         public void setSomestring( String value )
              this.somestring = value;
    this is the bean:
    package local.jws.beans;
    public class TestBean implements java.io.Serializable
         private String test;
         public TestBean(){ }
         public String getTest()
              return test;
         public void setTest( String value )
              this.test = value;
    this is the interface implementation:
    package local.jws;
    import local.jws.beans.TestBean;
    public class TestBeanImpl implements TestBeanIF
         public TestBean getTestBean( String value )
              TestBean tb = new TestBean();
              tb.setTest( value );
              return tb;
         public String getString()
              return "some string";
    using the getString() method works fine but getTestBean() doesn�t;
    any clue on this?
    thanks

    Hi,
    I'm experiencing exactly the same problem as you ...
    The only fix I found is to use static invocation ... with static invocation, WSCompile generates a deserializer and everything works fine, no mure NullPointer exception ...
    With dynamic invocation as you are trying to manage here, I didn't find any way to tell the client to use the deserializer generated with wscompile ...
    Does anyone know how to do it ?
    Thanks,
    Olivier

  • Wscompile problem

    Hi,
    I'm getting the following error when running wscompile from the command line (it also occurs when I run it from the Utilities GUI):
    error: Unknown QName of member 'name'
    error: java.lang.NullPointerException
    When I run the same WSDL file through the version of wscompile that comes with version 1.6 of the JWSDP, everything works fine, and all the code gets generated.
    A further issue is that my WSDL file contains nothing named 'name' (with a small 'n'). There are some elements and attributes called 'Name', however and I suspect that it's one of the attributes that's causing a problem, although that's not based on anything solid.
    Any suggestions as to how to fix this would be greatly appreciated!
    Brendan

    Tina1511, welcome to the forum. Please don't post in threads that are long dead. When you have a question, start your own topic. Feel free to provide a link to an old post that may be relevant to your problem.
    I'm locking this thread now.
    db

  • Is wscompile compatible with OC4J?

    Hi everyone. I have a very simple Java class:
    public class Echo
      public String sayIt(String input)
        return input + " " + input;
    }There is also a matching remote interface. When I create the WSDL and JAX-RPC mapping file using Sun's wscompile tool, I can deploy the resulting Web Service in a WAR file to JBoss with no problem, but OC4J rejects it with the following error:
    WARNING java.lang.InstantiationException:
      Error compiling  :C:\oracle\OC4J10.1.3\j2ee\home\applications\soasta\concerto:
      Error instantiating compiler: webservice artifact generation failed:
      java.lang.NullPointerException : nullIs there anything I am doing wrong?
    -- Matt

    Hi
    I am having the same error
    C:\jdev10134\jdk\jre\bin>java.exe -version
    java version "1.5.0_06"
    Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_06-b05)
    Java HotSpot(TM) Client VM (build 1.5.0_06-b05, mixed mode)
    C:\jdev10134\jdk\jre\bin\java.exe -jar C:\jdev10134\jdev\lib\ojc.jar -source 1.5 -target 1.5 -noquiet -warn -nowarn:320 -nowarn:486 -nowarn:487 -deprecation:self -nowarn:560 -nowarn:704 -nowarn:489 -nowarn:415 -nowarn:909 -nowarn:412 -nowarn:414 -nowarn:561 -nowarn:376 -nowarn:371 -nowarn:558 -nowarn:375 -nowarn:413 -nowarn:377 -nowarn:372 -nowarn:557 -nowarn:556 -nowarn:559 -encoding Cp1252 -g -d C:\labs\SOAEssentials\CreditService\classes -make C:\labs\SOAEssentials\CreditService\classes\CreditService.cdi -classpath C:\jdev10134\jdk\jre\lib\rt.jar;C:\jdev10134\jdk\jre\lib\i18n.jar;C:\jdev10134\jdk\jre\lib\sunrsasign.jar;C:\jdev10134\jdk\jre\lib\jsse.jar;C:\jdev10134\jdk\jre\lib\jce.jar;C:\jdev10134\jdk\jre\lib\charsets.jar;C:\jdev10134\jdk\jre\classes;C:\labs\SOAEssentials\CreditService\classes -sourcepath C:\labs\SOAEssentials\CreditService\src;C:\labs\SOAEssentials\CreditService\deploy;C:\jdev10134\jdk\src.zip C:\labs\SOAEssentials\CreditService\src\org\soademo\creditservice\CreditCardValidationFaultMessage.java C:\labs\SOAEssentials\CreditService\src\org\soademo\creditservice\CreditService.java C:\labs\SOAEssentials\CreditService\src\org\soademo\creditservice\ValidateCreditCard.java C:\labs\SOAEssentials\CreditService\src\org\soademo\creditservice\ValidateCreditCardImpl.java C:\labs\SOAEssentials\CreditService\src\org\soademo\creditservice\types\com\globalcompany\ns\credit\CreditCard.java
    compiling C:\labs\SOAEssentials\CreditService\src\org\soademo\creditservice\ValidateCreditCard.java
    [08:27:48] Successful compilation: 0 errors, 0 warnings.
    Compiling...
    C:\jdev10134\jdk\jre\bin\java.exe -jar C:\jdev10134\jdev\lib\ojc.jar -source 1.5 -target 1.5 -noquiet -warn -nowarn:320 -nowarn:486 -nowarn:487 -deprecation:self -nowarn:560 -nowarn:704 -nowarn:489 -nowarn:415 -nowarn:909 -nowarn:412 -nowarn:414 -nowarn:561 -nowarn:376 -nowarn:371 -nowarn:558 -nowarn:375 -nowarn:413 -nowarn:377 -nowarn:372 -nowarn:557 -nowarn:556 -nowarn:559 -encoding Cp1252 -g -d C:\labs\SOAEssentials\CreditService\classes -make C:\labs\SOAEssentials\CreditService\classes\CreditService.cdi -classpath C:\jdev10134\jdk\jre\lib\rt.jar;C:\jdev10134\jdk\jre\lib\i18n.jar;C:\jdev10134\jdk\jre\lib\sunrsasign.jar;C:\jdev10134\jdk\jre\lib\jsse.jar;C:\jdev10134\jdk\jre\lib\jce.jar;C:\jdev10134\jdk\jre\lib\charsets.jar;C:\jdev10134\jdk\jre\classes;C:\labs\SOAEssentials\CreditService\classes -sourcepath C:\labs\SOAEssentials\CreditService\src;C:\labs\SOAEssentials\CreditService\deploy;C:\jdev10134\jdk\src.zip C:\labs\SOAEssentials\CreditService\src\org\soademo\creditservice\CreditCardValidationFaultMessage.java C:\labs\SOAEssentials\CreditService\src\org\soademo\creditservice\CreditService.java C:\labs\SOAEssentials\CreditService\src\org\soademo\creditservice\ValidateCreditCard.java C:\labs\SOAEssentials\CreditService\src\org\soademo\creditservice\ValidateCreditCardImpl.java C:\labs\SOAEssentials\CreditService\src\org\soademo\creditservice\types\com\globalcompany\ns\credit\CreditCard.java
    [08:33:14] Successful compilation: 0 errors, 0 warnings.
    application : CustomerService is in failed state
    ---- Deployment started. ---- 8/11/2010 08:27:48
    Target platform is Oracle Application Server 10g 10.1.3 (SoademoApplicationServer).
    Wrote WAR file to C:\labs\SOAEssentials\CreditService\deploy\WebServices.war
    [EJB 3.0]: Assigning default-data-source=jdbc/soademoDS, specified in projects EJB 3.0 properties
    Wrote EAR file to C:\labs\SOAEssentials\CreditService\deploy\SOAEssentials-CreditService-WS.ear
    Elapsed time for deployment: 1 second
    ---- Deployment finished. ---- 8/11/2010 08:27:49
    ---- Deployment started. ---- 8/11/2010 08:33:14
    Target platform is Oracle Application Server 10g 10.1.3 (SoademoApplicationServer).
    Wrote WAR file to C:\labs\SOAEssentials\CreditService\deploy\WebServices.war
    [EJB 3.0]: Assigning default-data-source=jdbc/soademoDS, specified in projects EJB 3.0 properties
    Wrote EAR file to C:\labs\SOAEssentials\CreditService\deploy\SOAEssentials-CreditService-WS.ear
    Uploading file SOAEssentials-CreditService-WS.ear ...
    Application Deployer for SOAEssentials-CreditService-WS STARTS.
    Copy the archive to C:\product\10.1.3.1\OracleAS_1\j2ee\home\applications\SOAEssentials-CreditService-WS.ear
    Initialize C:\product\10.1.3.1\OracleAS_1\j2ee\home\applications\SOAEssentials-CreditService-WS.ear begins...
    Unpacking SOAEssentials-CreditService-WS.ear
    Done unpacking SOAEssentials-CreditService-WS.ear
    Unpacking WebServices.war
    Done unpacking WebServices.war
    Initialize C:\product\10.1.3.1\OracleAS_1\j2ee\home\applications\SOAEssentials-CreditService-WS.ear ends...
    Starting application : SOAEssentials-CreditService-WS
    Initializing ClassLoader(s)
    Initializing EJB container
    Loading connector(s)
    Starting up resource adapters
    Initializing EJB sessions
    Committing ClassLoader(s)
    Initialize WebServices begins...
    Initialize WebServices ends...
    Started application : SOAEssentials-CreditService-WS
    Binding web application(s) to site default-web-site begins...
    Binding WebServices web-module for application SOAEssentials-CreditService-WS to site default-web-site under context root CreditService
    Operation failed with error:
    Error compiling :C:\product\10.1.3.1\OracleAS_1\j2ee\home\applications\SOAEssentials-CreditService-WS\WebServices: Error instantiating compiler: Web service artifact generation failed:java.lang.RuntimeException: generator error: generator error: java.lang.NullPointerException
    Deployment failed
    Elapsed time for deployment: 6 seconds
    #### Deployment incomplete. #### 8/11/2010 08:33:20

  • Xrpcc tool error: NullPointerException

    im trying Hello class example.
    //interface claas defination is
    import java.rmi.Remote;
    import java.rmi.RemoteException;
    import javax.xml.rpc.server.ServiceLifecycle;
    public class HelloClass implements HelloInterface, ServerLifecycle{
    public String mystring = "i am server";
    public void init(Object context){
    public String CallMe(String StringPassed){
         return(mystring+StringPassed);
    // interface class defination is
    public interface HelloInterface extends Remote{
    public String CallMe(String PassedString) throws RemoteException;
    //config.xml file as
    <configuration xmlns="http://java.sun.com/xml/ns/jax-rpc/ri/config">
    <service targetNamespace="http://sunreg.org/wsdl"
              typeNamespace="http://sunreg.org/wsdl"
                        name="HelloService"
              packageName="Hello">
    <interface name="HelloInterface"
    servantName="HelloClass"/>
    </service>
    </configuration>
    on running xrpcc tool it is giving error
    error:NullpointerException
    any idea why it error is giving

    To get more info, try using the -verbose and -Xprintstacktrace options
    on xrpcc. Also, xrpcc is being deprecated, you should start using wscompile which if functionally equivalent to xrpcc.

  • Wsimport throws NullPointerException

    I've created a small web service, and I'm trying to generate the client using the wsimport tool. I'm getting the exception below.
    Hints:
    - We have many similar services that wsimport is working fine with.
    - I've tried to call this WS using the Microsoft InfoPath, and it worked fine.
    What is possibly causing this exception?
    The Exception:_
    java.lang.NullPointerException
         at com.sun.tools.internal.ws.processor.generator.ServiceGenerator.visitService(ServiceGenerator.java:183)
         at com.sun.tools.internal.ws.processor.generator.GeneratorBase.visit(GeneratorBase.java:190)
         at com.sun.tools.internal.ws.processor.model.Service.accept(Service.java:111)
         at com.sun.tools.internal.ws.processor.generator.GeneratorBase.visitModel(GeneratorBase.java:181)
         at com.sun.tools.internal.ws.processor.generator.GeneratorBase.visit(GeneratorBase.java:171)
         at com.sun.tools.internal.ws.processor.model.Model.accept(Model.java:128)
         at com.sun.tools.internal.ws.processor.generator.GeneratorBase.doGeneration(GeneratorBase.java:161)
         at com.sun.tools.internal.ws.processor.generator.GeneratorBase.perform(GeneratorBase.java:111)
         at com.sun.tools.internal.ws.processor.Processor.runActions(Processor.java:99)
         at com.sun.tools.internal.ws.wscompile.CompileTool.run(CompileTool.java:546)
         at com.sun.tools.internal.ws.util.ToolBase.run(ToolBase.java:56)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:597)
         at com.sun.tools.internal.ws.Invoker.main(Invoker.java:63)
         at com.sun.tools.internal.ws.WsImport.main(WsImport.java:30)
    generator error: java.lang.NullPointerException
         at com.sun.tools.internal.ws.processor.generator.GeneratorBase.doGeneration(GeneratorBase.java:165)
         at com.sun.tools.internal.ws.processor.generator.GeneratorBase.perform(GeneratorBase.java:111)
         at com.sun.tools.internal.ws.processor.Processor.runActions(Processor.java:99)
         at com.sun.tools.internal.ws.wscompile.CompileTool.run(CompileTool.java:546)
         at com.sun.tools.internal.ws.util.ToolBase.run(ToolBase.java:56)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:597)
         at com.sun.tools.internal.ws.Invoker.main(Invoker.java:63)
         at com.sun.tools.internal.ws.WsImport.main(WsImport.java:30)
    Caused by: java.lang.NullPointerException
         at com.sun.tools.internal.ws.processor.generator.ServiceGenerator.visitService(ServiceGenerator.java:183)
         at com.sun.tools.internal.ws.processor.generator.GeneratorBase.visit(GeneratorBase.java:190)
         at com.sun.tools.internal.ws.processor.model.Service.accept(Service.java:111)
         at com.sun.tools.internal.ws.processor.generator.GeneratorBase.visitModel(GeneratorBase.java:181)
         at com.sun.tools.internal.ws.processor.generator.GeneratorBase.visit(GeneratorBase.java:171)
         at com.sun.tools.internal.ws.processor.model.Model.accept(Model.java:128)
         at com.sun.tools.internal.ws.processor.generator.GeneratorBase.doGeneration(GeneratorBase.java:161)
         ... 10 more
    error: generator error: java.lang.NullPointerException

    Here's the WSDL file:
    - <definitions name="GetVehiclesCountByIDService" targetNamespace="http://getvehiclescountbyid.services.soa.elm.com/" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://getvehiclescountbyid.services.soa.elm.com/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    - <types>
    - <xs:schema targetNamespace="http://getvehiclescountbyid.services.soa.elm.com/" version="1.0" xmlns:tns="http://getvehiclescountbyid.services.soa.elm.com/" xmlns:xs="http://www.w3.org/2001/XMLSchema">
      <xs:element name="getVehiclesCountById" type="tns:getVehiclesCountById" />
      <xs:element name="getVehiclesCountByIdResponse" type="tns:getVehiclesCountByIdResponse" />
    - <xs:complexType name="getVehiclesCountById">
    - <xs:sequence>
      <xs:element minOccurs="0" name="applicationIdentity" type="xs:string" />
      <xs:element minOccurs="0" name="applicationPassword" type="xs:string" />
      <xs:element name="referenceNumber" type="xs:long" />
      <xs:element minOccurs="0" name="userLanguage" type="xs:string" />
      <xs:element name="ownerId" type="xs:long" />
      </xs:sequence>
      </xs:complexType>
    - <xs:complexType name="getVehiclesCountByIdResponse">
    - <xs:sequence>
      <xs:element minOccurs="0" name="return" type="tns:getVehiclesCountByIDResult" />
      </xs:sequence>
      </xs:complexType>
    - <xs:complexType name="getVehiclesCountByIDResult">
    - <xs:complexContent>
    - <xs:extension base="tns:soaResult">
    - <xs:sequence>
      <xs:element name="vehiclesCount" type="xs:int" />
      </xs:sequence>
      </xs:extension>
      </xs:complexContent>
      </xs:complexType>
    - <xs:complexType name="soaResult">
    - <xs:sequence>
      <xs:element name="operationStatus" type="xs:short" />
      <xs:element name="resultCode" type="xs:short" />
      <xs:element minOccurs="0" name="resultMessage" type="xs:string" />
      </xs:sequence>
      </xs:complexType>
      </xs:schema>
      </types>
    - <message name="GetVehiclesCountByID_getVehiclesCountByIdResponse">
      <part element="tns:getVehiclesCountByIdResponse" name="getVehiclesCountByIdResponse" />
      </message>
    - <message name="GetVehiclesCountByID_getVehiclesCountById">
      <part element="tns:getVehiclesCountById" name="getVehiclesCountById" />
      </message>
    - <portType name="GetVehiclesCountByID">
    - <operation name="getVehiclesCountById" parameterOrder="getVehiclesCountById">
      <input message="tns:GetVehiclesCountByID_getVehiclesCountById" />
      <output message="tns:GetVehiclesCountByID_getVehiclesCountByIdResponse" />
      </operation>
      </portType>
    - <binding name="GetVehiclesCountByIDBinding" type="tns:GetVehiclesCountByID">
      <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http" />
    - <operation name="getVehiclesCountById">
      <soap:operation soapAction="" />
    - <input>
      <soap:body use="literal" />
      </input>
    - <output>
      <soap:body use="literal" />
      </output>
      </operation>
      </binding>
    - <service name="GetVehiclesCountByIDService">
    - <port binding="tns:GetVehiclesCountByIDBinding" name="GetVehiclesCountByIDPort">
      <soap:address location="http://N-awad-pc2:8180/SOACarServices/GetVehiclesCountByID" />
      </port>
      </service>
      </definitions>

  • WSCOMPILE tool error

    Hi all,
    I have made a small code (just an interface and it's implementation)for JAX-RPC API.
    Made a config.xml file
    made a web.xml file.
    compiled my classes.
    then i have used WSCOMPILE tool as
    wscompile -cp ../* -gen server config.xml.
    an exception coming as
    error:modeller error:java.lang.NullPointerException.
    anyone expereince?.plz tell me the issues with wscompile tool.

    Please post JAXRPC related questions to [email protected]
    Can you include the entire stack trace?

  • Sender  Mail Adapter - java.lang.NullPointerException in CC monitoring

    hi,
    I configured my Sender Mail Adapter correctly.
    I have the correct POP URL, authentication. I'm not using PayloadSwapBean right now.
    I can't get rid of the exception inside my Channel monitoring.
    exception caught during processing mail message; java.lang.NullPointerException
    does anyone know why?
    I've been told the POP account has emails already.
    I will try to create an outlook account for this POP e-mail account in the mean time to see the e-mails.
    Thank you

    thanks aaron.
    I don't see the folder ./SYS/../j2ee/...
    will it be under another folder?  I don't see a trace log folder either.
    I think the problem might be in the Module tab.
    I tried.
    AF_Modules/PayloadSwapBean
    localejbs/AF_Modules/PayloadSwapBean
    /localejbs/AF_Modules/PayloadSwapBean
    sap.com/com.sap.aii.adapter.mail.app/XIMailAdapterBean
    localejbs/sap.com/com.sap.aii.adapter.mail.app/XIMailAdapterBean
    /localejbs/sap.com/com.sap.aii.adapter.mail.app/XIMailAdapterBean
    they all produce the same error. I wonder if these Beans actually exist.
    I think we might have to reinstall this Mail Adapter altogether.
    Or maybe it's really the connection to the Mail Server. But would it display this kind of message.
    This is what I'm looking at.
    Also, i had to use this URL
    pop://server:995/
    (995 is using SSL and it is the default port).  When I use this, I see the Java Null Pointer Exception a lot less frequently. Weird.

  • Data Federator Connection to R3 - java.lang.NullPointerException

    Hi.
    We are trying to add a SAP R3 DataSource in Data Federator XI 3.0 SP2.
    Test Connection gives us the following message: "The connection was established but there is no table for the given connection parameters", what it seems to be ok according to the SAP doc.
    However, when we try to get a list of the Functions or Infosets in the SAP system, an error comes because of a "java.lang.NullPointerException". Checking the application log we get the following:
    2010/03/30 12:21:27.059|<=|||0|26537104| |||||||||||||||"[LeSelect.Api.LSStatementImpl] - [Execution Thread 4]Executing query: CALL executeConnectorCommand '/TEST//TEST/user_bla/sources/draft/R3SYS', 'GET_FUNCTION_LIST * * 200'"
    2010/03/30 12:21:27.074|>=|E||0|26537104| |||||||||||||||"[LeSelect.Core.n] - [Execution Thread 4]Bad Wrapper Error:
    java.lang.NullPointerException
         at LeSelect.Wrappers.SAPR3.H.F(y:343)
         at LeSelect.Wrappers.SAPR3.H.executeCommand(y:285)
         at LeSelect.Core.B.D.R(y:151)
         at LeSelect.Core.QueryEngine.H.p.G(y:131)
         at LeSelect.Core.QueryEngine.H.p.A(y:105)
         at LeSelect.Core.QueryEngine.B.J.A(y:72)
         at LeSelect.Core.QueryEngine.Executor.y.A(y:227)
         at LeSelect.Core.QueryEngine.m.A(y:284)
         at LeSelect.Api.LSStatementImpl.lsExecuteQuery(y:314)
         at LeSelect.B.E.D.V(y:935)
         at LeSelect.B.E.K.B(y:105)
         at LeSelect.B.E.G$_A.run(y:691)"
    We registered the callback program and did all of the steps indicated for the installation, also checked the possible sources of the error according to OSS Note 1278491.
    Any idea how to solve this? Thanks.

    Hello, we have the similar problem: while connecting from Data Federator to SAP ERP we get the following error - "Wrapper /ZTEST/sources/ZTEST reported an exception which is not a WrapperException: java.lang.NullPointerException: null"
    It's necessary to install "SAP BusinessObjects Data Federator Infoset, SAP Query and ABAP Functions Connector Prototype"
    SAP BusinessObjects Web Intelligence Reporting for SAP ERP
    for connection to SAP ERP.
    Are there any ideas? Thanks

  • PI Java Mapping NullPointerException

    Hi Gurus,
    I'm having some troubles doing the mapping through java mapping in PI.
    I've done the java class in the SAP NWDS and imported it on PI through the ESR.
    Now i'm trying to test through the SOAP and i've found the following error in the "Communication Channel Monitor":
    500   Internal Server Error  SAP NetWeaver Application Server/Java AS 
    java.lang.NullPointerException: while trying to invoke the method com.sap.aii.af.sdk.xi.lang.Binary.getBytes() of a null object returned from com.sap.aii.af.sdk.xi.mo.xmb.XMBPayload.getContent()
    And the following error in the SXMB_MONI:
    <SAP:Category>XIServer</SAP:Category>
      <SAP:Code area="INTERNAL">CLIENT_SEND_FAILED</SAP:Code>
      <SAP:P1>500</SAP:P1>
      <SAP:P2>Internal Server Error</SAP:P2>
      <SAP:P3>(See attachment HTMLError for details)</SAP:P3>
      <SAP:P4 />
      <SAP:AdditionalText />
      <SAP:Stack>Error while sending by HTTP (error code: 500 , error text: Internal Server Error) (See attachment HTMLError for details)</SAP:Stack>
    I've developed the code below:
    public class PI_Mapping_IF extends AbstractTransformation {
      public void transform(TransformationInput in, TransformationOutput out)    throws StreamTransformationException  {  
      this.execute(in.getInputPayload().getInputStream(), out.getOutputPayload().getOutputStream()); 
      public void execute(InputStream in, OutputStream out)  throws StreamTransformationException { 
      try  
      // Inicio do java mapping
      getTrace().addInfo("JAVA Mapping Iniciado"); //Log para o PI/XI
      // Declarações referentes ao XML de entrada
      DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
      DocumentBuilder db = dbf.newDocumentBuilder();
      Document xml_in = db.parse(in);
      // Declarações referentes ao XML de saída
      Document xml_out = db.newDocument();
      TransformerFactory transformerFactory = TransformerFactory.newInstance();
      Transformer transformer = transformerFactory.newTransformer();
      // Remove o standalone
      xml_in.setXmlStandalone(true);
      // Declara a estrutura que a RFC irá receber
      Element root = xml_out.createElement("ns1:ZFSD_VMOI_UPLOAD_CF_PG");
      root.setAttribute("xmlns:ns1","urn:sap-com:document:sap:rfc:functions");
      xml_out.appendChild(root);
      Element i_cenario = xml_out.createElement("I_CENARIO");
      root.appendChild(i_cenario);
      Element t_input = xml_out.createElement("T_INPUT");
      root.appendChild(t_input);
      Element item = xml_out.createElement("ITEM");
      t_input.appendChild(item);
      Element STRING = xml_out.createElement("STRING");
      item.appendChild(STRING);
      Element t_return = xml_out.createElement("T_RETURN");
      root.appendChild(t_return);
      Element item_r = xml_out.createElement("ITEM");
      t_return.appendChild(item_r);
      Element message = xml_out.createElement("MESSAGE");
      item_r.appendChild(message);
      // Verifica se existe algum filho no nó
      NodeList nodos = xml_in.getChildNodes(); 
      if (nodos.item(0) != null)
      getTrace().addInfo("O nó(XML) possui filhos"); //Log para o PI/XI
      // Declaração de variáveis
      String ident = ""; // <Ident>
      String buyer = ""; // <BuyerLineItemNum>
      String result = ""; // <Ident>;<BuyerLineItemNum>;<Date>;<QuantityValue>
      // Inicia a extração das informações do XML
      try{
      // Recupera o nó ShipToParty
      NodeList nodeShip = xml_in.getElementsByTagName("ns0:ShipToParty");
      Node node = nodeShip.item(0);
      Element elemXML = (Element) node;
      try{
      NodeList nodeIdent = elemXML.getElementsByTagName("ns0:Ident");
      Element nameElement = (Element) nodeIdent.item(0);
      nodeIdent = nameElement.getChildNodes();
      // Recupera o valor da chave <Ident>
      ident = PI_Mapping_IF.VerifyNull(((Node) nodeIdent.item(0)).getNodeValue());
      }catch(Exception e){
      result += "0.0;";
      // Recupera o nó ListOfMaterialGroupedPlanningDetail
      NodeList nodeBuyer  = xml_in.getElementsByTagName("ns0:MaterialGroupedPlanningDetail");
      for (int i = 0; i < nodeBuyer.getLength(); i++) {
      node = nodeBuyer.item(i);
      elemXML = (Element) node;
      try{
      // Preenche a chave BuyerLineItemNum
      NodeList nodeBuyerLine = elemXML.getElementsByTagName("ns0:BuyerLineItemNum");
      Element elemBuyerLine = (Element) nodeBuyerLine.item(0);
      nodeBuyerLine = elemBuyerLine.getChildNodes();
      buyer = PI_Mapping_IF.VerifyNull(((Node) nodeBuyerLine.item(0)).getNodeValue());
      }catch(Exception e){
      buyer += "0;";
      result = ident+";"+buyer+";";
      Node nodeDt_Qnt = nodeBuyer.item(i);
      Element elemDt_Qnt = (Element)nodeDt_Qnt;
      NodeList nodeValores = elemDt_Qnt.getElementsByTagName("ns0:ScheduleDetail");
      for (int j = 0; j < nodeValores.getLength(); j++) {
      node = nodeValores.item(j);
      elemXML = (Element) node;
      try{
      // Preenche a chave Date
      NodeList modelExtra = elemXML.getElementsByTagName("ns0:Date");
      Element extraElement = (Element) modelExtra.item(0);
      modelExtra = extraElement.getChildNodes();
      result += PI_Mapping_IF.VerifyNull(((Node) modelExtra.item(0)).getNodeValue())+";";
      }catch(Exception e){
      result += "//;";
      try {
      // Preenche a chave QuantityValue
      NodeList modelURL = elemXML.getElementsByTagName("ns0:QuantityValue");
      Element urlElement = (Element) modelURL.item(0);
      modelURL = urlElement.getChildNodes();
      result += PI_Mapping_IF.VerifyNull(((Node) modelURL.item(0)).getNodeValue())+";";
      } catch (Exception e) {
      result += "0.0;";
      // Marca o final do registro
      result += "||";
      // Preenche os nós itens
      Text srcxml = xml_out.createTextNode(result);
      STRING.appendChild(srcxml);
      result = "";
      buyer = "";
      }catch(Exception e){
      // Remove o standalone
      xml_out.setXmlStandalone(true);
      // Preenche o Cenario
      Text cenario = xml_out.createTextNode("P&G");
      i_cenario.appendChild(cenario);
      // Preenche mensagem de retorno
      Text msgxml = xml_out.createTextNode("XML lido com sucesso!");
      message.appendChild(msgxml);
      // Escreve a saida do XML            
      transformer.transform(new DOMSource(xml_out), new StreamResult(out));
      getTrace().addInfo("Fim da execução do Java Mapping");
      } catch (ParserConfigurationException e) {
      getTrace().addWarning(e.getMessage());
      throw new StreamTransformationException("Can not create DocumentBuilder.", e);
      } catch (SAXException e) {
      e.printStackTrace();
      } catch (IOException e) {
      e.printStackTrace();
      } catch (TransformerConfigurationException e) {
      e.printStackTrace();
      } catch (TransformerException e) {
      e.printStackTrace();
    Am i doing anything wrong in the code? Where can this nullpointerexception be triggered?
    Thanks.

    These three xml are the same:
    <?xml version="1.0"?><a:xml xmlns:a="urn:123">root</a:xml>
    <?xml version="1.0"?><xml xmlns="urn:123">root</xml>
    <?xml version="1.0"?><ns0:xml xmlns:ns0="urn:123">root</ns0:xml>
    But your code will work only with last one, because it doesn't bound namespace to prefix ns0.

  • Error in deployment:java.lang.NullPointerException:sdu name can not be null

    HI Everyone!
        I try to deploy my web dynpro project to SAP J2EE engine. Configuration about SAP J2EE Engine is OK, but there is an error during the deployment. Here is the deployment trace:
    2007-6-28 14:56:27 /userOut/daView_category (com.sap.ide.eclipse.deployer.DVBaseLog) [Thread[Deploy Thread,6,main]] INFO: deployment trace
    14:56:24.207 [info  #300]  [#4]: Trying to connect to 'secude-vmcn0001:50004' as 'administrator'
    14:56:24.207 [debug #100]  [#4]: Session::getContext.[ B E G I N ].timerId=16
    14:56:25.161 [debug #100]  [#4]: Session::getContext.[ E N D ].timerId=[id:#16, elapsed: 954 ms.]
    14:56:25.161 [info  #300]  [#4]: Connected to 'secude-vmcn0001:50004' as 'administrator'
    14:56:25.161 [debug #100]  [#4]: DeployProcessor::ctor:New deploy processor created.deployerId=4
    14:56:25.161 [info  #300]  [#4]: +++++ Starting  D E P L O Y action +++++
    14:56:25.161 [info  #300]  [#4]: Selected archives for deployment
    14:56:25.161 [info  #300]  [#4]: D:\NetWeaverWorkspace\Workspace\Dashboard\Dashboard.ear
    14:56:25.536 [debug #100]  [#4]: DeployProcessor::deploy:going to generate Session id, deployerId=4
    14:56:25.755 [debug #100]  [#4]: DeployProcessor::deploy:got Session id='14',time:[id:#17, elapsed: 594 ms.], deployerId=4
    14:56:25.974 [info  #300]  [#4]: Upload archives to the server.Remote upload path is 'C:\SAP\JP1\JC00\j2ee\cluster\server0\temp\tcbldeploy_controller\archives\14'
    14:56:25.974 [debug #300]  [#4]: DeployProcessor::uploadItemsToServer:Going to upload 'D:\NetWeaverWorkspace\Workspace\Dashboard\Dashboard.ear' on the server.deployerId=4
    14:56:26.427 [info  #300]  [#4]: File 'D:\NetWeaverWorkspace\Workspace\Dashboard\Dashboard.ear' uploaded successfully as 'C:/SAP/JP1/JC00/j2ee/cluster/server0/temp/tcbldeploy_controller/archives/14/Dashboard.ear'. Time:[id:#18, elapsed: 453 ms.]
    14:56:26.427 [info  #300]  [#4]: Archives uploaded.time:[#18: 0.453 sec]
    14:56:26.427 [debug #100]  [#4]: DeployProcessor::deployItems:enter.timerId=19, deployerId=4
    14:56:26.427 [debug #100]  [#4]: DeployProcessor::internalCreateAndInitDeployer:get deployer from server, deployerId=4
    14:56:26.427 [debug #100]  [#4]: DeployProcessor::internalCreateAndInitDeployer:deployer get successfully:[id:#20, elapsed: 0 ms.], deployerId=4
    14:56:26.630 [info  #300]  [#4]: component version handling rule is UpdateAllVersions
    14:56:26.849 [info  #300]  [#4]: Error strategies:
    14:56:26.849 [debug #100]  [#4]: DeployProcessor::internalCreateAndInitDeployer:deployer initialized sucessfully:[id:#20, elapsed: 422 ms.], deployerId=4
    14:56:26.849 [debug #100]  [#4]: DeployProcessor::internalCreateAndInitDeployer:total time:[#20: 0.422 sec], deployerId=4
    14:56:26.849 [info  #300]  [#4]: Starting deployment
    14:56:27.177 [debug #100]  [#4]: DeployProcessor::internalMapSdus:sduMapperVisitor.setCompositeDeploymentItem(null),remoteSdu=name: 'null', vendor: 'null', location: 'LOKAL', version: '0.2007.06.28.14.28.59', software type: 'J2EE', dependencies: '[]'
    14:56:27.177 [debug #300]  [#4]: DeployProcessor::deployItems:finally.Total Time:[#19: 0.75 sec], deployerId=4
    14:56:27.177 [info  #300]  [#4]: +++++ End  D E P L O Y action +++++
    And here is the exception detail:
    2007-6-28 14:56:27 /userOut/daView_category (com.sap.ide.eclipse.deployer.DVBaseLog) [Thread[Deploy Thread,6,main]] ERROR: java.lang.NullPointerException: sdu name can not be null.
         at com.sap.engine.services.dc.api.model.impl.SduImpl.<init>(SduImpl.java:39)
         at com.sap.engine.services.dc.api.model.impl.SdaImpl.<init>(SdaImpl.java:51)
         at com.sap.engine.services.dc.api.model.impl.ModelFactoryImpl.createSda(ModelFactoryImpl.java:43)
         at com.sap.engine.services.dc.api.model.SduMapperVisitor.createSda(SduMapperVisitor.java:52)
         at com.sap.engine.services.dc.api.model.SduMapperVisitor.visit(SduMapperVisitor.java:64)
         at com.sap.engine.services.dc.repo.impl.SdaImpl.accept(SdaImpl.java:136)
         at com.sap.engine.services.dc.api.deploy.impl.DeployProcessorImpl.internalMapSdus(DeployProcessorImpl.java:704)
         at com.sap.engine.services.dc.api.deploy.impl.DeployProcessorImpl.deployItems(DeployProcessorImpl.java:487)
         at com.sap.engine.services.dc.api.deploy.impl.DeployProcessorImpl.deploy(DeployProcessorImpl.java:155)
         at com.sap.ide.eclipse.deployer.dc.deploy.DeployProcessor70.deploy(DeployProcessor70.java:185)
         at com.sap.ide.eclipse.sdm.threading.DCDeployThread.run(DCDeployThread.java:115)
    It seems that there is something wrong about 'SDU', but i don't know what is it, and i can not find the answer both in sdn.sap.com and here.
    Anyone can help me on this?
    Thanks in Advance,
    MK

    Hi Sumit,
        Thank you for your concern.
    Below is a trace file on my server:
    C:\SAP\JP1\JC00\j2ee\cluster\server0\log\defaultTrace.0.trc
    #1.5 #000C296B3F6A000D0000000200000A3000EF90978C2E8C29#1183013784131#/System/Server/Deployment##com.sap.engine.services.tcxblxdeploy_controller#Administrator#4#####Thread[RMI/IIOP Worker [3],5,Dedicated_Application_Thread]##0#0#Info#1#com.sap.engine.services.tcxblxdeploy_controller#Plain###The session id 14 is associated with correlator id 67431500000169001. Use this correlator id to filter the trace and log messages.#
    #1.5 #000C296B3F6A000D0000000300000A3000EF90978C2E8C29#1183013784131#/System/Server/Deployment##com.sap.engine.services.tcxblxdeploy_controller#Administrator#4#####Thread[RMI/IIOP Worker [3],5,Dedicated_Application_Thread]##0#0#Info#1#com.sap.engine.services.tcxblxdeploy_controller#Plain###++++++++++++++ Starting deployment ++++++++++++++#
    #1.5 #000C296B3F6A000D0000000400000A3000EF90978C2E8C29#1183013784131#/System/Server/Deployment##com.sap.engine.services.tcxblxdeploy_controller#Administrator#4#####Thread[RMI/IIOP Worker [3],5,Dedicated_Application_Thread]##0#0#Info#1#com.sap.engine.services.tcxblxdeploy_controller#Plain###Archives specified for deployment are: #
    #1.5 #000C296B3F6A000D0000000500000A3000EF90978C2E8C29#1183013784131#/System/Server/Deployment##com.sap.engine.services.tcxblxdeploy_controller#Administrator#4#####Thread[RMI/IIOP Worker [3],5,Dedicated_Application_Thread]##0#0#Info#1#com.sap.engine.services.tcxblxdeploy_controller#Plain###C:/SAP/JP1/JC00/j2ee/cluster/server0/temp/tcbldeploy_controller/archives/14/Dashboard.ear#
    #1.5 #000C296B3F6A000D0000000600000A3000EF90978C2E8C29#1183013784131#/System/Server/Deployment##com.sap.engine.services.tcxblxdeploy_controller#Administrator#4#####Thread[RMI/IIOP Worker [3],5,Dedicated_Application_Thread]##0#0#Info#1#com.sap.engine.services.tcxblxdeploy_controller#Plain###Start loading archives ...#
    #1.5 #000C296B3F6A000D0000000700000A3000EF90978C2E8C29#1183013784147#/System/Server/Deployment##com.sap.engine.services.tcxblxdeploy_controller#Administrator#4#####Thread[RMI/IIOP Worker [3],5,Dedicated_Application_Thread]##0#0#Info#1#com.sap.engine.services.tcxblxdeploy_controller#Plain###Archives are loaded.#
    #1.5 #000C296B3F6A000D0000000800000A3000EF90978C2E8C29#1183013784147#/System/Server/Deployment##com.sap.engine.services.tcxblxdeploy_controller#Administrator#4#####Thread[RMI/IIOP Worker [3],5,Dedicated_Application_Thread]##0#0#Info#1#com.sap.engine.services.tcxblxdeploy_controller#Plain###Error Handling Action: 'UndeploymentAction', Error Handling Strategy: 'OnErrorStop'.
    Error Handling Action: 'DeploymentAction', Error Handling Strategy: 'OnErrorStop'.
    Error Handling Action: 'PrerequisitesCheckAction', Error Handling Strategy: 'OnErrorStop'.
    Version Handling Rule: 'UpdateAllVersions'.
    Deployment Strategy: 'normal deploy strategy'.
    Life Cycle Deployment Strategy: 'bulk deploy strategy'.
    There are no batch filters specified.#
    #1.5 #000C296B3F6A000D0000000900000A3000EF90978C2E8C29#1183013784194#/System/Server/Deployment##com.sap.engine.services.tcxblxdeploy_controller#Administrator#4#####Thread[RMI/IIOP Worker [3],5,Dedicated_Application_Thread]##0#0#Info#1#com.sap.engine.services.tcxblxdeploy_controller#Plain###The batch for session id 14 will be executed with normal parallelism strategy.#
    #1.5 #000C296B3F6A000D0000000A00000A3000EF90978C2E8C29#1183013784272#/System/Server/Services/Deploy##com.sap.engine.services.deploy#Administrator#4#####Thread[RMI/IIOP Worker [3],5,Dedicated_Application_Thread]##0#0#Warning#1#com.sap.engine.services.deploy#Plain###A component loader with name sap.com/tcwddispwda doesn't exist, because is stopped or not deployed.#
    #1.5 #000C296B3F6A000D0000000B00000A3000EF90978C2E8C29#1183013784272#/System/Server/Services/Deploy##com.sap.engine.services.deploy#Administrator#4#####Thread[RMI/IIOP Worker [3],5,Dedicated_Application_Thread]##0#0#Warning#1#com.sap.engine.services.deploy#Plain###A component loader with name library:tcddicddicruntime doesn't exist, because is stopped or not deployed.#
    #1.5 #000C296B3F6A000D0000000C00000A3000EF90978C2E8C29#1183013784272#/System/Server/Services/Deploy##com.sap.engine.services.deploy#Administrator#4#####Thread[RMI/IIOP Worker [3],5,Dedicated_Application_Thread]##0#0#Warning#1#com.sap.engine.services.deploy#Plain###A component loader with name library:com.sap.aii.util.rb doesn't exist, because is stopped or not deployed.#
    #1.5 #000C296B3F6A000D0000000D00000A3000EF90978C2E8C29#1183013784272#/System/Server/Services/Deploy##com.sap.engine.services.deploy#Administrator#4#####Thread[RMI/IIOP Worker [3],5,Dedicated_Application_Thread]##0#0#Warning#1#com.sap.engine.services.deploy#Plain###A component loader with name library:com.sap.aii.util.xml doesn't exist, because is stopped or not deployed.#
    #1.5 #000C296B3F6A000D0000000E00000A3000EF90978C2E8C29#1183013784272#/System/Server/Services/Deploy##com.sap.engine.services.deploy#Administrator#4#####Thread[RMI/IIOP Worker [3],5,Dedicated_Application_Thread]##0#0#Warning#1#com.sap.engine.services.deploy#Plain###A component loader with name library:com.sap.aii.proxy.framework doesn't exist, because is stopped or not deployed.#
    #1.5 #000C296B3F6A000D0000000F00000A3000EF90978C2E8C29#1183013784272#/System/Server/Services/Deploy##com.sap.engine.services.deploy#Administrator#4#####Thread[RMI/IIOP Worker [3],5,Dedicated_Application_Thread]##0#0#Warning#1#com.sap.engine.services.deploy#Plain###A component loader with name library:tc~cmi doesn't exist, because is stopped or not deployed.#
    #1.5 #000C296B3F6A000D0000001000000A3000EF90978C2E8C29#1183013784272#/System/Server/Services/Deploy##com.sap.engine.services.deploy#Administrator#4#####Thread[RMI/IIOP Worker [3],5,Dedicated_Application_Thread]##0#0#Warning#1#com.sap.engine.services.deploy#Plain###A component loader with name library:com.sap.aii.util.misc doesn't exist, because is stopped or not deployed.#
    #1.5 #000C296B3F6A000D0000001100000A3000EF90978C2E8C29#1183013784272#/System/Server/Services/Deploy##com.sap.engine.services.deploy#Administrator#4#####Thread[RMI/IIOP Worker [3],5,Dedicated_Application_Thread]##0#0#Warning#1#com.sap.engine.services.deploy#Plain###A component loader with name library:tcddicddicservices doesn't exist, because is stopped or not deployed.#
    #1.5 #000C296B3F6A000D0000001200000A3000EF90978C2E8C29#1183013784272#/System/Server/Services/Deploy##com.sap.engine.services.deploy#Administrator#4#####Thread[RMI/IIOP Worker [3],5,Dedicated_Application_Thread]##0#0#Warning#1#com.sap.engine.services.deploy#Plain###A component loader with name library:tcgraphicsigs doesn't exist, because is stopped or not deployed.#
    #1.5 #000C296B3F6A000D0000001300000A3000EF90978C2E8C29#1183013784366#/System/Server/Services/Deploy##com.sap.engine.services.deploy#Administrator#4#####Thread[RMI/IIOP Worker [3],5,Dedicated_Application_Thread]##0#0#Warning#1#com.sap.engine.services.deploy#Plain###JLinEE validation of application local/Dashboard returned result
    WARNINGS:
    References Test: Count of deploy time references (described in META-INF/SAP_MANIFEST.MF) and runtime references (described in META-INF/application-j2ee-engine.xml) does not match., file: Dashboard.ear, column 0, line 0, severity: warning
    References Test: There are no matching deploy time references (described in META-INF/SAP_MANIFEST.MF) for the following runtime references [sap.com/tcwddispwda, sap.com/com.sap.mw.jco, sap.com/tcddicddicruntime, sap.com/com.sap.aii.util.rb, sap.com/com.sap.aii.util.xml, sap.com/webservices_lib, sap.com/com.sap.aii.proxy.framework, sap.com/sapxmltoolkit, sap.com/tccmi, sap.com/com.sap.security.api.sda, sap.com/com.sap.util.monitor.jarm, sap.com/com.sap.aii.util.misc, sap.com/tcddicddicservices, sap.com/com.sap.lcr.api.cimclient, sap.com/tcgraphics~igs, sap.com/sld] (described in the META-INF/application-j2ee-engine.xml)., file: Dashboard.ear, column 0, line 0, severity: warning
    #1.5 #000C296B3F6A000D0000001400000A3000EF90978C2E8C29#1183013784366#/System/Server/Services/Deploy##com.sap.engine.services.deploy#Administrator#4#####Thread[RMI/IIOP Worker [3],5,Dedicated_Application_Thread]##0#0#Error#1#com.sap.engine.services.deploy#Plain#Exception while validating application local/Dashboard.
    No one of the [] containers, which processed it, returned deployed component names.
    The registered containers in this moment were [com.sap.security.ume, app_libraries_container, Cache Configuration Upload, servlet_jsp, dbcontentcontainer, connector, Cluster File System, JMSConnector, appclient, dbschemacontainer, orpersistence, JDBCConnector, EJBContainer, webservices_container, scheduler~container].
    Possible reasons :
         1.An AS Java service, which is providing a container, is stopped or not deployed.
         2.The containers, which processed it, are not implemented correct. They deployed or started initially the application, but didn't return deployed components in the application deployment info.###
    #1.5 #000C296B3F6A000D0000001700000A3000EF90978C2E8C29#1183013784366#/System/Server/Services/Deploy##com.sap.engine.services.deploy#Administrator#4#####Thread[RMI/IIOP Worker [3],5,Dedicated_Application_Thread]##0#0#Error#1#com.sap.engine.services.deploy#Plain#Exception in operation deploy with application local/Dashboard.###
    #1.5 #000C296B3F6A000D0000001B00000A3000EF90978C2E8C29#1183013784397#/System/Server##java.lang.Package#Administrator#4#####Thread[RMI/IIOP Worker [3],5,Dedicated_Application_Thread]##0#0#Error#1#java.lang.Package#Java#error.action.filter#com/sap/engine/services/mngt_model/localization.properties#Exception thrown by Action Filter: com.sap.engine.services.mngt_model.spi.ActionFilteringException: com.sap.engine.services.deploy.server.utils.DSRemoteException: Application local/Dashboard is not deployed..Action will not be delivered to domain: connector. Action is: APPLICATION_DEPLOYED#3#com.sap.engine.services.mngt_model.plugins.ApplicationActionFilter@d46ed0#connector#APPLICATION_DEPLOYED#
    #1.5 #000C296B3F6A000D0000001D00000A3000EF90978C2E8C29#1183013784397#/System/Server##java.lang.Package#Administrator#4#####Thread[RMI/IIOP Worker [3],5,Dedicated_Application_Thread]##0#0#Error#1#java.lang.Package#Java#error.action.filter#com/sap/engine/services/mngt_model/localization.properties#Exception thrown by Action Filter: com.sap.engine.services.mngt_model.spi.ActionFilteringException: com.sap.engine.services.deploy.server.utils.DSRemoteException: Application local/Dashboard is not deployed..Action will not be delivered to domain: servlet_jsp. Action is: APPLICATION_DEPLOYED#3#com.sap.engine.services.mngt_model.plugins.ApplicationActionFilter@d46ed0#servlet_jsp#APPLICATION_DEPLOYED#
    #1.5 #000C296B3F6A000D0000001F00000A3000EF90978C2E8C29#1183013784397#/System/Server##java.lang.Package#Administrator#4#####Thread[RMI/IIOP Worker [3],5,Dedicated_Application_Thread]##0#0#Error#1#java.lang.Package#Java#error.action.filter#com/sap/engine/services/mngt_model/localization.properties#Exception thrown by Action Filter: com.sap.engine.services.mngt_model.spi.ActionFilteringException: com.sap.engine.services.deploy.server.utils.DSRemoteException: Application local/Dashboard is not deployed..Action will not be delivered to domain: appclient. Action is: APPLICATION_DEPLOYED#3#com.sap.engine.services.mngt_model.plugins.ApplicationActionFilter@d46ed0#appclient#APPLICATION_DEPLOYED#
    #1.5 #000C296B3F6A000D0000002100000A3000EF90978C2E8C29#1183013784397#/System/Server##java.lang.Package#Administrator#4#####Thread[RMI/IIOP Worker [3],5,Dedicated_Application_Thread]##0#0#Error#1#java.lang.Package#Java#error.action.filter#com/sap/engine/services/mngt_model/localization.properties#Exception thrown by Action Filter: com.sap.engine.services.mngt_model.spi.ActionFilteringException: com.sap.engine.services.deploy.server.utils.DSRemoteException: Application local/Dashboard is not deployed..Action will not be delivered to domain: dbpool. Action is: APPLICATION_DEPLOYED#3#com.sap.engine.services.mngt_model.plugins.ApplicationActionFilter@d46ed0#dbpool#APPLICATION_DEPLOYED#
    #1.5 #000C296B3F6A000D0000002300000A3000EF90978C2E8C29#1183013784397#/System/Server##java.lang.Package#Administrator#4#####Thread[RMI/IIOP Worker [3],5,Dedicated_Application_Thread]##0#0#Error#1#java.lang.Package#Java#error.action.filter#com/sap/engine/services/mngt_model/localization.properties#Exception thrown by Action Filter: com.sap.engine.services.mngt_model.spi.ActionFilteringException: com.sap.engine.services.deploy.server.utils.DSRemoteException: Application local/Dashboard is not deployed..Action will not be delivered to domain: jmsconnector. Action is: APPLICATION_DEPLOYED#3#com.sap.engine.services.mngt_model.plugins.ApplicationActionFilter@d46ed0#jmsconnector#APPLICATION_DEPLOYED#
    #1.5 #000C296B3F6A000D0000002500000A3000EF90978C2E8C29#1183013784397#/System/Server/Services/Deploy##com.sap.engine.services.deploy#Administrator#4#####Thread[RMI/IIOP Worker [3],5,Dedicated_Application_Thread]##0#0#Error#1#com.sap.engine.services.deploy#Plain#Exception while validating application local/Dashboard.
    No one of the [] containers, which processed it, returned deployed component names.
    The registered containers in this moment were [com.sap.security.ume, app_libraries_container, Cache Configuration Upload, servlet_jsp, dbcontentcontainer, connector, Cluster File System, JMSConnector, appclient, dbschemacontainer, orpersistence, JDBCConnector, EJBContainer, webservices_container, scheduler~container].
    Possible reasons :
         1.An AS Java service, which is providing a container, is stopped or not deployed.
         2.The containers, which processed it, are not implemented correct. They deployed or started initially the application, but didn't return deployed components in the application deployment info.###
    #1.5 #000C296B3F6A000D0000002800000A3000EF90978C2E8C29#1183013784397#/System/Server/Deployment##com.sap.engine.services.tcxblxdeploy_controller#Administrator#4#####Thread[RMI/IIOP Worker [3],5,Dedicated_Application_Thread]##0#0#Error#1#com.sap.engine.services.tcxblxdeploy_controller#Plain#An error occurred while deploying the deployment item 'local_Dashboard'.###
    #1.5 #000C296B3F6A000D0000002B00000A3000EF90978C2E8C29#1183013784428#/System/Server/Deployment##com.sap.engine.services.tcxblxdeploy_controller#Administrator#4#####Thread[RMI/IIOP Worker [3],5,Dedicated_Application_Thread]##0#0#Info#1#com.sap.engine.services.tcxblxdeploy_controller#Plain###Unlocking the Deploy.#
    #1.5 #000C296B3F6A000D0000002C00000A3000EF90978C2E8C29#1183013784428#/System/Server/Deployment##com.sap.engine.services.tcxblxdeploy_controller#Administrator#4#####Thread[RMI/IIOP Worker [3],5,Dedicated_Application_Thread]##0#0#Error#1#com.sap.engine.services.tcxblxdeploy_controller#Plain#An error occurred while deploying the deployment item 'local_Dashboard'.; nested exception is:
         java.rmi.RemoteException:  class com.sap.engine.services.dc.gd.DeliveryException: An error occurred during deployment of sdu id: local_Dashboard
    sdu file path: C:\SAP\JP1\JC00\j2ee\cluster\server0\temp\tcbldeploy_controller\archives\14\Dashboard.ear
    version status: NEW
    deployment status: Admitted
    description:
              1. Error:
    Error occurred while deploying ear file C:\SAP\JP1\JC00\j2ee\cluster\server0\temp\tcbldeploy_controller\archives\14\Dashboard.ear.
    Reason: Exception while validating application local/Dashboard.
    No one of the [] containers, which processed it, returned deployed component names.
    The registered containers in this moment were [com.sap.security.ume, app_libraries_container, Cache Configuration Upload, servlet_jsp, dbcontentcontainer, connector, Cluster File System, JMSConnector, appclient, dbschemacontainer, orpersistence, JDBCConnector, EJBContainer, webservices_container, scheduler~container].
    Possible reasons :
         1.An AS Java service, which is providing a container, is stopped or not deployed.
         2.The containers, which processed it, are not implemented correct. They deployed or started initially the application, but didn't return deployed components in the application deployment info.
    . Cannot deploy it.; nested exception is:
         java.rmi.RemoteException:  class com.sap.engine.services.deploy.server.utils.DSRemoteException: Error occurred while deploying ear file C:\SAP\JP1\JC00\j2ee\cluster\server0\temp\tcbldeploy_controller\archives\14\Dashboard.ear.
    Reason: Exception while validating application local/Dashboard.
    No one of the [] containers, which processed it, returned deployed component names.
    The registered containers in this moment were [com.sap.security.ume, app_libraries_container, Cache Configuration Upload, servlet_jsp, dbcontentcontainer, connector, Cluster File System, JMSConnector, appclient, dbschemacontainer, orpersistence, JDBCConnector, EJBContainer, webservices_container, scheduler~container].
    Possible reasons :
         1.An AS Java service, which is providing a container, is stopped or not deployed.
         2.The containers, which processed it, are not implemented correct. They deployed or started initially the application, but didn't return deployed components in the application deployment info.###
    #1.5 #000C296B3F6A000D0000002F00000A3000EF90978C2E8C29#1183013784428#/System/Server/Deployment##com.sap.engine.services.tcxblxdeploy_controller#Administrator#4#####Thread[RMI/IIOP Worker [3],5,Dedicated_Application_Thread]##0#0#Info#1#com.sap.engine.services.tcxblxdeploy_controller#Plain###Deployment has finished#
    Thanks,
    MK

  • Getting java.lang.NullpointerException while closing resultset aft using it

    Hi,
    I kindly request to share your ideas reg. my problem.
    I am opening a database connection using connection pool and i am using two or more resultsets and statement objects.I am closing these objects at the end of their usage.But i am getting java.lang.NullpointerException when i close them(if i don't close them it works fine). what might be the reason. Had i did any thing wrong in the code.
    please view the code
    public String storeNewConnection(String CIRCLE,String DIVISION,String SUB_DIVISION,String SECTION,String CONSUMER_NAME,String FATHER_NAME,String STREET_NAME,String DOOR_NO,String TOWN_CITY,String LAND_MARK,String PINCODE,String STDCODE,String PHONE_NO,String EMAIL,String NEIGHBOUR_SCNO,String DOCUMENT_CODE,String LT_APR_NO,String year1,String month1,String day1,String PCBNO,String CONSUMER_STATUS,String SOCIAL_GROUP,String CATEGORY_SUPPLY,String LOCATION_PREMISES,String PURPOSE_OF_SUPPLY,String DURATION,String LOAD_TYPE,String CONNECTED_LOAD,String CONTRACTED_LOAD,String APPLICATION_FEE,String DEVELOPMENT_CHARGES,String SECURITY_DEPOSIT,String ADDL_SECURITY_DESPOSIT,String DEPOSITED_THRU,String DD_CHEQUE_DETAILS,String year2,String month2,String day2,String REMARKS,String POLE_NO)
              int count=0;
              Statement st=null;
              ResultSet rs=null,rs1=null,rs2=null,rs3=null;
              PreparedStatement pst=null;
              String result="",query="",sysDate="",sysDate2="";
              String reg_no = "";
              try
                   st=con.createStatement();
                   //Check dates with sys date
                   String date1 =null;                    
                   String date2 =null;
                   if(! (year1.equals("") || month1.equals("") || day1.equals("")) )
                        date1=day1+"-"+month1+"-"+year1;
                        rs2=st.executeQuery("select round(to_date('"+date1+"','dd-Mon-yyyy')-to_date(sysdate,'dd-Mon-yy')) from dual");
                        rs2.next();
                        if(rs2.getInt(1) != 0)
                             return "false";                              
                   if(! (year2.equals("") || month2.equals("") || day2.equals("")) )
                        date2=day2+"-"+month2+"-"+year2;
                        rs3=st.executeQuery("select round(to_date('"+date2+"','dd-Mon-yyyy')-to_date(sysdate,'dd-Mon-yy')) from dual");
                        rs3.next();
                        if(rs3.getInt(1) != 0)
                             return "false";     
                   rs1=st.executeQuery("select to_char(sysdate,'yyyyMONdd'),to_char(sysdate,'dd-Mon-yyyy') from dual");
                   rs1.next();
                   sysDate=rs1.getString(1);
                   sysDate2=rs1.getString(2);
                   rs=st.executeQuery("select max(SERIAL_NO) from NEW_CONNECTIONS where to_char(sysdate,'yyyy') = to_char(REG_DATE,'yyyy') and to_char(sysdate,'mm') = to_char(REG_DATE,'mm') and SUB_DIVISION_CODE = "+SUB_DIVISION+" and DIVISION_CODE = "+DIVISION+" and CIRCLE_CODE = "+CIRCLE+" ");
                   if(rs.next())
                        count = rs.getInt(1);
                        count++;                              
                   else
                        count=1;
                   query="insert into NEW_CONNECTIONS ( "+
                        " REG_NO,SERIAL_NO,REG_DATE,CIRCLE_CODE,DIVISION_CODE,SUB_DIVISION_CODE,SECTION_CODE, "+
                        " CONSUMER_NAME,FATHER_NAME,STREET_NAME,DOOR_NO,TOWN_CITY,LAND_MARK,PINCODE, "+
                        " STDCODE,PHONE_NO,EMAIL,NEIGHBOUR_SCNO,DOCUMENT_CODE,LT_APR_NO,LT_APR_DATE, "+
                        " PCBNO,CONSUMER_STATUS,SOCIAL_GROUP,CATEGORY_SUPPLY,LOCATION_PREMISES,PURPOSE_OF_SUPPLY,"+
                        " DURATION,LOAD_TYPE,CONNECTED_LOAD,CONTRACTED_LOAD,APPLICATION_FEE,DEVELOPMENT_CHARGES, "+
                        " SECURITY_DEPOSIT,ADDL_SECURITY_DEPOSIT,DEPOSITED_THRU,DD_CHEQUE_DETAILS,DD_CHEQUE_DATE,REMARKS,APPLICATION_STATUS,POLE_NO) "+
                        " values(?,?,'"+sysDate2+"',?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)";
                   pst = con.prepareStatement(query);
                   String cnt ="";
                   if(count <= 9)
                        cnt="0000";
                   else if(count <= 99)
                        cnt="000";
                   else if(count <= 999)
                        cnt="00";
                   else if(count <= 9999)
                        cnt="0";
                   cnt+=Integer.toString(count);
                   reg_no = CIRCLE+DIVISION+SUB_DIVISION+SECTION+"N"+cnt+sysDate;               
                   int serial_no =count;
                   int pin = 0;
                   if(!PINCODE.equals(""))
                        pin =Integer.parseInt(PINCODE);
                   int std = 0;
                   if(!STDCODE.equals(""))
                        std = Integer.parseInt(STDCODE);
                   int status = Integer.parseInt(CONSUMER_STATUS);
                   int social_group = Integer.parseInt(SOCIAL_GROUP);
                   int supply = Integer.parseInt(CATEGORY_SUPPLY);
                   int location = Integer.parseInt(LOCATION_PREMISES);
                   int purpose = Integer.parseInt(PURPOSE_OF_SUPPLY);
                   int duration = Integer.parseInt(DURATION);
                   int laod_type = Integer.parseInt(LOAD_TYPE);
                   float conn_load = Float.parseFloat(CONNECTED_LOAD);
                   int cont_load = 0;
                   if(!CONTRACTED_LOAD.equals(""))
                        cont_load =Integer.parseInt(CONTRACTED_LOAD);
                   int app_fee = Integer.parseInt(APPLICATION_FEE);
                   int dev_chg = Integer.parseInt(DEVELOPMENT_CHARGES);
                   int sec_dep = Integer.parseInt(SECURITY_DEPOSIT);
                   int addl_sec_dep = 0;     
                   if(!ADDL_SECURITY_DESPOSIT.equals(""))
                        addl_sec_dep =Integer.parseInt(ADDL_SECURITY_DESPOSIT);
                   int dep_thru = Integer.parseInt(DEPOSITED_THRU);          
                   pst.setString(1,reg_no);
                   pst.setInt(2,serial_no);
                   pst.setString(3,CIRCLE);
                   pst.setString(4,DIVISION);
                   pst.setString(5,SUB_DIVISION);
                   pst.setString(6,SECTION);
                   pst.setString(7,CONSUMER_NAME);
                   pst.setString(8,FATHER_NAME);
                   pst.setString(9,STREET_NAME);
                   pst.setString(10,DOOR_NO);
                   pst.setString(11,TOWN_CITY);
                   pst.setString(12,LAND_MARK);
                   pst.setInt(13,pin);
                   pst.setInt(14,std);
                   pst.setString(15,PHONE_NO);
                   pst.setString(16,EMAIL);
                   pst.setString(17,NEIGHBOUR_SCNO);
                   pst.setString(18,DOCUMENT_CODE);
                   pst.setString(19,LT_APR_NO);
                   pst.setString(20,date1);
                   pst.setString(21,PCBNO);
                   pst.setInt(22,status);
                   pst.setInt(23,social_group);
                   pst.setInt(24,supply );
                   pst.setInt(25,location);
                   pst.setInt(26,purpose);
                   pst.setInt(27,duration);
                   pst.setInt(28,laod_type);
                   pst.setFloat(29,conn_load );
                   pst.setInt(30,cont_load);
                   pst.setInt(31,app_fee);
                   pst.setInt(32,dev_chg);
                   pst.setInt(33,sec_dep);
                   pst.setInt(34,addl_sec_dep);
                   pst.setInt(35,dep_thru );
                   pst.setString(36,DD_CHEQUE_DETAILS);
                   pst.setString(37,date2);
                   pst.setString(38,REMARKS);
                   pst.setInt(39,1);
                   pst.setString(40,POLE_NO);
                   pst.executeUpdate();
                   result=reg_no;                                   
                   rs.close();
                   rs=null;
                   rs1.close();
                   rs1=null;
                   rs2.close();
                   rs2=null;
                   rs3.close();
                   rs3=null;
                   st.close();
                   st=null;
                   pst.close();
                   pst=null;
              catch(Exception e)
                   e.printStackTrace();
                   result="false";
                   return result;
              finally
                   if (rs != null)
                        try
                             rs.close();
                        catch (SQLException e)
                        rs = null;
                   if (rs1 != null)
                        try
                             rs1.close();
                        catch (SQLException e)
                        rs1 = null;
                   if (rs2 != null)
                        try
                             rs2.close();
                        catch (SQLException e)
                        rs2 = null;
                   if (rs3 != null)
                        try
                             rs3.close();
                        catch (SQLException e)
                        rs3 = null;
                   if (st != null)
                        try
                             st.close();
                        catch (SQLException e)
                        st = null;
                   if (pst != null)
                        try
                             pst.close();
                        catch (SQLException e)
                        pst = null;
              return result;
    Also plz help me to improve the code if necessary so that it will work fine for multiple users
    thaks & regards
    Prasanth.C

    Thanks a lot.
    i replaced the code below
    if (rs != null)
                        try
                             rs.close();
                        catch (SQLException e)
                        rs = null;
                   if (rs1 != null)
                        try
                             rs1.close();
                        catch (SQLException e)
                        rs1 = null;
                   if (rs2 != null)
                        try
                             rs2.close();
                        catch (SQLException e)
                        rs2 = null;
                   if (rs3 != null)
                        try
                             rs3.close();
                        catch (SQLException e)
                        rs3 = null;
                   if (st != null)
                        try
                             st.close();
                        catch (SQLException e)
                        st = null;
                   if (pst != null)
                        try
                             pst.close();
                        catch (SQLException e)
                        pst = null;
    instead of blindly closing the resultsets and statements
    now it works fine.
    One more thing, is my code structurally correct, i mean the variables, try...catch blocks,results,statements,database connections and overall coding. whether it looks like professional code.
    thaks & regards,
    Prasanth.C

  • Help with "Exception in thread "Thread-4" java.lang.NullPointerException"

    I am new to Java and I am trying a simple bouncing ball example from Stanford. Here is their simple example that works.
    import acm.program.*;
    import acm.graphics.*;
    import java.awt.*;
    public class BouncingBallWorking extends GraphicsProgram {
    /** sets diameter */
    private static final int DIAM_BALL = 30;
    /** amount y velocity is increased each cycle */
    private static final double GRAVITY = 3;
    /** Animation delay or pause time between ball moves */
    private static final int DELAY = 50;
    /** Initial X and Y location ball*/
    private static final double X_START = DIAM_BALL / 2;
    private static final double Y_START = 100;
    private static final double X_VEL = 3;
    private static final double BOUNCE_REDUCE = 0.9;
    private double xVel = X_VEL;
    private double yVel = 0.0;
    private GOval BallA;
    public void run() {
    setup(X_START,Y_START);
    //         Simulation ends when ball goes off right hand
    //         end of screen
    while (BallA.getX() < getWidth()) {
    moveBall(BallA);
    checkForCollision(BallA);
    pause(DELAY);
    private void setup(double X_coor, double Y_coor) {
    BallA = new GOval(X_coor, Y_coor, DIAM_BALL, DIAM_BALL);
    add(BallA);
    private void moveBall(GOval BallObject) {
    yVel += GRAVITY;
    BallObject.move(xVel,yVel);
    private void checkForCollision(GOval BallObject) {
    if(BallObject.getY() > getHeight() - DIAM_BALL){
    yVel = - yVel * BOUNCE_REDUCE;
    double diff = BallObject.getY() - (getHeight() - DIAM_BALL);
    BallObject.move(0, -2 * diff);
    } Now I am trying to modify "setup" so it I can create several balls. I made a simple modification to "setup" and now I am getting an error.
    "Exception in thread "Thread-4" java.lang.NullPointerException
    at BouncingBallNotWorking.run(BouncingBallNotWorking.java:36)
    at acm.program.Program.runHook(Program.java:1592)
    at acm.program.Program.startRun(Program.java:1581)
    at acm.program.AppletStarter.run(Program.java:1939)
    at java.lang.Thread.run(Unknown Source)"
    Can you describe why I am getting an error? Thanks.
    Here is what I changed.
    Before:
         private void setup(double X_coor, double Y_coor) {
              BallA = new GOval(X_coor, Y_coor, DIAM_BALL, DIAM_BALL);
              add(BallA);
         }After:
         private void setup(double X_coor, double Y_coor, GOval BallObject) {
              BallObject = new GOval(X_coor, Y_coor, DIAM_BALL, DIAM_BALL);
              add(BallObject);
         }Here is the complete code.
    * File:BouncingBall.java
    * This program graphically simulates a bouncing ball
    import acm.program.*;
    import acm.graphics.*;
    import java.awt.*;
    public class BouncingBallNotWorking extends GraphicsProgram {
    /** sets diameter */
    private static final int DIAM_BALL = 30;
    /** amount y velocity is increased each cycle */
    private static final double GRAVITY = 3;
    /** Animation delay or pause time between ball moves */
    private static final int DELAY = 50;
    /** Initial X and Y location ball*/
    private static final double X_START = DIAM_BALL / 2;
    private static final double Y_START = 100;
    private static final double X_VEL = 3;
    private static final double BOUNCE_REDUCE = 0.9;
    private double xVel = X_VEL;
    private double yVel = 0.0;
    private GOval BallA;
    public void run() {
    setup(X_START,Y_START, BallA);
    //         Simulation ends when ball goes off right hand
    //         end of screen
    while (BallA.getX() < getWidth()) {
    moveBall(BallA);
    checkForCollision(BallA);
    pause(DELAY);
    private void setup(double X_coor, double Y_coor, GOval BallObject) {
    BallObject = new GOval(X_coor, Y_coor, DIAM_BALL, DIAM_BALL);
    add(BallObject);
    private void moveBall(GOval BallObject) {
    yVel += GRAVITY;
    BallObject.move(xVel,yVel);
    private void checkForCollision(GOval BallObject) {
    if(BallObject.getY() > getHeight() - DIAM_BALL){
    yVel = - yVel * BOUNCE_REDUCE;
    double diff = BallObject.getY() - (getHeight() - DIAM_BALL);
    BallObject.move(0, -2 * diff);
    } Edited by: TiredRyan on Mar 19, 2010 1:47 AM

    TiredRyan wrote:
    That is great! Thanks. I've got two question though.
    1.) Now I want to have 100 bouncing balls. Is the best way to achieve this is through an array of GOvals? I haven't gotten to the lecture on arrays on Stanford's ITunesU site yet so I am not sure what is possible with what I know now.An array would work, or a List. But it doesn't matter much in this case.
    2.) Are references being passed by value only applicable to Java or is that common to object-oriented programming? Also is there a way to force Java to pass in "BallA" instead of the value "null"?I can't say about all OO languages as a whole, but at least C++ can pass by reference.
    And no, there's no way to pass a reference to the BallA variable, so the method would initialize it and it wouldn't be null anymore.
    When you call the method with your BallA variable, the value of the variable is examined and it's passed to the method. So you can't pass the name of a variable where you'd want to store some object you created in the method.
    But you don't need to either, so there's no harm done.

  • NullPointerException

    I have classes CDRack, Record and TestProgram.
    When I am trying to run TestProgram I have runtime error:
    java.lang.NullPointerException
    at CDRack.insert(Record,int) (CDRack.java:88) (pc 7)
    at Tester63.testAddings (Tester63.java:62) (pc 64)
    What's wrong in the class CDRack, method insert?
    /** Class CDRack represents collections of compact discs. Discs are
    located in the rack in slots numbered from zero upwards. The discs
    are represented by Record objects and empty slots by null values. */
    public class CDRack extends Object {
    /**Creates a new, empty CD rack.
    Parameters:
    size - the size of the new rack, i.e. the number of slots it has */
    public CDRack(int size) {
        collection = new Record[size];
        this.size = size;
    /**Inserts a cd in the given rack slot if the slot in question is empty.
    Parameters:
    disc - the cd to be added in the rack
    slot - the number of a (hopefully empty) slot
    Returns:
    a boolean value indicating if the insertion was successful. */
    public boolean insert(Record disc,
                          int slot) {
      if (collection[slot].equals(null)) {
         collection[slot] = record;
         return true;
      else return false;
    }

    I suspect it is the line that reads
    if (collection[slot].equals(null))
    If the array entry at collection[slot] is null this will indeed cause a NullPointerException. If you are trying to test for a null entry, which is what it looks like you need to do it like this
    if (collection[slot] == null)

  • NullPointerException Error

    Hello, I hope you can help me out with a Java excercise I am working on. I am using "Learn to Program with Java by John Smiley.
    It involves error checking to see if the user clicks cancel without sending a required string or sending an empty string on a JOptionPane
    prompt.
    If you look at the code you will see what I mean. On my machine
    it compiles fine. But when I run it, instead of returning a string with
    message "You clicked on CANCEL button" or you sent an empty screen the program bombs
    Specifically when click Cancel I get
    NullPointerException error.
    When I click OK on an empty string the program bombs black screen without any error messages.
    Here is the code:
    import javax.swing.JOptionPane;
    class Excercise6_1
              static double adjustment=0;
              static double balance =0;
              static double newBalance=0;
         public static void main(String args[])
              String response;
              String moreBankingBusiness;
              moreBankingBusiness=JOptionPane.showInputDialog
              ("Do you want to do some banking?");
              moreBankingBusiness=moreBankingBusiness.toUpperCase();
              while(moreBankingBusiness.equals("YES"))
                   response=JOptionPane.showInputDialog
                   ("***Select Banking Options***\n\n"+
                   "1 for deposit" + "\n"+"2 for withdrawal"+
                   "\n" +"3 for balance query");
              response=JOptionPane.showInputDialog
              ("Enter subject number,(English:1,Maths:2,Science:3");
              if(response==null)
                   JOptionPane.showMessageDialog
                   (null,"You clicked CANCEL");
                   System.exit(0);
              else if(response.equals(""))
                   JOptionPane.showMessageDialog
                   (null,"You sent and empty string");
                   System.exit(0);
              }// end of while
         } // end of main
    }// end of class
    The curious thing is that the program actually worked initially which lead me to think it had to do with SDK getting corrupt.
    I have reinstalled JDK and the IDE JCreator several times and still get
    the same problem.
    Would you be kind enough to provide some insight into the problem.?
    I thank you in advance for your support and co-operation.
    Regards
    SS

    The solution is already given but why it doesn't happen when pressed ok is because at that condition it returns an empty string i.e("") whereas if you press cancel it returns a null value.Try replacing the code below and you can understand everything.
    try
    moreBankingBusiness=JOptionPane.showInputDialog
    ("Do you want to do some banking?");
    if(moreBankingBusiness.equals(""))
    System.out.println("empty String");
    System.exit(0);
    moreBankingBusiness=moreBankingBusiness.toUpperCase();
    catch(NullPointerException e)
    System.out.println("we caught it");
    System.exit(0);
    }

Maybe you are looking for