微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

【WebService】webservice常用注解——@WebService和@WebMethod

见名之意,@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("发布成功");        
    }
}

发布之后,查看wsdl文档中的schemLocation的地址:

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

参考文章

https://blog.csdn.net/cherry_11qianqian/article/details/82662315

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐