- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
昨天我有一个用户给我发邮件说我的应用程序有问题,所以我开始和他一起调试并让他把电话日志发给我,当他收到一个 XmlPullParserError
时调用服务器
E/Message Exchange::CallWebService(6426): Exception: org.xmlpull.v1.XmlPullParserException: unterminated entity ref (position:TEXT �������`I�...@1:18 in java.io.InputStreamReader@406c8808) 05-31 12:33:25.573
W/System.err(6426): org.xmlpull.v1.XmlPullParserException: unterminated entity ref (position:TEXT �������`I�...@1:18 in java.io.InputStreamReader@406c8808) 05-31-12:33:25.573
W/System.err(6426): at org.kxml2.io.KXmlParser.exception(KXmlParser.java:273)05-31 12:33:25.573
W/System.err(6426): at org.kxml2.io.KXmlParser.error(KXmlParser.java:269)05-31-12:33:25.573
W/System.err(6426): at org.kxml2.io.KXmlParser.pushEntity(KXmlParser.java:781)05-31 12:33:25.573
W/System.err(6426): at org.kxml2.io.KXmlParser.pushText(KXmlParser.java:849)05-31 12:33:25.573
W/System.err(6426): at org.kxml2.io.KXmlParser.nextImpl(KXmlParser.java:354)05-31 12:33:25.573
W/System.err(6426): at org.kxml2.io.KXmlParser.next(KXmlParser.java:1378)05-31 12:33:25.573
W/System.err(6426): at org.kxml2.io.KXmlParser.nextTag(KXmlParser.java:1408)05-31 12:33:25.573
W/System.err(6426): at org.ksoap2.SoapEnvelope.parse(SoapEnvelope.java:126)05-31 12:33:25.573
W/System.err(6426): at org.ksoap2.transport.Transport.parseResponse(Transport.java:100)05-31 12:33:25.573
W/System.err(6426): at org.ksoap2.transport.HttpTransportSE.call(HttpTransportSE.java:195)05-31 12:33:25.573
W/System.err(6426): at org.ksoap2.transport.HttpTransportSE.call(HttpTransportSE.java:95)05-31 12:33:25.573
W/System.err(6426): at ecm2.android.MessageExchange$1.run(MessageExchange.java:96)05-31 12:33:25.573
W/System.err(6426): at java.lang.Thread.run(Thread.java:1019)05-31 12:33:27.928
这是它总是失败的行
trans.call(SOAP_ACTION, soapEnvelope);
调用服务器,它只是抛出一个错误。我有这个人的完全相同的电话
,我让他运行我正在运行的确切版本
,我在调用服务器时没有问题,但他仍然有问题。
我让他卸载并重新安装了好几次,所以我不知道是什么原因导致他的手机出现这种情况而不是我的?
这就是我创建 XML 的方式
private static String CreateCallXML(String sDeviceID, String sEMailAddress, String sVersion) {
Logging logger = new Logging();
XmlSerializer serializer = Xml.newSerializer();
StringWriter writer = new StringWriter();
try {
serializer.setOutput(writer);
serializer.startDocument("UTF-8", true);
serializer.startTag("", "PostData");
serializer.startTag("", "RetrieveMsg");
serializer.attribute("", "ver", sVersion);
serializer.attribute("", "DevID", sDeviceID);
serializer.attribute("", "eMailAddress", sEMailAddress);
logger.append("D", className, "CreateCallXML", "LastIncMsgID:" + Settings.LastIncMsgID);
logger.append("D", className, "CreateCallXML", "LastDLMsgID: " + Settings.LastDLMsgID);
serializer.attribute("", "LastIncMsgID", "" + Settings.LastIncMsgID);
serializer.attribute("", "LastDLMsgID", "" + Settings.LastDLMsgID);
serializer.endTag("", "RetrieveMsg");
serializer.endTag("", "PostData");
serializer.endDocument();
return writer.toString();
} catch (Exception e) {
return null;
}
}
更新 2:
通过代码后,用户电子邮件地址似乎是问题所在用户电子邮件地址的示例是 abcd3961@gmail.com
如果我使用它,它会在遇到行来调用服务器。如果我更改电子邮件地址中的一个字母,它会正常执行调用。
这是一个ksoap问题吗?我不能告诉他更改他的电子邮件地址,我该如何解决这个问题?
最佳答案
Unterminated entity 此错误发生在
1...响应字符串中的错误可能是某些实体未关闭。
<root>
<a> first </a>
<b>second <----- </b> missing here
</roor>
2...你在 xml 文件中得到了一些 xml 字符
like & { } � ...
您需要将所有&替换为& see this answer
...
String str = writer.toString();
str = str.replaceAll("&","&");
str = str.replaceAll("?","?");
return str;
关于android - ksoap2 xmlPullParserException 未终止实体引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10851616/
该应用程序在使用支持库 v23.1.1 插件并在 Android 4.4.4 (API 19) 下运行时运行良好: compile 'com.android.support:appcompat-v7:
我正在尝试从我的 android 项目中的 jar 文件中读取可绘制的 xml 文件。 private Drawable readDrawableFromJar(String p_strFilePat
我正在尝试使用 XStream。我已将 XStream 可执行 Jar 文件添加到我的项目中。执行以下命令: XStream xstream = new XStream(); 导致以下异常:
我在尝试使用 kSOAP2 在 Android 中使用 ColdFusion SOAP 服务时遇到了一个问题。这是我的 java 代码,用于调用我在 ColdFusion 中编写的测试方法(它只返回一
我有以下内容: public String searchRecipes( String searchString, int pageNumber ) throws Exception {
我在使用 web 服务的 android 中遇到这个错误。 当我运行 android webservice 并运行 android 项目时会发生这种情况 那么这里有什么问题呢? 请问有人知道吗? 谢谢
昨天我有一个用户给我发邮件说我的应用程序有问题,所以我开始和他一起调试并让他把电话日志发给我,当他收到一个 XmlPullParserError 时调用服务器 E/Message Exchange::
我在遗留 JavaME 项目上使用 kXML2。我收到一个 XML,其中一些属性包含编码的实体。当我通过调用检索该属性值时: parser.getAttributeValue 它抛出一个异常: Xml
我正在尝试测试一些开源 android 应用程序,但我无法构建它。 Gradle 构建不断失败并显示消息:[...] Unable to merge dex 我已经尝试了其他 SO 问题的所有建议,但
我正在尝试将 xml 文件(作为 byte[])绑定(bind)到 java 对象。这是我的代码- public voidinputConfigXML(String xmlfile, byte[] x
我正在尝试解析资源文件夹中的 XML 文件。这就是我想要做的 - public void loadXMLtoDB() { Resources resource = mContext.getRe
我的问题是我必须像这样解析 HTML 数据 84 101 some textHere comes a table definition 并且 XmlPullParserException 在以下情况下
这是我为 php (Yii) web 服务调用创建的 WSDL 以连接到 android。但是我明白了 10-19 11:17:36.068: W/System.err(11165): org.xml
我正在尝试解析一个类似于 res 文件夹下的 string.xml 文件的 xml 文件。但在解析时我遇到了异常。 下面是我的 xml 文件。 No corporate email
我目前正在学习 Android 编程,当我尝试解析 XML 时,出现以下错误(程序运行正常,但仅解析第一个 XML 链接): 这是我的代码: public class RSSActivity exte
我是在 android 上使用 KSOAP2 的新手,我遇到了问题 我看过关于同一问题的类似帖子,但没有人帮助我解决错误 我正在尝试连接到返回我登录时使用的用户名的网络服务 (WSDL)。当我在任何浏
将 robolectric 添加到 build.gradle 文件后出现错误 Program type already present: org.xmlpull.v1.XmlPullParserExc
我在使用自定义属性时遇到了问题。请帮助.. 我在 attr.xml 中定义了自定义属性 我有一个主题 @drawable/fav_icon @drawable/not_fav_ico
我正在使用 NDK 支持并收到此错误: 分级: 分布:gradle-2.5-all 构建工具:gradle-experimental:0.2.1 XML: 警告: vector requ
我正在拼命寻找 KSOAP2-Android 中此 XmlPullParserException 的原因。这是代码: String NAMESPACE = "urn:sap-c
我是一名优秀的程序员,十分优秀!