There are many possible reasons that this message could be thrown. It will only been seen in the context of 3-tier, non-streaming transfers. Both uploads and downloads can experience the error, it can happen in any scenario in which a request is sent between servers with the SendRequest method.
The error implies that a SOAP request was sent from the Webserver to the Fileserver, but an improperly formatted response was received. This could be due to anything that would cause an html response instead of the SOAP response FileUpEe is expecting. An example would be a request made to a TargetUrl of a fileserver that was incorrect or unavailable. Eventually the server will respond with a 400 or 401 html error response. Sendrequest will examine this response and see that it does not contain the expected SOAP XML, and throw the error. Another possible cause would be a syntax error in the fileserver code. The page would end up throwing an error and the server would return a 500 internal server error response, causing Sendrequest to throw an error because the response was not a SOAP response.
When these errors occur, there may be clues as to the cause but additional investigation into the source of the problem will always be necessary. A simple way to see the actual contents of the failed response is to write out the FileUpEe.HttpResponse.BodyText property. That property will contain any HTML that may have been sent back in the response, and most likely the true cause of the error will be there.
If this problem occurs but the html response is empty, it may be that the server either rejected the request immediately or the request was never properly sent. In that case, be sure that no tool such as URL scan is blocking requests of the size that are being made. It would also be good to cut and paste the TargetUrl directly into a browser's address bar and check if a request can properly made to the fileserver script. If everything looks good in the client side code but no response is forthcoming from the server, check the IIS server logs to make sure requests are being received or use a tool like Fiddler to examine the requests that are being sent. |