• @WebService @WebMethod 详解


    形象图解

    首先AB均需要@WebService
    如果

    @WebService(endpointInterface="package.B")
    public class A implements/extends B

    那么有以下三种情况
    1. A的自有方法(不能被发现)
    2. A的重写方法(被发现且使用该方法)
    3. A的继承方法(被发现且使用父类该方法)

              A          B
              |
    --->----<-|          |->
    --->----<------------|->

    @WebService

    Marks a Java class as implementing a Web Service, or a Java interface as defining a Web Service interface.

    name

    wsdl:portType

    提供方法的类的别名

    默认是该类名

    HelloServiceImpl serv = service.getPort(HelloServiceImpl.class);

    targetNamespace

    在A使用(AB模式)wsdl:service
    在B使用(AB模式)wsdl:portType
    在A使用(A  模式)wsdl:service 、wsdl:portType

    使用 endpointInterface="package.B" 开启AB模式

    命名空间未指定的使用默认命名空间

    命名空间影响client生成代码时的package

    serviceName

    wsdl:service 

    QName qname = new QName("http://impl.service.zno.cn/","HelloService1");

    默认serviceName 是 默认name+Service

    指定name不能改变serviceName ,依旧是默认name+Service

    portName

    wsdl:port

    不同于name ,它只影响xml ,不会影响client生成代码

    wsdlLocation

    The location of a pre-defined WSDL describing the service.

    endpointInterface

    定义服务的抽象web服务,暴露用 

    @WebMethod

    operationName

    wsdl:operation

    方法伪装

    action

    soap action 

    exclude

    方法排除用

  • 相关阅读:
    HDU_2191_多重背包
    HDU_1494_dp
    POJ_1088_dfs
    所有的畅通工程[HDU1232][HDU1874][HDU1875][HDU1879]
    畅通工程[HDU1863]
    还是畅通工程[HDU1233]
    最小生成树
    Who's in the Middle[HDU1157]
    Bungee Jumping[HDU1155]
    Is It A Tree?[HDU1325][PKU1308]
  • 原文地址:https://www.cnblogs.com/zno2/p/4651238.html
Copyright © 2020-2023  润新知