10.1C on Win2008 server. Have a web service standing of Progress code using Tomcat 5.5. I am using the built-in Tomcat webserver.
The Client is Sharepoint 2010.
The client is recieving the following error when they attempt to run my web service. "org.xml.sax.SAXParseException: Content is not allowed in prolog".....
Research shows that this error is common when there is anything in the XML file ahead of the "<?xml version="1.0" encoding=...".
Microsoft TS confirms that they use the prolog of the XML file and that IIS strips it off/ignores it.
They also confirm that we have no control over these extra bytes nor can we configure SP to not include them.
Lastly they confirm that that a form developed in InfoPath versus the same form deployed using Sharepoint use completely different APIs to generate the XML. All this works fine in development. It all chokes with deployment.
As an aside, talking to MS tech support is pretty funny. "What is this Java thing (Tomcat) you are talking about. We have never heard it", "Why are you using a web service, just write the application to talk natively to SQL Server and you won't have this issue", "Can I step through your service using the Visual Studio debugger?". When all you have is a hammer, everything looks like a nail.
I would appreciate feedback on my 2 thoughts below:
1. Can I front end Tomcat to parse the XML file on the way in? A simple regular expression would solve my problem. Just don't see how I could easily do this?
2. Should I try to use IIS as the webserver and connect Tomcat to it? I believe they call this using the re-director. I assume, since MS indicated the IIS handles the SP call correctly, that this might solve our issue. Looking for any crowd experience on this before I try.
3. Got any other brilliant ideas? :-)