If an EJB returns a Response that includes javax.xml.datatype.XMLGregorianCalendar such as:
import java.io.Serializable; import javax.xml.datatype.XMLGregorianCalendar; public class Response implements Serializable { private XMLGregorianCalendar xmlGregorianCalendar; public Response() { } public void setXmlGregorianCalendar(XMLGregorianCalendar xmlGregorianCalendar) { this.xmlGregorianCalendar = xmlGregorianCalendar; } public XMLGregorianCalendar getXmlGregorianCalendar() { return xmlGregorianCalendar; } }
It will fail with a ClassNotFoundException.
This can be worked around by depending on the org.apache.xerces module, but this should not be required, since the application is not directly referencing the implementation class.
13:33:26,648 ERROR [stderr] (default task-1) Caused by: java.lang.ClassNotFoundException: org.apache.xerces.jaxp.datatype.SerializedXMLGregorianCalendar from [Module "deployment.jsf-ejb-ser.war" from Service Module Loader] 13:33:26,648 ERROR [stderr] (default task-1) at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:255) 13:33:26,648 ERROR [stderr] (default task-1) at org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:410) 13:33:26,648 ERROR [stderr] (default task-1) at org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:398) 13:33:26,648 ERROR [stderr] (default task-1) at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:116) 13:33:26,648 ERROR [stderr] (default task-1) at java.lang.Class.forName0(Native Method) 13:33:26,648 ERROR [stderr] (default task-1) at java.lang.Class.forName(Class.java:348) 13:33:26,648 ERROR [stderr] (default task-1) at org.jboss.marshalling.AbstractClassResolver.loadClass(AbstractClassResolver.java:129) 13:33:26,648 ERROR [stderr] (default task-1) at org.jboss.marshalling.AbstractClassResolver.resolveClass(AbstractClassResolver.java:110) 13:33:26,648 ERROR [stderr] (default task-1) at org.jboss.ejb.protocol.remote.EJBServerChannel$ServerClassResolver.resolveClass(EJBServerChannel.java:1209) 13:33:26,648 ERROR [stderr] (default task-1) at org.jboss.marshalling.river.RiverUnmarshaller.doReadClassDescriptor(RiverUnmarshaller.java:1048) 13:33:26,648 ERROR [stderr] (default task-1) at org.jboss.marshalling.river.RiverUnmarshaller.doReadNewObject(RiverUnmarshaller.java:1381) 13:33:26,649 ERROR [stderr] (default task-1) at org.jboss.marshalling.river.RiverUnmarshaller.doReadObject(RiverUnmarshaller.java:298) 13:33:26,649 ERROR [stderr] (default task-1) at org.jboss.marshalling.river.RiverUnmarshaller.doReadObject(RiverUnmarshaller.java:246) 13:33:26,649 ERROR [stderr] (default task-1) at org.jboss.marshalling.river.RiverUnmarshaller.readFields(RiverUnmarshaller.java:1879) 13:33:26,649 ERROR [stderr] (default task-1) at org.jboss.marshalling.river.RiverUnmarshaller.doInitSerializable(RiverUnmarshaller.java:1793) 13:33:26,649 ERROR [stderr] (default task-1) at org.jboss.marshalling.river.RiverUnmarshaller.doReadNewObject(RiverUnmarshaller.java:1421) 13:33:26,649 ERROR [stderr] (default task-1) at org.jboss.marshalling.river.RiverUnmarshaller.doReadObject(RiverUnmarshaller.java:298) 13:33:26,649 ERROR [stderr] (default task-1) at org.jboss.marshalling.river.RiverUnmarshaller.doReadObject(RiverUnmarshaller.java:231) 13:33:26,649 ERROR [stderr] (default task-1) at org.jboss.marshalling.AbstractObjectInput.readObject(AbstractObjectInput.java:41) 13:33:26,649 ERROR [stderr] (default task-1) at org.jboss.ejb.protocol.remote.EJBServerChannel$RemotingInvocationRequest.getRequestContent(EJBServerChannel.java:845) 13:33:26,649 ERROR [stderr] (default task-1) at org.jboss.as.ejb3.remote.AssociationImpl.receiveInvocationRequest(AssociationImpl.java:149) 13:33:26,649 ERROR [stderr] (default task-1) at org.jboss.ejb.protocol.remote.EJBServerChannel$ReceiverImpl.handleInvocationRequest(EJBServerChannel.java:477) 13:33:26,649 ERROR [stderr] (default task-1) at org.jboss.ejb.protocol.remote.EJBServerChannel$ReceiverImpl.handleMessage(EJBServerChannel.java:212) 13:33:26,649 ERROR [stderr] (default task-1) at org.jboss.remoting3.remote.RemoteConnectionChannel.lambda$handleMessageData$3(RemoteConnectionChannel.java:432) 13:33:26,649 ERROR [stderr] (default task-1) at org.jboss.remoting3.EndpointImpl$TrackingExecutor.lambda$execute$0(EndpointImpl.java:991) 13:33:26,649 ERROR [stderr] (default task-1) ... 6 more