最近几天我在互联网上搜索解决了这个问题,但我还是无法解决这个问题。问题是这个。我在Eclipse Indigo中实现了一个简单的Web服务,如下所示
package com.testvtfour.ws;
public class Customer {
private String name;
public void setName(String name) {
this.name = name;
}
public String getName() {
return name;
}
}
Web服务部分是完美的。我使用Axis2作为肥皂引擎& Tomcat 7作为服务器。当我尝试使用此Web服务时出现问题。我在eclipse& amp;创建了Web服务客户端。 Axis2自动生成“CusstomerCallBackHandler”& “CustomerStub”。以下是已实施的客户
package com.testvtfour.ws;
import java.rmi.RemoteException;
import com.testvtfour.ws.CustomerStub.SetName;
import com.testvtfour.ws.CustomerStub.GetNameResponse;
public class TestClient {
public static void main(String[] args)throws RemoteException{
CustomerStub stub = new CustomerStub();
com.testvtfour.ws.CustomerStub.SetName obj = new
com.testvtfour.ws.CustomerStub.SetName();
obj.setName("Grant");
stub.setName(obj);
com.testvtfour.ws.CustomerStub.GetNameResponse res = stub.getName();
System.out.println(res.get_return());
}
}
但总是打印“null”。这是为什么?我怎么解决这个问题? &安培;我想知道这种客户端的更新值可以在Android应用程序中显示。因为这是我项目的第二部分。请帮我。 谢谢。
答案 0 :(得分:2)
Axis2 Web服务通常是无状态的。这意味着getName()
在与调用setName()
不同的实例上调用,因此当您尝试检索name
时{{1}}为空。