Finding Messages in SOAP Traces That Contain Control Characters

  • 7020613
  • 16-Oct-2014
  • 21-Aug-2018

Environment

Retain (all versions)
GroupWise (all versions)

Situation

My Retain Worker log is showing an error about an illegal character:

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

First, get a SOAP trace.  See KB, "How to Create a SOAP Trace with GroupWise POAs"; then, open the SOAP trace into a text editor like TextPad (or any editor that allows HEX searches).

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")".

Additional Information

This article was originally published in the GWAVA knowledgebase as article ID 2386.