没有合适的资源?快使用搜索试试~ 我知道了~
详细的介绍了WebServices的几种方式和实现方法
资源推荐
资源详情
资源评论
一.WebService服务端应用步骤:
1.在web.xml中配置WebService部署信息:因为WebService也是servlet应用
<servlet><!-- 配置XFire Servlet入口 -->
<servlet-name>任意名</servlet-name> <!--为WebService配置servlet应用名-->
<servlet-class> <!--为WebService所属的servlet应用配置要使用的jar包类-->
org.codehaus.xfire.transport.http.XFireConfigurableServlet <!--不和任何框架整合时的类-->
org.codehaus.xfire.spring.XFireSpringServlet <!--和spring整合时的类-->
org.apache.axis.transport.http.AxisServlet <!--使用axis时的类-->
</servlet-class>
<load-on-startup>整数</load-on-startup> <!--该节点可省略-->
</servlet>
<servlet-mapping> <!--将WebService所属的servlet应用与浏览器访问servlet应用时的名称映射-->
<servlet-name>为WebService配置的<servlet>节点下的<servlet-name>节点中的名称</servlet-name>
<url-pattern>/浏览器访问servlet应用时的名称/*</url-pattern>
</servlet-mapping>
2.创建WebService应用目录:
(1).基于XFire的WebService服务端应用目录的创建:在项目的src目录下手动创建META-INF文件夹(非包),在手动创建的META-INF文件夹下创建xfire文件夹,在xfire文件夹下创建名为serv
ices.xml的文件后导入XFire Core Libraries包/用MyEclipse导入,如需为WebService服务端加身份验证时再在服务端创建身份验证类 //因为xfire的org.codehaus.xfire.transport.http.XFireConfigurableServlet类将自动搜索项目下的WebRoot\WEB-INF\classes\xfire\services.xml文件
(2).基于axis的WebService服务端应用目录的创建:在项目的WebRoot下的WEB-INF目录下创建名为server-config.wsdd的文件后导入axis的jar包
3.将指定的接口/类发布为WebService:
(1).基于XFire的WebService服务端接口/类的发布:在创建的services.xml文件中配置WebService发布信息
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://xfire.codehaus.org/config/1.0">
<service> <!--为WebService配置发布信息,要发布多个接口/类就配置多少个该节点即可-->
<name>任意名</name> <!--配置WebService应用名/访问WebService应用时的名称(一般为要发布的接口/类的方法名)-->
<nameSpace>命名空间</nameSpace> <!--可省略,为了区别其它service-->
<serviceClass>要发布的接口/类名(必须使用包名.接口/类名的结构)</serviceClass> <!--只发布类时这里直接包名.类名即可,且不需配置<implementationClass>节点,发布接口和其实现类时这里为包名.接口名,同时必须配置<implementationClass>节点-->
<implementationClass>要发布的接口的实现类名(必须使用包名.类名的结构)</implementationClass>
<inHandlers> <!--为WebService配置身份验证,不需要身份验证时不配置该节点即可-->
<handler handlerClass="验证WebService的服务端包名.类名"></handler>
1.在web.xml中配置WebService部署信息:因为WebService也是servlet应用
<servlet><!-- 配置XFire Servlet入口 -->
<servlet-name>任意名</servlet-name> <!--为WebService配置servlet应用名-->
<servlet-class> <!--为WebService所属的servlet应用配置要使用的jar包类-->
org.codehaus.xfire.transport.http.XFireConfigurableServlet <!--不和任何框架整合时的类-->
org.codehaus.xfire.spring.XFireSpringServlet <!--和spring整合时的类-->
org.apache.axis.transport.http.AxisServlet <!--使用axis时的类-->
</servlet-class>
<load-on-startup>整数</load-on-startup> <!--该节点可省略-->
</servlet>
<servlet-mapping> <!--将WebService所属的servlet应用与浏览器访问servlet应用时的名称映射-->
<servlet-name>为WebService配置的<servlet>节点下的<servlet-name>节点中的名称</servlet-name>
<url-pattern>/浏览器访问servlet应用时的名称/*</url-pattern>
</servlet-mapping>
2.创建WebService应用目录:
(1).基于XFire的WebService服务端应用目录的创建:在项目的src目录下手动创建META-INF文件夹(非包),在手动创建的META-INF文件夹下创建xfire文件夹,在xfire文件夹下创建名为serv
ices.xml的文件后导入XFire Core Libraries包/用MyEclipse导入,如需为WebService服务端加身份验证时再在服务端创建身份验证类 //因为xfire的org.codehaus.xfire.transport.http.XFireConfigurableServlet类将自动搜索项目下的WebRoot\WEB-INF\classes\xfire\services.xml文件
(2).基于axis的WebService服务端应用目录的创建:在项目的WebRoot下的WEB-INF目录下创建名为server-config.wsdd的文件后导入axis的jar包
3.将指定的接口/类发布为WebService:
(1).基于XFire的WebService服务端接口/类的发布:在创建的services.xml文件中配置WebService发布信息
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://xfire.codehaus.org/config/1.0">
<service> <!--为WebService配置发布信息,要发布多个接口/类就配置多少个该节点即可-->
<name>任意名</name> <!--配置WebService应用名/访问WebService应用时的名称(一般为要发布的接口/类的方法名)-->
<nameSpace>命名空间</nameSpace> <!--可省略,为了区别其它service-->
<serviceClass>要发布的接口/类名(必须使用包名.接口/类名的结构)</serviceClass> <!--只发布类时这里直接包名.类名即可,且不需配置<implementationClass>节点,发布接口和其实现类时这里为包名.接口名,同时必须配置<implementationClass>节点-->
<implementationClass>要发布的接口的实现类名(必须使用包名.类名的结构)</implementationClass>
<inHandlers> <!--为WebService配置身份验证,不需要身份验证时不配置该节点即可-->
<handler handlerClass="验证WebService的服务端包名.类名"></handler>
</inHandlers>
<style>wrapped</style><!--Soap中XML元素的风格,Document将SOAP请求和响应或者说输入和输出定义为XML元素,Wrapped风格就是在wsdl的xml中如果出现了定义操作有同名的Element则将参数作为Child Element,这样操作名又重新回到了SOAP消息中-->
<use>literal</use><!--Soap消息中是否声明数据的数据类型;literal就是不在SOAP消息中声明数据的数据类型而是通过其它方式获取数据类型,这种方式是开发包相关的,没有什么标准;如<x>50</x>,单从SOAP消息你无法判断50是数字还是字符串,而具体的类型可以在开发包将SOAP请求映射到具体的Service类时来确定并完成转换,对于返回值也一样,客户端可已通过SetReturnValueType(...)之类的方法告知开发包自己期待什么类型。encoding就是在SOAP消息中携带数据的类型信息,并依据某种规则将数据编码传递,接收端可以根据类型信息和编码规则完成解码,获得原始数据;如<x xsi:type="xsd:string">50</x>-->
<scope>application</scope><!--WebService服务的有效范围-->
</service>
</beans>
(2).基于axis的WebService服务端接口/类的发布:
<?xml version="1.0" encoding="UTF-8"?>
<deployment name="defaultClientConfig"
xmlns:java="http://xml.apache.org/axis/wsdd/providers/java"
xmlns:handler="http://xml.apache.org/axis/wsdd/providers/handler"
xmlns="http://xml.apache.org/axis/wsdd/">
<!-- 准备 -->
<globalConfiguration name="defaultClientConfig">
<requestFlow name="RequestFlow1" type="">
<handler name="Handler1" type="java:org.apache.axis.handlers.JWSHandler"> //type的值有哪些
<parameter name="scope" value="session" />
</handler>
<handler name="Handler2" type="java:org.apache.axis.handlers.JWSHandler">
<parameter name="scope" value="request" />
<parameter name="extension" value=".jwr" />
</handler>
</requestFlow>
</globalConfiguration>
<handler name="URLMapper" type="java:org.apache.axis.handlers.http.URLMapper" />
<handler name="LocalResponder" type="java:org.apache.axis.transport.local.LocalResponder" />
<handler name="Authenticate" type="java:org.apache.axis.handlers.SimpleAuthenticationHandler" />
<transport name="http" type="">
<requestFlow name="RequestFlow1" type="">
<handler name="Handler1" type="URLMapper" />
<style>wrapped</style><!--Soap中XML元素的风格,Document将SOAP请求和响应或者说输入和输出定义为XML元素,Wrapped风格就是在wsdl的xml中如果出现了定义操作有同名的Element则将参数作为Child Element,这样操作名又重新回到了SOAP消息中-->
<use>literal</use><!--Soap消息中是否声明数据的数据类型;literal就是不在SOAP消息中声明数据的数据类型而是通过其它方式获取数据类型,这种方式是开发包相关的,没有什么标准;如<x>50</x>,单从SOAP消息你无法判断50是数字还是字符串,而具体的类型可以在开发包将SOAP请求映射到具体的Service类时来确定并完成转换,对于返回值也一样,客户端可已通过SetReturnValueType(...)之类的方法告知开发包自己期待什么类型。encoding就是在SOAP消息中携带数据的类型信息,并依据某种规则将数据编码传递,接收端可以根据类型信息和编码规则完成解码,获得原始数据;如<x xsi:type="xsd:string">50</x>-->
<scope>application</scope><!--WebService服务的有效范围-->
</service>
</beans>
(2).基于axis的WebService服务端接口/类的发布:
<?xml version="1.0" encoding="UTF-8"?>
<deployment name="defaultClientConfig"
xmlns:java="http://xml.apache.org/axis/wsdd/providers/java"
xmlns:handler="http://xml.apache.org/axis/wsdd/providers/handler"
xmlns="http://xml.apache.org/axis/wsdd/">
<!-- 准备 -->
<globalConfiguration name="defaultClientConfig">
<requestFlow name="RequestFlow1" type="">
<handler name="Handler1" type="java:org.apache.axis.handlers.JWSHandler"> //type的值有哪些
<parameter name="scope" value="session" />
</handler>
<handler name="Handler2" type="java:org.apache.axis.handlers.JWSHandler">
<parameter name="scope" value="request" />
<parameter name="extension" value=".jwr" />
</handler>
</requestFlow>
</globalConfiguration>
<handler name="URLMapper" type="java:org.apache.axis.handlers.http.URLMapper" />
<handler name="LocalResponder" type="java:org.apache.axis.transport.local.LocalResponder" />
<handler name="Authenticate" type="java:org.apache.axis.handlers.SimpleAuthenticationHandler" />
<transport name="http" type="">
<requestFlow name="RequestFlow1" type="">
<handler name="Handler1" type="URLMapper" />
剩余6页未读,继续阅读
资源评论
指尖的吻
- 粉丝: 2
- 资源: 54
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功