Un/Marshaller not found
hurzeler Jun 25, 2007 9:32 AMI am trying to have a socket server accepting plain text. I defined my service as:
<server> <mbean code="org.jboss.remoting.transport.Connector" name="jboss.remoting:service=Connector,transport=Socket" display-name="Socket transport Connector"> <attribute name="Configuration"> <config> <invoker transport="socket"> <!-- The following are specific to socket invoker --> <attribute name="numAcceptThreads">1</attribute> <attribute name="maxPoolSize">303</attribute> <attribute name="clientMaxPoolSize" isParam="true">304</attribute> <attribute name="socketTimeout">60000</attribute> <attribute name="serverBindAddress">${jboss.bind.address}</attribute> <attribute name="serverBindPort">8084</attribute> <attribute name="enableTcpNoDelay" isParam="true">false</attribute> <attribute name="backlog">200</attribute> <attribute name="datatype" isParam="true">invocation</attribute> <attribute name="marshaller" isParam="true">com.test.socket.V75SocketServer.TextMarshaller</attribute> <attribute name="unmarshaller" isParam="true">com.test.socket.V75SocketServer.TextUnMarshaller</attribute> <attribute name="serverSocketClass">com.test.socket.V75SocketServer.SimpleInputStreamWrapper</attribute> </invoker> <handlers> <handler subsystem="V75">com.test.socket.V75SocketServer.Handler</handler> </handlers> </config> </attribute> </mbean> </server>
on deployment I get the following on the server:
Invoker started for locator: InvokerLocator [socket://x.x.x.x:8084/?clientMaxPoolSize=304&datatype=invocation&enableTcpNoDelay=false&marshaller=com.test.socket.V75SocketServer.TextMarshaller&unmarshaller=com.test.socket.V75SocketServer.TextUnMarshaller]
When I debug I see that my SimpleInputStreamWrapper is used but my marshaller/unmarshaller is not and I subsequently get the following exception:
23:13:00,031 ERROR [ServerThread] failed to process invocation. java.io.StreamCorruptedException: invalid stream header at java.io.ObjectInputStream.readStreamHeader(ObjectInputStream.java:764) at java.io.ObjectInputStream.<init>(ObjectInputStream.java:277) at org.jboss.remoting.loading.ObjectInputStreamWithClassLoader.<init>(ObjectInputStreamWithClassLoader.java:73) at org.jboss.remoting.serialization.impl.java.JavaSerializationManager.createInput(JavaSerializationManager.java:52) at org.jboss.remoting.serialization.SerializationManager.createRegularInput(SerializationManager.java:44) at org.jboss.remoting.serialization.impl.java.JavaSerializationManager.receiveObject(JavaSerializationManager.java:123) at org.jboss.remoting.marshal.serializable.SerializableUnMarshaller.read(SerializableUnMarshaller.java:66) at org.jboss.remoting.transport.socket.ServerThread.processInvocation(ServerThread.java:350) at org.jboss.remoting.transport.socket.ServerThread.dorun(ServerThread.java:398) at org.jboss.remoting.transport.socket.ServerThread.run(ServerThread.java:239)
What am I missing? Please Help!