Potential size limit issue when using EnsLib.SOAP.InboundAdapter

I have a service that uses the EnsLib.SOAP.InboundAdapter, and I seem to be facing an odd problem.

Our clinical document system sent a request which contained a word document in base64, and was presented with the error "ERROR #6253: Datatype validation failed for tag payload (ending at line 1 character 2111). Unexpected tag <ClinicalDocument> found."

I took a look at the word document sent, and found it contained an image which made the document size about 4MB larger than the average document.

I resent the document both with and without the image while monitoring with Wireshark, and then compared the structure to make sure there was no glaringly obvious differences, and there wasn't (I used winmerge to do the comparison).

Only after resizing the image a few times to make it smaller did I finally get the service to accept the inbound message.

Is there a size limit I might be hitting that would explain this? I can't find anything documented which explains this, and there is nothing declared in the Service class that specifies a limit.

  • 0
  • 0
  • 129
  • 2
  • 1

Answers

First I would expect Soap.InboundAdapter writes to stream and has no limit.

But if longstrings are enabled the MAXsize of a %String is ~3.6 MB.   Your description sounds to fit this.
You may look at your Adapter where the input goes.
But it might be also later processing of a stream to cause the problem.

 

Hi Robert.

I think you have hit the nail on the head - the method return type is a string.

Time to do a bit of rework in the Dev environment...