【web】webService深入理解

理解httpUtils和webService的运用
JaxWsProxyFactoryBean调用WebService实例

第一部分:webService

什么是webService???有什么用,业务场景????
一言以蔽之:WebService是一种跨编程语言和跨操作系统平台的远程调用技术。
很好地了解webService
参考:https://blog.csdn.net/gghh2015/article/details/78005415

目前使用的是
JaxWsProxyFactoryBean调用WebService实例
公司例子:

https://blog.csdn.net/fanbaodan/article/details/86010779

首先理解rmi:
rmi运行机制
**【RMI】**远程方法调用,纯java的RPC框架,在RMI中最核心的为远程对象。A发布了服务,生成stub对象,B拿到stub对象,调用对象的方法进行传输。
详情参考:

https://blog.csdn.net/a11112244444/article/details/92074690

常用注解
@WebService()

该注解用于对接口,类进行注解,表示要发布的web服务

  1. serviceName:发布的web服务名称;缺省值为java类的名称+Service(字符串) //如java类名称为SayWeb ,wsdl文档中 serviceName默认情况
  2. name:此属性的值包含XML Web Service的名称,对应wsdl文档中portType 的名称。 缺省值为 Java 类或接口的非限定名称。(字符串) //wsdl文档中 portType默认情况

    portName:对应wsdl文档中portName,缺省值为 WebService.name+Port //wsdl文档中 portName 默认情况​
    <soap:address location=“http://localhost:9001/service/sayweb”/>

如何正确阅读WSDL标签?
参考:

https://my.oschina.net/hnzmdpan/blog/863048
https://my.oschina.net/hnzmdpan/blog/863195
  1. targetNamespace:指定你想要的名称空间,认是使用接口实现类的包名的反缀 //wsdl文档中targetNamespace默认情况
    targetNamespace=“http://say_service/”,在标签中
    targetNamespace要指向服务类的接口所在的包名而不是实现类的包名,否则,在客户端将不能识别可用的服务
  2. wsdlLocation:指定用于定义 Web Service 的 WSDL 文档的 Web 地址。默认情况是发布地址+?wsdl

@XmlSeeAlso({ ObjectFactory.class })
https://www.cnblogs.com/wushifeng/p/6122266.html

@WebMethod
注解里的operationName属性值,为调用者所使用到的方法名。即,客户端里的方法名。至于action属性,好像没有啥用。

@WebParam
用来声明参数,其name属性,则为调用者用到的参数名。partName属性,好像没有啥用。JDK的解释为:“表示此参数的 标签的名称。此名称仅在操作是 rpc 样式,或者操作是文档样式且参数样式为 BARE 时使用。”

@WebResult
用来指明返回值,其name指明返回的标签的名字。而partName属性,也好像没有啥用,同@WebParam注解里的一样。

公司如何调用webService???
1、根据系统配置参数,查询出url
2、根据url读取WSDL文件

https://blog.csdn.net/qq_38252039/article/details/100026841

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值