1.webservice简述
webservice是基于http协议的组件服务目的,让一个程序可以透明的调用互联网程序,只要被调用者公开服务接口,远端服务就可以调用。
功能:异形网络,能够横向的连接在一起。
2.webservice开源的项目
(1).axis 1.x/2.x
(2)xFire
(3)cxfs
3.下载axis-bin-1_4.zip,解压后找到webapps/axis,然后放入到tomcat中的webapps中,然后启动tomcat,
访问http://localhost:8080/axis
4.axis
即时服务:
(1)写Java代码,编写类,方法(Hellows.java)
(2)修改文件的后缀。(改为hellows.jws)
(3)并放入到tomcat/webapps/axis/下
(4)访问http://localhost:8080/axis/Hellows.jws?wsdl 显示下图结果说明正确,但是创建Hellows.java不能建包,否则出错,删除包才成功的。
注意:没有Java源码,(class/jar/存在包结构)---不能使用jws
(5)编写访问的客户端代码
定制发布 WSDD
(1)只有class,包含包的结构
实现步骤:
a.编写带有包结构的Java代码(方法的编写)
b.将程序进行编译(形成class文件)
c.将编译后的结果(包含包的层次结构)文件,拷贝到tomcat/axis/WEB-INF/class的目录下
d.使用命令在axis服务平台注册服务(声明服务的方法)
axis\web-inf下编写一个当前项目的一个配置文件server-config.wsdl
>1 编写一个*.wsdd文件,描述一个wsdl服务。(注:可以在axis\axis-bin-1_4\axis-1_4\samples\stock文件下找到一个例子,deploy.wsdd)
<deployment name="test" xmlns="http://xml.apache.org/axis/wsdd/"
xmlns:java="http://xml.apache.org/axis/wsdd/providers/java">
<service name="urn:cominfo" provider="java:RPC">
<parameter name="className" value="指明要发布的类的绝对位置" />
<parameter name="allowedMethods" value="发布的方法名(*)" />
<parameter name="allowedRoles" value="user3"/>
<requestFlow type="checks"/>
</service>
</deployment>
>2在axis\web-inf下执行命令
java org.apache.axis.client.AdminClient *.wsdd :axis.jar
e.文件结构
axis
web-inf
---------server-config.wsdd
classes
--包结构的Java类