go to post Chris Pursey · Feb 3, 2023 Thanks for your reply, makes complete sense. I wasn't aware of $$$MaxLocalLength. On looking into this further, it turns out I don't need to Read() at all. Just passing the %request.Content on like this: Set tSC = tBusinessService.ProcessInput(%request.Content, .tBusinessServiceOutput)Does the trick. Then in the business service class, using the OpenStream() method of %XML.Reader behaves as expected when deserialising to the class objects.