我想在Java Web服务类中实现方法重载,如下所示:
public String myMethod(User user)
{
// My code
}
public String myMethod(User[] user)
{
for(int i=0; i<user.length; i++)
{
myMethod(user[i]);
}
}
如果我将单个User
对象转发给myMethod()
,它应该触发第一个方法,如果我发送一个User
数组,它应该触发第二个方法。
在WSDL文件中,它只显示一个方法。但是,如果我尝试为两个调用调用@WebMethod(operationName="")
,我将无法生成WSDL文件。
答案 0 :(得分:16)
答案 1 :(得分:5)
重载Web服务方法并不困难。至少使用Axis 1.4非常简单。如果服务中有两个重载方法,如下所示:
public String myMethod(String firstName, String lastName) throws RemoteException
public String myMethod(String name) throws RemoteException
然后是这样的请求:
http://localhost:8080/services/testService?method=myMethod&name=<name>
将调用第二种方法。
这样的请求:
http://localhost:8080//services/testService?method=myMethod&firstName=<first_name>&lastName=<last_name>
将调用第一种方法。
决议由Axis完成。