当前位置: 代码迷 >> Web前端 >> webservice温习-helloworld
  详细解决方案

webservice温习-helloworld

热度:831   发布时间:2013-06-26 14:29:32.0
webservice复习-helloworld

什么是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>

程序如附件。

?

?

  相关解决方案