I'm pleased to see that the details of a PMR I had opened with IBM over 3 months ago now are now publicly acknowledged as PK70653: XSLT TRANSFORMATION IN DEBUG MODE FAILS ON AN EMPTY INPUT XML DOCUMENT WITH MESSAGE [FATAL ERROR] PREMATURE END OF FILE.
There are some details which seem to have been left out of the above APAR / PK that may be useful:
- No application
Throwableis ever thrown. The described error is generated only to
- The transformation is aborted and nothing is ever set on the result. If passing in a DOMResult as the "
requestResult" listed in the APAR,
setNode(…)is never called, and
getNode()will return null - potentially leading to additional application errors, probably as a
- As documented in the
transform(…)method, passing in an empty
Sourceis explicitly allowed by the API.
- There is a temporary work-around. Follow the instructions at http://www-01.ibm.com/support/docview.wss?uid=swg21258865 to disable the XSLT Debug Adapter, either by setting the "
com.ibm.debug.attach.agent.xslt.enabled" JVM custom property to "
false", or by modifying a preference in Rational Application Developer (RAD) if using the WebSphere Application Server (WAS) Test Environment.
Finally, just for reference purposes, here is the error that may be seen in
stderr if experiencing this issue (also as shown in the APAR):
[Fatal Error] :-1:-1: Premature end of file. SystemId Unknown;Line #-1; Column #-1; Premature end of file.
Kudos to Dorine, Bruce, Samantha, and the others involved at IBM for taking attention to and resolving this issue!