I am not a big JAXB / JAX-WS guy, but: he is probably right.
One template that we use internally for this is that when you send objects across the border of a web service, you basically smooth them into something that is expressed solely in the dictionary of your WS-I profile - this is to manually serialize any object, which you are trying to send, and provide some context for the deserialization process through an enumeration that is clear to the caller and the service.
The following simple example DemuxEnumwill be an enumeration that contains values for all types that you want to send:
MyObject obj = new MyObject();
ByteArrayOutputStream byteOutStream = new ByteArrayOutputStream();
ObjectOutputStream objectOut = new ObjectOutputStream(byteOutStream);
objectOut.writeObject(obj);
objectOut.close();
byte[] serializedObject= byteOutStream.toByteArray();
someWSObject.SendObject(DemuxEnum.MyObjectType, serializedObject);
-, (DemuxEnum, byte[]). /, Apache Thrift Google ProtocolBuffers.
. , -, . , , -, , .