实现无状态EJB 3.1以调用Web服务的正确方法是什么?我的客户端作为Servlet工作,但是我想将调用移动到EEJ bean中。我必须在SOAP头信封中添加用户名和密码才能访问WS,这很正常。
servlet正在使用的服务如下所示;
@WebServiceClient(name = "MessageService", targetNamespace = "http://...", wsdlLocation = "...wsdl")
public class MessageService
extends Service
我可以在无状态EJB中包装MessageService
,还是bean本身应该在不包装MessageService的情况下使用@webservicef
(如教程中所示)?
辅导的
如果客户端和提供者位于应用服务器上的同一个EAR或WAR中,则可以像顺序EJB一样调用。
@WebService
@Stateless
public class CalculatorBean implements Calculator {
public int add(int a, int b) {
return a + b;
}
}
CalculatorBean
是线程安全的。add
方法中出现的所有业务逻辑都是容器管理事务的一部分,不参与任何全局事务。
或者,客户机代码可以在JNDI命名空间中查找。
运行时可以将服务对象或端口对象注入到用javax注释的成员变量中。xml。ws。WebServiceRef
。
@WebServiceRef(CalculatorService.class)
private Calculator port;
CalculatorService
类用javax注释。xml。ws。WebServiceClient
注释(服务的客户端),它具有wsdlLocation
属性。
如果您想将WebService包装到EJB中,请参见下面的答案。有关这方面的讨论,请参阅EJB和Web服务:两全其美。
问题内容: 我正在阅读Java EE 6教程,试图理解无状态会话bean和有状态会话bean之间的区别。如果无状态会话bean在方法调用之间没有保持其状态,为什么我的程序按原样运行? 客户端 我原本希望getNumber每次都返回0,但它返回1,并且在浏览器中重新加载servlet会使它更多。问题在于我对无状态会话Bean如何工作的理解,而与库或应用程序服务器无关。有人可以给我一个无状态会话bea
Web服务客户端 web服务客户端可以通过两种方式访问Java EE应用程序。首先,客户端可以访问用JAX-WS创建的web服务。(有关JAX-WS的更多信息,请参阅第19章,使用JAX-WS构建Web服务。)其次,web服务客户端可以调用无状态会话bean的业务方法。web服务客户端无法访问消息bean。 只要使用正确的协议(SOAP、HTTP、WSDL),任何web服务客户机都可以访问无状态会
问题内容: 我有stfw,但是找不到在Java中创建Web服务客户端的简单/独立方法。 有人在此链接/示例吗? 问题答案: 使用Axis2怎么样? 只需按照快速入门指南进行操作,就可以轻松应对。 这是另一个更具描述性的指南
问题内容: 我正在制作客户端服务器MMO风格的游戏。到目前为止,我已经建立了框架,以便服务器和客户端相互交互以提供状态更新。服务器维护游戏状态并定期计算下一个状态,然后每隔一段时间(每n毫秒)将其发送给所有客户端。用户可以在客户端查看此新状态并做出反应。然后,将这些操作发送回服务器进行处理,并发送给下一次更新。 明显的问题是这些更新在服务器和客户端之间传播需要花费时间。如果客户端采取行动攻击敌人,
我不理解无状态会话bean。文档说,instances变量可能包含特定于客户机的状态,然后说,当方法完成时,不应该保留状态。
我是java和web服务以及的新手。我最近使用一些教程创建了一个web服务。当我第一次学习eclipse教程时,让我创建一个客户机。但是当我尝试创建一个新项目和一个新的web服务客户机时,它会给出。具体如下所示: im使用Axis2-1.6.1,它说java遵从性级别是6,我搜索了一下,但是找不到解决这个问题的相关方案。感谢任何帮助。