您的位置:首页 > 其它

webservice第一天,入门

2017-07-14 09:34 197 查看
WebService:
一.通过jdk自带的Endpoint类实现远程调用方法,注意的是
  我们给别人访问的类必须加上注解@WebService,方法加
  上@WebMethod,我们可以通过我们自己提供的地址先访问
  下看能不能访问,访问的路径后面加上?wsdl,这样我们看
  到的只是一个xml标签如果想要转换为java代码我们需要
  借助jdk提供的wsimport.exe命令比如:
wsimport -d "生成的代码放在那里" -p "那个包下" -keep "URL路径"

二.参考官网提供的URL路径(天气,手机号码归属地,等等等) http://www.webxml.com.cn/zh_cn/index.aspx 比如:wsimport -d "D:\myEclipseInstallDirectory\WebService\src\main\java" -p "cn.et.webLession01.flightInformation" -keep "http://ws.webxml.com.cn/WebServices/TraditionalSimplifiedWebService.asmx?wsdl"

三.引用一些URL的时候会抛出s:shem无法转换为s:element这
  个都是引用的错误,查看博客:http://blog.sina.com.cn/s/blog_924d6a570102w203.html
  
四.框架(XFire)
简介:XFire在2007年后已停止更新,正式更名为Apache CXF,亦
    XFire2.0,2007年被收购.
1.Apache-cxf依赖jar地址:http://mvnrepository.com/artifact/org.apache.cxf/apache-cxf/2.6.2
 官网依赖(maven):http://cxf.apache.org/docs/using-cxf-with-maven.html
2.使用框架来发布webservice,同样和使用jdk自带的也一样,类上加注解
 @WebService,方法使用@WebMethod,注入在接口
3.通过JaxWsServerFactoryBean这个类发布webservice,注意发布的那个
 实体类必须要有一个接口否则就不行,创建JaxWsServerFactoryBean的
 实例,并且注入,提供的地址(setAddress),实体类注入(setServiceBean)
 并且还要将接口告诉它(setServiceClass),这三个必须要注入,然后再调
 用方法create发布webservice.
[4].提供日志打印功能:
1.导入依赖jar:
<dependency>
 <groupId>org.slf4j</groupId>
 <artifactId>slf4j-log4j12</artifactId>
 <version>1.7.2</version>
</dependency>
2.编写log4j.properties文件,可以参考http://blog.csdn.net/wanglilin/article/details/7050714
5.调用:
1.当两个人协商以后,我们可以不通过wsimport这个命令来生成
 代码,直接建一个接口,将别人写的接口方法和我们写的一样
 即可,参数一致即可,并且加上@WebService注解
2.通过JaxWsProxyFactoryBean这个代理类,实例注入地址(setAddress)
 接口(setServiceClass),然后调用方法create得到接口的实体
 再调用对应的方法
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: