I just encountered this error and was able to fix it on my machine. When I searched Google using: soapui Caused by: java.io.CharConversionException: Malformed UTF-8 character: 0xe2 0x80 0x3f, I came across this post and a few others but I didn't see any final resolutions other than to change the encoding of the entire xml file to UTF-8 or find the offending characters in a text editor. My xml file was already in UTF-8, so that tip didn't help. I ended up finding the offending characters using Beyond Compare and Notepad ++. I didn't see any final resolutions posted, so I'm posting this hoping it might help someone in some way.
A coworker imported a SoapUI NG Pro project I had created (and was still working on) in ReadyAPI 1.5.0 into her fresh ReadyAPI 1.5.0 installation. She made modifications to the project, saved her changes, then she removed the project from SoapUI NG Pro. She later tried to import the project she had *just* saved, and the Malformed UTF-8 error was thrown. I tried to import her file, and the error was thrown on my ReadyAPI installation as well.
How I fixed the problem:
1. I used Beyond Compare (free trial) to diff her version of the xml file that was throwing the error VS my currently working version saved on my machine. In Beyond Compare, the offending characters were exposed in the diffs as diamonds with questions marks and some other weird character. The offending character was located in a date value I was passing in a JSON request.
2. For a better view, I opened my *currently working xml* file in Notepad++, located the offending character, and it appeared as: xE2x80? . xE2 and x80 were each highlighted in black.
3. I opened that same currently working xml file in SoapUI NG Pro 1.5.0 and located the test step containing the offending character by reading the XML to find what testcase and step it was located in. Turns out it was in a JSON request I would post. The date value was: "2015-09-21”,
The offending character was the closing double quote character which was a ”, instead of a ", and that was the cause of our issue. The source of that offending character was due to the way a developer created the JSON for me to use.
4. I replaced all diffed instances of xE2x80 (which was ”) with " and saved the project in SoapUI.
5. She imported my fixed project again, made her changes, saved it, removed the project, and was able to import it with no problems.