欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

webservice复习-helloworld

程序员文章站 2022-04-05 22:18:54
...

什么是webservice
基于Web的服务。它使用Web(HTTP)方式,接收和响应外部系统的某种请求,从而实现远程调用。


为了符合WebService标准,所有你使用的数据类型都必须被转换为XSD类型(Xml Schema   Definition)。如想让它使用在不同平台和不同软件的不同组织间传递,还需要用某种东西将它包装起来。这种东西就是一种协议,如 SOAP。
目前标准的WebService在数据格式上主要采用SOAP协议。SOAP协议实际上就是一种基于XML编码规范的文本协议。

SOAP即简单对象访问协议(Simple Object Access Protocal),它是用于交换XML编码信息的轻量级协议。它有三个主要方面:XML-envelope为描述信息内容和如何处理内容定义了框架,将程序对象编码成为XML对象的规则,执行远程过程调用(RPC)的约定。SOAP可以运行在任何其他传输协议上。例如,你可以使用 SMTP,即因特网电子邮件协议来传递SOAP消息,这可是很有诱惑力的。在传输层之间的头是不同的,但XML有效负载保持相同。 

WSDL(WebServices Description Language)
Web Service描述语言WSDL 就是用机器能阅读的方式提供的一个正式描述文档而基于XML的语言,用于描述Web Service及其函数、参数和返回值。因为是基于XML的,所以WSDL既是机器可阅读的,又是人可阅读的。

UDDI(Universal Description, Discovery and Integration)
UDDI 的目的是为电子商务建立标准;UDDI是一套基于Web的、分布式的、为Web Service提供的、信息注册中心的实现标准规范,同时也包含一组使企业能将自身提供的Web Service注册,以使别的企业能够发现的访问协议的实现标准。

 

XFire 为 Spring提供了方便易用的导出器XFireExporter,借助该导出器的支持,我们可以在Spring容器中将一个POJO导出为Web Service。

	<!--引入XFire预配置信息-->
	<import resource="classpath:org/codehaus/xfire/spring/xfire.xml" />
	<!--  定义访问的url-->
	<bean
		class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
		<property name="urlMap">
			<map>
				<entry key="/HelloWorldService.ws">
					<ref bean="HelloWorldService" />
				</entry>
			</map>
		</property>
	</bean>

	<!--使用XFire导出器-->
	<bean id="baseWebService"
		class="org.codehaus.xfire.spring.remoting.XFireExporter"
		lazy-init="false" abstract="true">
		<!--引用xfire.xml中定义的工厂-->
		<property name="serviceFactory" ref="xfire.serviceFactory" />
		<!--引用xfire.xml中的xfire实例-->
		<property name="xfire" ref="xfire" />
	</bean>
	
	<bean id="HelloWorldService" parent="baseWebService">
		<!--业务服务bean-->
		<property name="serviceBean" ref="HelloWorldBean" />
		<!--业务服务bean的窄接口类-->
		<property name="serviceClass" value="webservice.HelloWorld" />
	</bean>

程序如附件。