public static void main(String[] args) throws BadCompositeException, IPDRException, SAXException, IOException{
XdrClassExample[] aExample = null;
XdrClassExampleHeader aHeader = null;
XdrClassExampleUsage[] aUsage = null;
XdrClassExampleType aType = null;

        String fname = "file/DocWriterOutput.xdr";
        String[] serviceDefinitionURIs = {"file/IPDRSettlementDoc3.5.xsd","file/SM3.5-A.0.xsd"};
        NameSpaceInfo[] otherNameSpaces = new NameSpaceInfo[2];
        otherNameSpaces[0] = new NameSpaceInfo("http://www.ipdr.org/namespaces/IPDRSettlement", "IPDRSettlement");
        otherNameSpaces[1] = new NameSpaceInfo("http://www.ipdr.org/namespaces/SM", "SM");
        String defaultNameSpaceURI = "http://www.ipdr.org/namespaces/IPDR";
        String[] schemaNameSpaces = {"http://www.ipdr.org/namespaces/IPDRSettlement", "http://www.ipdr.org/namespaces/SM"};
aHeader.setHomeServiceProviderType(new Integer(1));
        aHeader.setHomeServiceProvider("home service provider");... ...
=================================================引用的aHeader.setHomeServiceProvider 代码如下,倒数第一个方法
package org.ipdr.cls;public class XdrClassExampleHeader {
private Integer homeServiceProviderType;
private String  homeServiceProvider;
private Integer accessServiceProviderType;
private String  accessProviderType;
private String  accessServiceProvider;
private Integer basisForTotals;

/**
 * @return Returns the accessProviderType.
 */
public String getAccessProviderType() {
return accessProviderType;
}
/**
 * @param accessProviderType The accessProviderType to set.
 */
public void setAccessProviderType(String accessProviderType) {
this.accessProviderType = accessProviderType;
}
/**
 * @return Returns the accessServiceProvider.
 */
public String getAccessServiceProvider() {
return accessServiceProvider;
}
/**
 * @param accessServiceProvider The accessServiceProvider to set.
 */
public void setAccessServiceProvider(String accessServiceProvider) {
this.accessServiceProvider = accessServiceProvider;
}
/**
 * @return Returns the accessServiceProviderType.
 */
public Integer getAccessServiceProviderType() {
return accessServiceProviderType;
}
/**
 * @param accessServiceProviderType The accessServiceProviderType to set.
 */
public void setAccessServiceProviderType(Integer accessServiceProviderType) {
this.accessServiceProviderType = accessServiceProviderType;
}
/**
 * @return Returns the basisForTotals.
 */
public Integer getBasisForTotals() {
return basisForTotals;
}
/**
 * @param basisForTotals The basisForTotals to set.
 */
public void setBasisForTotals(Integer basisForTotals) {
this.basisForTotals = basisForTotals;
}
/**
 * @return Returns the homeServiceProvider.
 */
public String getHomeServiceProvider() {
return homeServiceProvider;
}
/**
 * @param homeServiceProvider The homeServiceProvider to set.
 */
public void setHomeServiceProvider(String homeServiceProvider) {
this.homeServiceProvider = homeServiceProvider;
}
/**
 * @return Returns the homeServiceProviderType.
 */
public Integer getHomeServiceProviderType() {
return homeServiceProviderType;
}
/**
 * @param homeServiceProviderType The homeServiceProviderType to set.
 */
public void setHomeServiceProviderType(Integer homeServiceProviderType) {
this.homeServiceProviderType = homeServiceProviderType;
}


}
debug结果报错:java.lang.NullPointerException
at org.ipdr.cls.XdrClassExample.main(XdrClassExample.java:90)

解决方案 »

  1.   

    XdrClassExample 类第90行空指针错误。第90行是不是这个
    aHeader.setHomeServiceProviderType(new Integer(1));
            aHeader.setHomeServiceProvider("home service provider");
    前面的声明XdrClassExampleHeader aHeader = null;
    aHeader 为空,后面怎么赋值呢?改为 XdrClassExampleHeader aHeader =new XdrClassExampleHeader();
      

  2.   

    debug结果报错:java.lang.NullPointerException
    at org.ipdr.cls.XdrClassExample.main(XdrClassExample.java:90)XdrClassExample 类第90行空指针。
      

  3.   

    aHeader.setHomeServiceProviderType(new Integer(1));
            aHeader.setHomeServiceProvider("home service provider");aHeader没见赋值语句
      

  4.   

    定义
    XdrClassExampleUsage[] aUsage = new XdrClassExampleUsage[2];现在报错行在:
    aUsage[0].setServiceDefinition("service definition");
    每个aUsage有相应的成员,XdrClassExampleUsage[] aUsage 为了存放多个aUsage情况,目前初始化为2