原文鏈接:https://blog.csdn.net/cherry_11qianqian/article/details/82662315
見名之意,@WebParam表示方法的參數,@WebResult表示方法的返回值,根據下面的案例,我們看一下,加或者不加這兩個注解對發布的方法的影響
一:不加這兩個注解
@WebService
public class SayWeb {
@WebMethod(operationName="sayHello")
public String sayHello(String name,int i){
i++;
return "hello"+name;
}
@WebMethod(operationName="bye")
public void sayBye(boolean f){
System.out.println("bye");
}
/**
* main方法中發布
* */
public static void main(String[] args) {
String address="http://localhost:9001/service/sayweb";
Endpoint.publish(address, new SayWeb());
System.out.println("發布成功");
}
}
發布之后,查看wsdl文檔中的schemLocation的地址:
如圖,兩個方法的參數都從arg0,開始,隨着參數增多,name不斷增加為arg1,arg2..........;返回值名字為return
二:加上注解
@WebService
public class SayWeb {
@WebMethod(operationName="sayHello")
@WebResult(name="helloName")
public String sayHello(@WebParam(name="oldName")String name,@WebParam(name="age")int i){
i++;
return "hello"+name;
}
@WebMethod(operationName="bye")
public void sayBye(@WebParam(name="flag")boolean f){
System.out.println("bye");
}
/**
* main方法中發布
* */
public static void main(String[] args) {
String address="http://localhost:9001/service/sayweb";
Endpoint.publish(address, new SayWeb());
System.out.println("發布成功");
}
}
如圖,方法參數以及方法返回值跟注解保持一致