Hi,

 

Can anybody tell me why I get a null pointer with the following?

 

ResponseBatch XSD

 

<?xml version="1.0" encoding="UTF-8"?>

<xs:schema

    targetNamespace="http://infor.com/FactsResponseBatch"

    elementFormDefault="qualified"

    xmlns:cd="http://infor.com/FactsCodeData"

    xmlns:xs="http://www.w3.org/2001/XMLSchema">

 

    <xs:import namespace="http://infor.com/FactsItemBalance"

            schemaLocation="ItemBalance.xsd"/>

    <xs:import namespace="http://infor.com/FactsCodeData"

            schemaLocation="CodeData.xsd"/>

 

    <xs:element name="ResponseBatch">

        <xs:complexType>

                  <xs:sequence>

                  <xs:element name="Response" type="cd:Response" maxOccurs="unbounded"/>

 

                  </xs:sequence>

                  <xs:attribute name="ConsumerKey" type="xs:string"/>

                  <xs:attribute name="Language" type="xs:string"/>

                  <xs:attribute name="DateTime" type="xs:string"/>

                  <xs:attribute name="SerialID" type="xs:string"/>

        </xs:complexType>

    </xs:element>

</xs:schema>

 

CodeData XSD

 

<?xml version="1.0" encoding="UTF-8"?>

<xs:schema

    targetNamespace="http://infor.com/FactsCodeData"

    elementFormDefault="qualified"

    xmlns:tns="http://infor.com/FactsCodeData"

    xmlns:xs="http://www.w3.org/2001/XMLSchema">

 

  <xs:complexType name="Response">

        <xs:sequence>

            <xs:element name="Codes" type="tns:Codes"/>

            <xs:element name="RestartPoint" type="xs:string"/>

        </xs:sequence>

      <xs:attribute name="RequestID" type="xs:string"/>

      <xs:attribute name="Company" type="xs:int"/>

      <xs:attribute name="SerialID" type="xs:string"/>

  </xs:complexType>

 

  <xs:complexType name="Codes">

        <xs:sequence>

            <xs:choice maxOccurs="unbounded">

                <xs:element name="Code" type="tns:Code"/>

            </xs:choice>

        </xs:sequence>

  </xs:complexType>

 

  <xs:complexType name="Code">

        <xs:sequence>

            <xs:element name="Code" type="xs:string"/>

            <xs:element name="Description" type="xs:string"/>

            <xs:element name="ParentCode" type="xs:string"/>

        </xs:sequence>

  </xs:complexType>

 

</xs:schema>

 

TestCodes.Java

 

package webserver;

 

import com.infor.factsResponseBatch.ResponseBatchDocument;

 

import com.infor.factsResponseBatch.ResponseBatchDocument.ResponseBatch;

 

import com.infor.factsCodeData.Response;

import com.infor.factsCodeData.Codes;

import com.infor.factsCodeData.Code;

import java.io.File;

 

public class TestGLCodes2

{

 

   public static void main ( String[] args ) throws Exception

   {

               System.out.println("ITS RUNNING!!!");

 

       // load the xml instance into the store and return a

       // strongly typed instance of StatementDocument

               ResponseBatchDocument stmtDoc = ResponseBatchDocument.Factory.parse( new File( "C:\\FACTSXML\\XML\\GlCodes2.xml"));

 

                        ResponseBatchDocument.ResponseBatch ResponseBatchElement = stmtDoc

                        .getResponseBatch();

                       

              System.out.println("ValidateCustomer details "

                                                + ", Consumer ID = " + ResponseBatchElement.getConsumerKey()

                                                + ", Language = " + ResponseBatchElement.getLanguage()

                                                + ", Date/Time = " + ResponseBatchElement.getDateTime()

                                                + ", Serial ID = " + ResponseBatchElement.getSerialID());

              

       ResponseBatch stmt = stmtDoc.getResponseBatch();              

       Response[] responses    = stmt.getResponseArray();

           

               System.out.println("Total Responses " + responses.length);

             

              

       for ( int i = 0 ; i < responses.length ; i++ ){

 

           System.out.println( responses[ i ].getRequestID());          

           System.out.println( responses[ i ].getCompany());          

           System.out.println( responses[ i ].getSerialID());

 

               System.out.println("Before Get Codes ");

           Codes codes   = responses[ i ].getCodes();

               System.out.println("Before GetCode Array ");          

           Code[] code   = codes.getCodeArray();

           

               System.out.println("Before the loop ");

               

           for ( int j = 0 ; j < code.length ; j++ ){

 

               System.out.println( code[ j ].getCode());

               System.out.println( code[ j ].getDescription());

               System.out.println( code[ j ].getParentCode());

           }

       }        

   } 

}

 

GLCodes2.xml

 

<?xml version="1.0" encoding="UTF-8"?>

<ResponseBatch xmlns="http://infor.com/FactsResponseBatch"

              ConsumerKey="1234"

              Language="English"

              DateTime="today"

              SerialID="0011111">

    <Response xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"            

              xmlns:tns="http://infor.com/FactsCodeData"

              RequestID="CodeData" SerialID="54321" Company="12">

        <Codes>

            <Code>

                <Code>Code Value </Code>

                <Description>Description Value</Description>

                <ParentCode>Parent Code Value</ParentCode>

            </Code>

        </Codes>

        <RestartPoint>abcdefg</RestartPoint>

    </Response>

</ResponseBatch>

 

 

 

 

Richard Butterwood | Senior Analyst/Programmer | Infor | office: 770-418-2000 X 1167 | cell: 678-492-3080 | fax: 770-418-2022 | [EMAIL PROTECTED]

 

SAVE THE DATE:
Inforum
Infor Customer Conference
April 9 – 12, 2006
Mandalay Bay Resort & Casino
Las Vegas

 

Reply via email to