NotSerializableException: org.jboss.ws.core.soap.SOAPFaultIm
lafr May 23, 2009 6:04 AMI'm using JBoss-4.2.4GA with jbossws-3.0.1-native-2.0.4.GA.
I used wsconsume to generate the client artefacts from an MS Dynamics Axapta 2009 instance.
Calling a Webservice I get this exception:
java.io.WriteAbortedException: writing aborted; java.io.NotSerializableException: org.jboss.ws.core.soap.SOAPFaultImpl at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1333) at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1947) at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1871) at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1753) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329) at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1947) at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1871) at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1753) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329) at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1947) at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1871) at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1753) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329) at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351) at org.jboss.remoting.serialization.impl.java.JavaSerializationManager.receiveObjectVersion2_2(JavaSerializationManager.java:239) at org.jboss.remoting.serialization.impl.java.JavaSerializationManager.receiveObject(JavaSerializationManager.java:133) at org.jboss.remoting.marshal.serializable.SerializableUnMarshaller.read(SerializableUnMarshaller.java:120) at org.jboss.remoting.transport.socket.MicroSocketClientInvoker.versionedRead(MicroSocketClientInvoker.java:945) at org.jboss.remoting.transport.socket.MicroSocketClientInvoker.transport(MicroSocketClientInvoker.java:633) at org.jboss.remoting.MicroRemoteClientInvoker.invoke(MicroRemoteClientInvoker.java:122) at org.jboss.remoting.Client.invoke(Client.java:1634) at org.jboss.remoting.Client.invoke(Client.java:548) at org.jboss.aspects.remoting.InvokeRemoteInterceptor.invoke(InvokeRemoteInterceptor.java:62) at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101) at org.jboss.aspects.tx.ClientTxPropagationInterceptor.invoke(ClientTxPropagationInterceptor.java:67) at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101) at org.jboss.aspects.security.SecurityClientInterceptor.invoke(SecurityClientInterceptor.java:53) at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101) at org.jboss.ejb3.remoting.IsLocalInterceptor.invoke(IsLocalInterceptor.java:74) at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101) at org.jboss.ejb3.stateless.StatelessRemoteProxy.invoke(StatelessRemoteProxy.java:107) at $Proxy3.sendAggregatedValues(Unknown Source) ... Caused by: java.io.NotSerializableException: org.jboss.ws.core.soap.SOAPFaultImpl at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1156) at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1509) at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1474) at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1392) at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1150) at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1509) at java.io.ObjectOutputStream.defaultWriteObject(ObjectOutputStream.java:416) at java.lang.Throwable.writeObject(Throwable.java:648) at sun.reflect.GeneratedMethodAccessor206.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:945) at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1461) at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1392) at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1150) at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1509) at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1474) at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1392) at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1150) at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:326) at org.jboss.remoting.serialization.impl.java.JavaSerializationManager.sendObjectVersion2_2(JavaSerializationManager.java:120) at org.jboss.remoting.serialization.impl.java.JavaSerializationManager.sendObject(JavaSerializationManager.java:95) at org.jboss.remoting.marshal.serializable.SerializableMarshaller.write(SerializableMarshaller.java:120) at org.jboss.remoting.transport.socket.ServerThread.versionedWrite(ServerThread.java:841) at org.jboss.remoting.transport.socket.ServerThread.processInvocation(ServerThread.java:641) at org.jboss.remoting.transport.socket.ServerThread.dorun(ServerThread.java:406) at org.jboss.remoting.transport.socket.ServerThread.run(ServerThread.java:173)
All operations have a Fault message
<wsdl:binding name="BasicHttpBinding_GeneralJournalService" type="tns:GeneralJournalService"> <soap:binding transport="http://schemas.xmlsoap.org/soap/http"/> <wsdl:operation name="create"> <soap:operation soapAction="http://schemas.microsoft.com/dynamics/2008/01/services/GeneralJournalService/create" style="document"/> <wsdl:input name="GeneralJournalServiceCreateRequest"> <soap:body use="literal"/> </wsdl:input> <wsdl:output name="GeneralJournalServiceCreateResponse"> <soap:body use="literal"/> </wsdl:output> <wsdl:fault name="AifFaultFault"> <soap:fault name="AifFaultFault" use="literal"/> </wsdl:fault> </wsdl:operation> <wsdl:operation name="find"> <soap:operation soapAction="http://schemas.microsoft.com/dynamics/2008/01/services/GeneralJournalService/find" style="document"/> <wsdl:input name="GeneralJournalServiceFindRequest"> <soap:body use="literal"/> </wsdl:input> <wsdl:output name="GeneralJournalServiceFindResponse"> <soap:body use="literal"/> </wsdl:output> <wsdl:fault name="AifFaultFault"> <soap:fault name="AifFaultFault" use="literal"/> </wsdl:fault> </wsdl:operation> <wsdl:operation name="read"> <soap:operation soapAction="http://schemas.microsoft.com/dynamics/2008/01/services/GeneralJournalService/read" style="document"/> <wsdl:input name="GeneralJournalServiceReadRequest"> <soap:body use="literal"/> </wsdl:input> <wsdl:output name="GeneralJournalServiceReadResponse"> <soap:body use="literal"/> </wsdl:output> <wsdl:fault name="AifFaultFault"> <soap:fault name="AifFaultFault" use="literal"/> </wsdl:fault> </wsdl:operation> </wsdl:binding>which probably is part of the problem.
It's the first time I try to consume a WS defined this way.
What's missing or wrong here?