@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

方法排除用

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM