我正在对一些java应用程序进行更改,并且我注意到它们在循环的每次迭代中实例化服务客户端,如下所示:
n <- 4
distancevector <- c(0.1, 0.2, 0.3, 0.4, 0.5, 0.6)
D <- diag(n)
D[lower.tri(D)] <- distancevector
D[upper.tri(D)] <- t(D)[upper.tri(D)]
> D
[,1] [,2] [,3] [,4]
[1,] 1.0 0.1 0.2 0.3
[2,] 0.1 1.0 0.4 0.5
[3,] 0.2 0.4 1.0 0.6
[4,] 0.3 0.5 0.6 1.0
而不是像以下那样获得端口:
for(String name : names) {
HelloService helloWS = new HelloService();
HellowServicePort helloPort = helloWS.getHelloServicePort();
helloPort.sayHello(name);
}
使用第二种方法会有什么不同吗?
答案 0 :(得分:1)
是的,您可以多次重复使用端口对象,而无需创建新的端口对象。
我之前的评论不正确,正如JoãoRebelo所指出的那样。
我已使用此计算器服务验证了它
http://www.webservicex.com/globalweather.asmx?WSDL
使用wsdl2java http://www.webservicex.com/globalweather.asmx?WSDL
以下代码完美无缺。
Calculator calculatorClient = new Calculator();
ICalculator port = calculatorClient.getICalculator();
for(int i = 0; i < 10; i++) {
float x = (float)Math.random() * 100;
float y = (float)Math.random() * 100;
System.out.printf("%f + %f = %f%n", x, y, port.add(x, y));
}