Environment
GroupWise (all versions)
Situation
Caused by: com.sun.xml.ws.encoding.soap.DeserializationException: Failed to read a response: javax.xml.bind.UnmarshalException - with linked exception: [com.ctc.wstx.exc.WstxUnexpectedCharException: Illegal character ((CTRL-CHAR, code 2)) [note: in XML 1.1, it could be included via entity expansion] at [row,col {unknown-source}]: [1,58558]] at com.sun.xml.ws.client.sei.SyncMethodHandler.invoke(Unknown Source) at com.sun.xml.ws.client.sei.SyncMethodHandler.invoke(Unknown Source) at com.sun.xml.ws.client.sei.SEIStub.invoke(Unknown Source) at $Proxy41.readCursorRequest(Unknown Source) at com.gwava.gweasysoap.EasySoap.readCursor(EasySoap.java:966) at com.gwava.gweasysoap.ThreadedEasyCursor.run(ThreadedEasyCursor.java:155) ... 1 more
How do I find the message that contains that character so I can remedy the issue?
Note: For a list of ASCII characters, go to https://www.ascii-code.com or any such site that lists them.
Resolution
1. With the SOAP trace open in TextPad, hit F5 (Search | Find).
2. In the "Find what:" box, type "\x02" (where "02" is the illegal character code you are looking for) and click on "Find Next".
2. It will highlight the character. In this case, it is at the very beginning of the subject line. Now you have the subject of the message and you can go find it in the user's mailbox.
NOTE: some characters were erased in the screenshot to protect potentially sensitive information.
If you look up what control character #2 represents, it is a "start of text" character. Note that - since this one is a control character (characters used to control a device back in the teletype days) - Textpad simply tries to represent it with character of its own choosing. A control character isn't normally printable.
See also, "SOAP Trace Reading Basics".
3. Now you are ready to remedy the issue. Refer to KB, "How to Archive Items When Illegal XML Characters Are Involved (i.e., "control characters")".