我们有一个简单的Web服务客户端调用者UpdaterService(自动生成的,扩展javax.xml.ws.Service)。该类有一个getUpdaterPort函数,它包装了super的getPort函数(这也是标准函数)。
调用getUpdaterPort的返回值是Updater接口:
/ ** *此类由JAX-WS RI生成。 * JAX-WS RI 2.1.7-hudson-48- *生成的源版本:2.1 * * / @WebService(name =“Updater”,targetNamespace =“http://updater.glassfish.com/”) @XmlSeeAlso({ ObjectFactory.class }) 公共接口更新程序{
/**
*
* @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);
}
对updateWar的调用很长,因为通过它上传了一个20MB的数组。我们希望能够了解正在进行的进展,以便报告每10%的进展情况。
有没有办法可以挂钩这个电话并知道它有多远?
答案 0 :(得分:0)
This answer可能就是你想要的。基本上,创建一个Web服务来分配进程ID,开始上传(将进程ID作为输入参数,以及要上载的实际数据),然后创建另一个报告上载进度的Web服务( ID作为输入参数)。