EJBTHREE-2056 changes the state of the naming context within the lifecycle of EJBContainer. In essence this is an implementation detail. With this change WS no longer deploys:
java.lang.IllegalStateException: EJBTHREE-2056: EjbEncFactory is null, usage of java:comp is not allowed before CREATE at org.jboss.ejb3.EJBContainer$1.invoke(EJBContainer.java:819) at $Proxy146.lookup(Unknown Source) at org.jboss.webservices.integration.injection.InjectionMetaDataDeploymentAspect.getJndiContext(InjectionMetaDataDeploymentAspect.java:186) at org.jboss.webservices.integration.injection.InjectionMetaDataDeploymentAspect.start(InjectionMetaDataDeploymentAspect.java:149) at org.jboss.webservices.integration.deployers.WSDeploymentAspectDeployer.internalDeploy(WSDeploymentAspectDeployer.java:114) at org.jboss.deployers.spi.deployer.helpers.AbstractRealDeployer.deploy(AbstractRealDeployer.java:55) at org.jboss.deployers.plugins.deployers.DeployerWrapper.deploy(DeployerWrapper.java:179) ... 69 more
As a quick work-around you could set a dependency on the EJBContainer before you start the InjectionMetaDataDeploymentAspect.
The final resolution needs to be tied into the jboss-injection component.
PS. I can't figure out what EJB3_JNDI_PREFIX is supposed to mean.