WsService is invoked after an application completes Assembler.createApplication(). For POJO webservices to work, the WsService must be able to locate WebDeploymentInfo, but the WebDeploymentInfo is not registered until after Assembler.createApplication() return.
Further, WsService must be able to locate the Tomcat servlet Wrapper for the POJO webservice to set the servlet's webservice container. Assembler.createApplication() is executed in response to StandardContext start event, but no servlet wrappers are loaded until after the StandardContext after-start event. This means that the WsService can not initialize the POJO webservice container ref in the servlet.
To reproduce run installer, reboot, load ejb-examples.war and load http://localhost:8080/ejb-examples/webservice