wmaop / wm-jbehave

Unit Testing for webMethods Flow services with a Behavioural Driven style
https://github.com/wmaop/wm-jbehave/wiki
MIT License
5 stars 3 forks source link

Curved Apostrophe Character Causing Issue in Mocked Response #18

Open Geraden07 opened 5 years ago

Geraden07 commented 5 years ago

I had a service that was trying to return some html text that would end up on a webpage. The marketing team had replaced the normal apostrophe character in the HTML with a "nice" one ( ’ ).

In trying to return this as part of a mocked service response in a test, the error received was

ERROR BddTestBuilder:70 - com.wm.app.b2b.server.ServiceException: Unable to parse response IData for SLFCA_BestActionRecommendations.services:WEMContentService - Is the response valid IData XML? - [ISC.0076.9002] incorrect IDataXMLCoder file format: no element 'IDataXMLCoder' found

In debugging the issue it looks like it's beyond the scope of this project, and simply a limitation of the code in the wm-isclient.jar library from Software AG. I've tried testing with version 9.9 and 10.1 of the JAR and not seen a difference.

Recommendation course of action at this time is to simply avoid tests that have this character in the mocked response.

Geraden07 commented 5 years ago

Additional characters that cause this issue are 'û' and ' ' (a whitespace character).

Additionally, may be related to this issue or #20 it seems if an accented character such as é is too close (within the next 2 characters) to the start of an end tag "" for example, when it garbles, it also garbles the < character and invalidates the XML structure.