怒得网友100000赞,webservice中常用注解——@WebParam @WebResult详细描述

简介: 怒得网友100000赞,webservice中常用注解——@WebParam @WebResult详细描述

@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的地址:

ef6677f47758de512f07bd7fa37ef2b.png

如图,两个方法的参数都从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("发布成功");   
  }
}

如图,方法参数以及方法返回值跟注解保持一致

了解 @WebService @WebMethod

@Webservice

l  @WebService注解,作用在具体类上。而不是接口。

l  一个类只有添加了此注解才可以通过Endpoint发布为一个web服务。

l  一个添加了此注解的类,必须要至少包含一个实例方法。静态方法和final方法不能被发布为服务方法。

WebService注解包含以下参数:

image.png

@WebMethod

l  此注解用在方法上,用于修改对外暴露的方法。

image.png

@WebResult用于定制返回值到WSDL的映射:

image.png


目录
相关文章
|
Web App开发 XML Java
Web Service描述语言 WSDL 详解
http://www.blogjava.net/libin2722/articles/159469.html 为什么使用WSDL?  像Internet协议之类的标准有没有为权威所利用,或者人们这样看待它是因为顺之所获的好处远远超出了代价?曾经有许多试图建立的标准都流产了。
842 0
|
5月前
|
XML Java 应用服务中间件
WebService - Axis2基于JAX-WS开发WebService并发布多个WebService
WebService - Axis2基于JAX-WS开发WebService并发布多个WebService
36 0
|
5月前
|
Java 应用服务中间件 Spring
WebService - Axis2使用services.xml进行开发server与client(未与Spring整合)
WebService - Axis2使用services.xml进行开发server与client(未与Spring整合)
49 0
|
5月前
|
Java 应用服务中间件 Spring
WebService - CXF开发Server和Client(main方法测试)
WebService - CXF开发Server和Client(main方法测试)
40 0
|
Java Android开发
哇!eclipse+webservice开发实例居然这样写(有源码可用)
哇!eclipse+webservice开发实例居然这样写(有源码可用)
108 0
哇!eclipse+webservice开发实例居然这样写(有源码可用)
|
Java 应用服务中间件 Apache
webservice开发不得不知的细节,Error creating bean with name ‘org.apache.cxf.jaxws.EndpointImpl---1987203924‘
webservice开发不得不知的细节,Error creating bean with name ‘org.apache.cxf.jaxws.EndpointImpl---1987203924‘
125 0
|
缓存 应用服务中间件 数据库
python web service开发
记录第一个web python服务
9819 0
python web service开发
|
测试技术 Java 应用服务中间件