public void attached(BeanContext beanCtx) { StatelessBeanContext sbc = (StatelessBeanContext)beanCtx; sbc.setMessageContextJAXRPC(jaxrpcMessageContext); EJBContext ejbCtx = beanCtx.getEJBContext(); SPIProvider spiProvider = SPIProviderResolver.getInstance().getProvider(); WebServiceContextFactory factory = spiProvider.getSPI(WebServiceContextFactory.class); ExtensibleWebServiceContext wsContext = factory.newWebServiceContext(InvocationType.JAXWS_EJB3, jaxwsMessageContext); wsContext.addAttachment(EJBContext.class, ejbCtx); sbc.setWebServiceContext(wsContext); }
public void attached(BeanContext beanCtx) { StatelessBeanContext sbc = (StatelessBeanContext)beanCtx; sbc.setMessageContextJAXRPC(jaxrpcMessageContext); EJBContext ejbCtx = beanCtx.getEJBContext(); SPIProvider spiProvider = SPIProviderResolver.getInstance().getProvider(); WebServiceContextFactory factory = spiProvider.getSPI(WebServiceContextFactory.class); ExtensibleWebServiceContext wsContext = factory.newWebServiceContext(InvocationType.JAXWS_EJB3, jaxwsMessageContext); wsContext.addAttachment(EJBContext.class, ejbCtx); sbc.setWebServiceContext(wsContext); }
public void attached(BeanContext beanCtx) { StatelessBeanContext sbc = (StatelessBeanContext)beanCtx; sbc.setMessageContextJAXRPC(jaxrpcMessageContext); BeanProperty beanProp = sbc.getWebServiceContextProperty(); if (beanProp != null) { EJBContext ejbCtx = beanCtx.getEJBContext(); SPIProvider spiProvider = SPIProviderResolver.getInstance().getProvider(); WebServiceContextFactory factory = spiProvider.getSPI(WebServiceContextFactory.class); ExtensibleWebServiceContext wsContext = factory.newWebServiceContext(InvocationType.JAXWS_EJB3, jaxwsMessageContext); wsContext.addAttachment(EJBContext.class, ejbCtx); beanProp.set(beanCtx.getInstance(), wsContext); } }
public void attached(BeanContext beanCtx) { StatelessBeanContext sbc = (StatelessBeanContext)beanCtx; sbc.setMessageContextJAXRPC(jaxrpcMessageContext); BeanProperty beanProp = sbc.getWebServiceContextProperty(); if (beanProp != null) { EJBContext ejbCtx = beanCtx.getEJBContext(); SPIProvider spiProvider = SPIProviderResolver.getInstance().getProvider(); ExtensibleWebServiceContext wsContext = spiProvider.getSPI(WebServiceContextFactory.class).newWebServiceContext(InvocationType.JAXWS_EJB3, jaxwsMessageContext); wsContext.addAttachment(EJBContext.class, ejbCtx); beanProp.set(beanCtx.getInstance(), wsContext); } }
/** * WS Integration * @param method * @param args * @param invCtxCallback * @return * @throws Throwable */ public Object invokeEndpoint(Method method, Object[] args, InvocationContextCallback invCtxCallback) throws Throwable { // JAX-RPC message context javax.xml.rpc.handler.MessageContext jaxrpcContext = invCtxCallback.get(javax.xml.rpc.handler.MessageContext.class); // JAX-WS webservice context SPIProvider spiProvider = SPIProviderResolver.getInstance().getProvider(); WebServiceContextFactory contextFactory = spiProvider.getSPI(WebServiceContextFactory.class); ExtensibleWebServiceContext jaxwsContext = contextFactory.newWebServiceContext( InvocationType.JAXWS_EJB3, invCtxCallback.get(javax.xml.ws.handler.MessageContext.class) ); // ThreadLocal association WebServiceContextProxy.associateMessageContext(jaxwsContext); // EJB3 Injection Callbacks WSCallbackImpl ejb3Callback = new WSCallbackImpl( jaxrpcContext, jaxwsContext ); // Actual invocation return this.localInvoke(method, args, ejb3Callback); }