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(RPCHandler.java:302)
at org.apache.axis.encoding.DeserializationContextImpl.startElement(Dese
rializationContextImpl.java:912)
at org.apache.axis.message.SAX2EventRecorder.replay(SAX2EventRecorder.ja
va:200)
at org.apache.axis.message.MessageElement.publishToHandler(MessageElemen a
please reply me :satyan4@rediffmail.com