Java 从EJB使用Web服务-配置超时(Weblogic)

Java 从EJB使用Web服务-配置超时(Weblogic),java,web-services,timeout,ejb,weblogic,Java,Web Services,Timeout,Ejb,Weblogic,我遇到了一个问题集超时,无法从EJB客户端调用webservices。 使用Weblogic作为容器 [编辑] Web服务不在同一个服务器中,如果我设置了JTA超时,它将毫无例外地回滚JTA事务,而不取消以前的调用。 这个过程从MDB开始,当JTA过期时,它会一次又一次地使用JMS,每个调用WS-Sever的web服务都会保持活动状态。 [/edit] 这就是我的步骤: 使用wsimport创建存根 创建了一个代理类来调用webservice 从EJB调用webservice 超时设置:


我遇到了一个问题集超时,无法从EJB客户端调用webservices。 使用Weblogic作为容器

[编辑]
Web服务不在同一个服务器中,如果我设置了JTA超时,它将毫无例外地回滚JTA事务,而不取消以前的调用。
这个过程从MDB开始,当JTA过期时,它会一次又一次地使用JMS,每个调用WS-Sever的web服务都会保持活动状态。
[/edit]

这就是我的步骤:

  • 使用wsimport创建存根
  • 创建了一个代理类来调用webservice
  • 从EJB调用webservice
  • 超时设置:

        // Setting timeout
        BindingProvider bindingProvider = (BindingProvider) getService();
        Map<String, Object> context = bindingProvider.getRequestContext();
        context.put(JAXWSProperties.CONNECT_TIMEOUT, 5000);
        context.put(JAXWSProperties.REQUEST_TIMEOUT, 20000);
    

    知道如何从Weblogic EJB设置超时调用吗?

    试试下面帖子中的说明:@Oldskultxo谢谢你的回答,但是webservices不在同一台服务器上,如果我设置JTA超时,它将毫无例外地回滚JTA事务,而不会取消以前的调用,这个过程从MDB开始,当JTA过期时,它会一次又一次地使用JMS,每个调用WS-sever的web服务都会保持活动状态。无论如何,谢谢
        @AccessTimeout(value=2000)