Web
服务是各种商业、应用、系统服务的基于
XML
标准的接口。
Web
服务的技术核心就是基于这些开放的标准:服务的提供者可以用
WSDL
(
Web Services Description Language
)描述
Web
服务;在
UDDI Registry
里发布、注册
Web
服务,服务的使用者通过
UDDI
(
Universal Description, Discovery and Integration
)进行查询,找到他们所需的服务后可以利用
SOAP
(
Simple Object Access Protocol
)来绑定、调用这些服务,可以说
XML
是构建
Web
服务的基石。
Web
服务秉承了
XML
语言的优势,是一种实实在在的与开发语言、平台无关的开发技术,而且它的技术规范都是公开的。
SOAP是Web Services的根本。它是一种具有扩展性的XML消息协议。SOAP提供了一个应用程序向另一个应用程序发送XML消息的简单而一致的机制。SOAP是一个仅定义消息结构及一些消息处理规则的高层协议。它完全与底层的协议独立,因此SOAP消息能通过HTTP、JMS或邮件通讯协议来传输。但在当前,通常使用HTTP协议来传送SOAP消息。
WSDL是一份包含Web Service描述信息的XML文档,它包含了访问和使用一个Web Service所需要的所有信息,包括这个Web Service的功能、怎样与其通信及它的位置
二、
Webservice
实现方式
Web service
正在作为一种用于构建客户端
-
服务器应用程序的标准出现,
编写Web service
有多种方式,包括手写和使用工具包。有各种可用于Java
的工具包,包括开源的
Axis
和
Sun
编写的
JAX-RPC
标准实现
三、
axis
的实践
Axis
框架来自
Apache
开放源代码组织,它是基于
JAVA
语言的最新的
SOAP
规范(
SOAP 1.2
)和
SOAP with Attachments
规范(来自
Apache Group
)的开放源代码实现。
AXIS
完全支持
WSDL
以及日志记录、出错以及故障处理机制。它同时提供一些工具用来讲
WSDL
文档转换成客户端的调用框架以及根据类来产生
WSDL
定义文档。
AXIS
的最新版本是
1.3
,可以从
http://ws.apache.org/axis/index.html
下载。
生成或取得
WSDL
文件
:
Java2WSDL 是 Axis 提供的利用 Java 类文件得到 WSDL 文件的工具。类文件可以使用接口文件编译生成。
Java2WSDL 是 Axis 提供的利用 Java 类文件得到 WSDL 文件的工具。类文件可以使用接口文件编译生成。
生成
WSDL
文件以后,就可以利用
Axis
提供的
WSDL2Java
工具生成
Web
服务的服务端代码和客户端代码了
WSDL 文件也可以由合作伙伴提供。这种情况下合作伙伴往往是 Web 服务的提供者或标准接口的制定者,开发者只要按照既定的 WSDL 文从件生成客户端或服务端代码就可以了。
WSDL 文件也可以由合作伙伴提供。这种情况下合作伙伴往往是 Web 服务的提供者或标准接口的制定者,开发者只要按照既定的 WSDL 文从件生成客户端或服务端代码就可以了。
新建一个helloTest工程
将axis-1_3/webapps/axis/WEB-INF/lib/目录下的jar文件复制到HelloTest/WEB-INF/lib
1.2
在
WEB-INF/web.xml
加入如下配置文件
:
<
display-name
>
Apache-Axis
</
display-name
>
<
listener
>
<
listener-class
>
org.apache.axis.transport.http.AxisHTTPSessionListener
</
listener-class
>
</
listener
>
<
servlet
>
<
servlet-name
>
AxisServlet
</
servlet-name
>
<
servlet-class
>
org.apache.axis.transport.http.AxisServlet
</
servlet-class
>
</
servlet
>
<
servlet
>
<
servlet-name
>
AdminServlet
</
servlet-name
>
<
servlet-class
>
org.apache.axis.transport.http.AdminServlet
</
servlet-class
>
<
load-on-startup
>
100
</
load-on-startup
>
</
servlet
>
<
servlet
>
<
servlet-name
>
SOAPMonitorService
</
servlet-name
>
<
servlet-class
>
org.apache.axis.monitor.SOAPMonitorService
</
servlet-class
>
<
init-param
>
<
param-name
>
SOAPMonitorPort
</
param-name
>
<
param-value
>
5001
</
param-value
>
</
init-param
>
<
load-on-startup
>
100
</
load-on-startup
>
</
servlet
>
<servlet
-mapping>
<servlet-name>AxisServlet</servlet-
name>
<url-pattern
>
/ser
v
let/AxisServ
l
et</url-pat
te
rn>
</serv
l
et-m
a
pping>
<
servlet-mapping>
<s
ervlet-name
>
Axi
sS
ervlet</servlet
-
name>
<url-pattern
>
*.jw
s
</url-patter
n
>
</servl
et
-mapping>
<se
r
vlet-mappin
g
>
<servlet-n
a
me>
Ax
isServlet</serv
l
et-na
m
e>
<url-p
a
ttern>/
s
ervices/*</u
r
l-pattern>
</servlet-ma
p
ping>
<servlet-
m
apping>
<s
ervlet-name
>
SOA
PM
onitorService</
s
ervle
t
-name>
<url-
p
atte
r
n>/SOAPMonit
o
r</url-pattern>
</
servlet-mapp
i
ng>
<mime-mapp
i
ng>
<exte
ns
ion>wsdl</e
x
ten
si
on>
<mime-ty
p
e>text/xml</mi
m
e-type>
</
m
ime-
m
apping>
<mime-map
p
ing>
<ex
t
ension>x
sd
</extensi
o
n>
<mime-ty
p
e>text/xm
l
</mime-type>
</mim
e
-mapping>
启动服务器
,
在浏览器中输入
http://webappIp[/webapp]/services
检查
AXIS
是否安装成功。
webAppIp
:运行
WEB
服务机器的地址。因为在本机做测试,所以我输入的地址是:
http://127.0.0.1:81/services
。