Hello
I have created a custom packet
public XmlStringBuilder toXML() {
XmlStringBuilder buf = new XmlStringBuilder();
buf.halfOpenElement(ELEMENT);
buf.optAttribute("to", getTo());
buf.optAttribute("from", getFrom());
buf.attribute("t", type);
buf.attribute("sid",ackedforid);
buf.attribute("time", String.valueOf(acktime));
buf.attribute("q", String.valueOf(quick));
buf.rightAngleBracket();
buf.append(getExtensionsXML());
// Add the error sub-packet, if there is one.
appendErrorIfExists(buf);
buf.closeElement(ELEMENT);
return buf;
}
public static Ack parseAck(XmlPullParser parser)
throws Exception {
ParserUtils.assertAtStartTag(parser);
final int initialDepth = parser.getDepth();
Ack.Type type = Ack.Type.mra;
String typeString = parser.getAttributeValue("", "t");
if (typeString != null && !typeString.equals("")) {
type = Ack.Type.fromString(typeString);
}
Ack ack = new Ack(type);
ack.setTo(ParserUtils.getJidAttribute(parser, "to"));
ack.setFrom(ParserUtils.getJidAttribute(parser, "from"));
ack.setStanzaId(parser.getAttributeValue("", "id"));
ack.setAckedforid(parser.getAttributeValue("","sid"));
ack.setAcktime(Integer.parseInt(parser.getAttributeValue("","time")));
ack.setQuick(Boolean.parseBoolean(parser.getAttributeValue("","q")));
return ack;
}
When the server send response as
<Ack from='dummy.com' to='xxxxx@server/resoucerce:' t='sa' id='6177764630472404992-3' time='1438372915' q='0'/>
response.toXml().toString fails with null pointer at
java.lang.NullPointerException: Attempt to invoke interface method 'int java.lang.CharSequence.length()' on a null object reference
at xmpp.util.LazyStringBuilder.length(LazyStringBuilder.java:73)
at xmpp.util.LazyStringBuilder.toString(LazyStringBuilder.java:101)
at xmpp.util.XmlStringBuilder.toString(XmlStringBuilder.java:455)
at xmpp.packet.Stanza.toString(Stanza.java:471)
at com.griffin.messenger.ConnectionsManager.tcpConnectionReceivedData(ConnectionsM anager.java:1622)
What wrong am i doing