aksonov / react-native-xmpp

XMPP library for React Native (iOS and Android native support)
BSD 2-Clause "Simplified" License
305 stars 96 forks source link

Android: Parser is not converting all of the XML to JSON #114

Open MrScorp opened 5 years ago

MrScorp commented 5 years ago

Android: As a response to a user search stanza, the server is returning multiple fields for the result items, but the parser is returning only the "Name" field after converting it to JSON in rnxmpp.utils.Parser. To verify, I trapped a log from the "processPacket" method in XmppServiceSmackImpl and obtained the actual XML response which is returned by the server.

Example: Actual XML returned by the server as a response to "sendStanza" :

johnson.m.kal@xxxx.com johnson@xxxxxx.com johnson Johnson

JSON returned in the javascript onIQ() callback :

{ "query": { "x": { "field": { "type": "hidden", "var": "FORM_TYPE" }, "item": { "field": { "value": "Johnson", "var": "Name" } }, "reported": { "field": { "type": "text-single", "var": "Email", "label": "Email" } }, "type": "result", "xmlns": "jabber:x:data" }, "xmlns": "jabber:iq:search" }, "type": "result", "id": "HyT457", "from": "search.xxxxxx.com", "to": "xxxx@xxxx" }

Am I missing something? Any configuration is needed for sending stanzas?

Thank you.

MrScorp commented 5 years ago

WritableMap.hasKey method is always returning false. Have submitted a PR for the fix.

penna-superlogica commented 3 years ago

Hi @MrScorp it seems that the problem is not at the parse, but in the data sent to it wich only contain the "message" tag, right?

Did you be able to solve this? We are struggling with this same issue.