This week's giveaway is in the Spring forum.
We're giving away four copies of REST with Spring (video course) and have Eugen Paraschiv on-line!
See this thread for details.
The moose likes Web Services and the fly likes Axis client calling .NET Web service Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login

Win a copy of REST with Spring (video course) this week in the Spring forum!
JavaRanch » Java Forums » Java » Web Services
Bookmark "Axis client calling .NET Web service" Watch "Axis client calling .NET Web service" New topic

Axis client calling .NET Web service

George Pincharoen
Ranch Hand

Joined: Jul 03, 2001
Posts: 45

I am calling a .NET web service from an axis client running on tomcat 5.0.
I got [ns1:VerifyEmailResult: null] as a result while I got the perfect xml response when I run this program as standalone.

Here's what I printed on the screen

Result: [ns1:VerifyEmailResult: null]
[Fatal Error] :1:1: Content is not allowed in prolog.
org.xml.sax.SAXParseException: Content is not allowed in prolog.
at org.apache.xerces.parsers.DOMParser.parse(Unknown Source)
at org.apache.xerces.jaxp.DocumentBuilderImpl.parse(Unknown Source)

Notice that I also got an error 'Content is not allowed in prolog'. Is it because the program trying to parse illegal xml string?

One more thing, In standalone app, I use crimson as a parser, but tomcat uses xerces. I tested more by adding xerces lib to my standalone app and I got the same error as I got from tomcat.
It seems like xerces is the real problem. How do I solve this problem?
I'm not sure that I can remove xerces lib from my web app.

P.S. I've tried using crimson instead of xerces by setting these system properties

<system-property javax.xml.parsers.DocumentBuilderFactory=
<system-property javax.xml.parsers.SAXParserFactory=

but it led me to another error

java.lang.IllegalStateException: can't declare any more prefixes in this context
at org.apache.crimson.parser.Parser2.parseInternal(
at org.apache.crimson.parser.Parser2.parse(
at org.apache.crimson.parser.XMLReaderImpl.parse(
at org.apache.crimson.jaxp.DocumentBuilderImpl.parse(
at org.apache.axis.utils.XMLUtils.newDocument(
at org.apache.axis.utils.XMLUtils.newDocument(
at org.apache.axis.wsdl.symbolTable.SymbolTable.populate(
at org.apache.axis.wsdl.gen.Parser$
I agree. Here's the link:
subject: Axis client calling .NET Web service
It's not a secret anymore!