File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
The moose likes Web Services and the fly likes Getting an exception org.xml.sax.SAXException: Bad types Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Java » Web Services
Bookmark "Getting an exception org.xml.sax.SAXException: Bad types " Watch "Getting an exception org.xml.sax.SAXException: Bad types " New topic

Getting an exception org.xml.sax.SAXException: Bad types

satya satapathy

Joined: Jun 13, 2003
Posts: 2
Can you help me with my problem??? I have a problem in running my Axis Client. It gives me "org.xml.sax.SAXException: Bad types" exception.
My webservice returns an array of Books (Books[]). My client will login with username/password then send a query, then print all the titles of the book.
Thank you in advance!

Here is the snippet of my client:

public static void main(String [] args) throws Exception{Service service = new Service();Call call = (Call) service.createCall();QName qn = new QName( "urn:BookService", "mypackage.Book" );call.registerTypeMapping(mypackage.Book.class, qn, new org.apache.axis.encoding.ser.BeanSerializerFactory(mypackage.Book, qn), new org.apache.axis.encoding.ser.BeanDeserializerFactory(mypackage.Book, qn)); try {URL url = new URL("http://localhost:8080/axis/services/BookService"); call.setTargetEndpointAddress(url); call.setOperationName( new QName("BookService", "getBooks") );call.addParameter( "username", XMLType.XSD_STRING, ParameterMode.IN );call.addParameter( "password", XMLType.XSD_STRING, ParameterMode.IN );call.addParameter( "where", XMLType.XSD_STRING, ParameterMode.IN );call.setReturnType(qn);Object result = call.invoke(new Object [] { args[0], args[1], args[2]});if (result!=null){Book book[] = (Book[]) result;for (int i=0; i<book.length ; i++){System.out.println("BOOK="+book[ i ].getName());}} } catch (AxisFault fault) {System.err.println("Generated fault: ");System.out.println (" Fault Code = " + fault.getFaultCode()); System.out.println (" Fault String = " + fault.getFaultString());fault.printStackTrace();}}

More Detailed stacktrace
- Exception:
org.xml.sax.SAXException: Bad types (class [Ljava.lang.Object; -> class mypackage.Book)
at org.apache.axis.message.RPCHandler.onStartChild(
at org.apache.axis.encoding.DeserializationContextImpl.startElement(Dese
at org.apache.axis.message.SAX2EventRecorder.replay(SAX2EventRecorder.ja
at org.apache.axis.message.MessageElement.publishToHandler(MessageElemen a

please reply me
Simon Brown
sharp shooter, and author
Ranch Hand

Joined: May 10, 2000
Posts: 1913
Moving this to the web services forum...
nj toto

Joined: May 24, 2006
Posts: 4
Today I meet this problem,but I do not know how to deal with this problem.
If you know this result,please tell me ,thanks a lot .
my detail error is like these:
Exception in thread "main" AxisFault
faultCode: {}Server.userException
faultString: org.xml.sax.SAXException: Bad types (class java.lang.String ->
class java.math.BigInteger)

org.xml.sax.SAXException: Bad types (class java.lang.String -> class java.math.B
at org.apache.axis.message.SOAPFaultBuilder.createFault(SOAPFaultBuilder
I agree. Here's the link:
subject: Getting an exception org.xml.sax.SAXException: Bad types
It's not a secret anymore!