Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/svn/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android MS CRM SDK获取多条记录时出错_Android_Dynamics Crm 2013 - Fatal编程技术网

Android MS CRM SDK获取多条记录时出错

Android MS CRM SDK获取多条记录时出错,android,dynamics-crm-2013,Android,Dynamics Crm 2013,请检查下面的代码 我犯了以下错误 java.lang.NullPointerException:尝试对空对象引用调用虚拟方法“void java.lang.Throwable.printStackTrace()” 检查我的代码 @Override public void Retrieve(String logicalName, UUID id, @NonNull ColumnSet columnSet, final Callback<Entity> callback) { S

请检查下面的代码

我犯了以下错误


java.lang.NullPointerException:尝试对空对象引用调用虚拟方法“void java.lang.Throwable.printStackTrace()”

检查我的代码

@Override
public void Retrieve(String logicalName, UUID id, @NonNull ColumnSet columnSet, final Callback<Entity> callback) {
    StringBuilder content = new StringBuilder();
    content.append(GetEnvelopeHeader());
    content.append("<s:Body>");
    content.append("<d:Retrieve>");
    content.append("<d:entityName>" + Utils.encodeXML(logicalName) + "</d:entityName>");
    content.append("<d:id>" + Utils.encodeXML(id.toString()) + "</d:id>");
    content.append(Utils.objectToXml(columnSet, "d:columnSet", true));
    content.append("</d:Retrieve>");
    content.append("</s:Body>");
    content.append("</s:Envelope>");

    SoapEndpoint.Soap(SoapActions.RETRIEVE, new TypedString(content.toString()), new Callback<String>() {

        @Override
        public void success(String xml, Response response) {
            Entity entity = null;

            try {
                XmlPullParser parser = Xml.newPullParser();
                parser.setFeature(XmlPullParser.FEATURE_PROCESS_NAMESPACES, true);
                parser.setInput(new ByteArrayInputStream(xml.getBytes()), null);
                do {
                    parser.next();
                } while(!parser.getName().equals("RetrieveResult"));
                parser.require(XmlPullParser.START_TAG,    "http://schemas.microsoft.com/xrm/2011/Contracts/Services", "RetrieveResult");

                entity = Entity.loadFromXml(parser);
            }
            catch(Exception ex) {
                ex.getCause().printStackTrace();
            }

            if (entity != null) {
                callback.success(entity, response);
            }
        }

        @Override
        public void failure(RetrofitError error) {
            callback.failure(error);
        }
    });
}
@覆盖
公共void检索(字符串logicalName,UUID id,@NonNull ColumnSet ColumnSet,final Callback){
StringBuilder内容=新建StringBuilder();
append(getEnveloperHeader());
内容。追加(“”);
内容。追加(“”);
content.append(“+Utils.encodeXML(logicalName)+”);
append(“+Utils.encodeXML(id.toString())+”);
append(Utils.objectToXml(columnSet,“d:columnSet”,true));
内容。追加(“”);
内容。追加(“”);
内容。追加(“”);
SoapEndpoint.Soap(SoapActions.RETRIEVE,新类型字符串(content.toString()),新回调(){
@凌驾
public void成功(字符串xml,响应){
实体=空;
试一试{
XmlPullParser=Xml.newPullParser();
setFeature(XmlPullParser.FEATURE_进程_名称空间,true);
setInput(新的ByteArrayInputStream(xml.getBytes()),null);
做{
parser.next();
}而(!parser.getName().equals(“RetrieveResult”);
require(XmlPullParser.START_标记,“http://schemas.microsoft.com/xrm/2011/Contracts/Services“,”检索结果“);
entity=entity.loadFromXml(解析器);
}
捕获(例外情况除外){
例如getCause().printStackTrace();
}
如果(实体!=null){
回调成功(实体、响应);
}
}
@凌驾
公共无效失败(错误){
回调失败(错误);
}
});
}

尝试使用ex.printStackTrace()。原始答案/建议的原因尝试在空对象引用上调用虚拟方法“boolean java.lang.String.equals(java.lang.Object)”。检查解析器。getName()为空/非空?请尝试使用ex.printStackTrace()。原始答案/建议的原因试图在空对象引用上调用虚拟方法“boolean java.lang.String.equals(java.lang.Object)”。检查解析器。getName()是否为空?