Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/397.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
报告Java中的web服务调用进度_Java_Web Services - Fatal编程技术网

报告Java中的web服务调用进度

报告Java中的web服务调用进度,java,web-services,Java,Web Services,我们有一个简单的Web服务客户端调用程序更新服务,即自动生成的服务,扩展了javax.xml.ws.Service。这个类有一个getUpdaterPort函数,它封装了super的getPort函数,这也是标准的 调用getUpdaterPort的返回值是一个更新程序接口: /** *这个类是由JAX-WSRI生成的。 *JAX-WSRI 2.1.7-hudson-48- *生成的源版本:2.1 * */ @WebServicename=更新程序,targetNamespace= @XmlS

我们有一个简单的Web服务客户端调用程序更新服务,即自动生成的服务,扩展了javax.xml.ws.Service。这个类有一个getUpdaterPort函数,它封装了super的getPort函数,这也是标准的

调用getUpdaterPort的返回值是一个更新程序接口:

/** *这个类是由JAX-WSRI生成的。 *JAX-WSRI 2.1.7-hudson-48- *生成的源版本:2.1 * */ @WebServicename=更新程序,targetNamespace= @XmlSeeAllow{ ObjectFactory.class } 公共接口更新程序{

}

对updateWar的调用相当长,因为一个20MB的数组是通过它上传的。我们希望能够了解正在取得的进展,以便报告每10%的进展


有什么方法可以挂接这个电话,并知道它有多远?

可能是您想要的。基本上,创建一个web服务来分配一个进程ID,以进程ID作为输入参数启动上载,以及要上载的实际数据,然后创建另一个web服务,以ID作为输入参数报告上载进度

可能就是你想要的。基本上,创建一个web服务来分配一个进程ID,以进程ID作为输入参数启动上载,以及要上载的实际数据,然后创建另一个web服务,以ID作为输入参数报告上载进度

这一切都很美好,但这是如何实现的呢?在JavaEE中,没有合法的方法来启动线程并自己安排它。维护ID的注册表在哪里/什么地方?JNDI?一个DB?有人指出,这正是我们试图为Java实现的,但我们不知道如何在那里钩住这些机制。这一切都很好,但这是如何实现的?在JavaEE中,没有合法的方法来启动线程并自己安排它。维护ID的注册表在哪里/什么地方?JNDI?有人指出,这正是我们试图为Java实现的目标,但我们不知道如何将这些机制挂接在那里。
/**
 * 
 * @param arg2
 * @param arg1
 * @param arg0
 * @return
 *     returns java.lang.String
 */
@WebMethod
@WebResult(targetNamespace = "")
@RequestWrapper(localName = "updateWar", targetNamespace = "http://updater.glassfish.com/", className = "com.abc.utils.updaterclient.client.UpdateWar")
@ResponseWrapper(localName = "updateWarResponse", targetNamespace = "http://updater.glassfish.com/", className = "com.abc.utils.updaterclient.client.UpdateWarResponse")
public String updateWar(
    @WebParam(name = "arg0", targetNamespace = "")
    String arg0,
    @WebParam(name = "arg1", targetNamespace = "")
    String arg1,
    @WebParam(name = "arg2", targetNamespace = "")
    byte[] arg2,
    @WebParam(name = "arg3", targetNamespace = "")
    byte[] arg3);