首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > Web前端 >

运用axis开发webservice

2012-11-07 
使用axis开发webservice1、在tomcat中的部署axis修改WEB-INF下的web.xml文件,添加以下内容:servletservl

使用axis开发webservice
1、在tomcat中的部署axis
修改WEB-INF下的web.xml文件,添加以下内容:

<servlet>    <servlet-name>AxisServlet</servlet-name>    <servlet-class>org.apache.axis.transport.http.AxisServlet</servlet-class></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>/servlet/AxisServlet</url-pattern></servlet-mapping><servlet-mapping>    <servlet-name>AxisServlet</servlet-name>    <url-pattern>*.jws</url-pattern></servlet-mapping><servlet-mapping>    <servlet-name>AxisServlet</servlet-name>    <url-pattern>/services/*</url-pattern></servlet-mapping><servlet-mapping>    <servlet-name>AxisServlet</servlet-name>    <url-pattern>/ws/*</url-pattern> </servlet-mapping> <servlet-mapping>    <servlet-name>SOAPMonitorService</servlet-name>    <url-pattern>/SOAPMonitor</url-pattern> </servlet-mapping> <mime-mapping>    <extension>wsdl</extension>     <mime-type>text/xml</mime-type> </mime-mapping> <mime-mapping>    <extension>xsd</extension>    <mime-type>text/xml</mime-type> </mime-mapping>


2、发布web服务
添加要发布的服务到server-config.wsdd。如发布一个OA web服务,服务名称为:OASubmitService
<service name="OASubmitService"  provider="java:RPC">  <parameter name="allowedMethods" value="submitForOA" />  <parameter name="scope" value="Session" />  <parameter name="className" value="com.leadtone.oaserver.OASubmitServiceImpl" />  <operation name="submitForOA" qname="operNS:submitForOA" xmlns:operNS="http://tempuri.org/ns.xsd"            returnQName="DataXmlStr" returnType="rtns:string"            xmlns:rtns="http://www.w3.org/2001/XMLSchema" soapAction="" >            <parameter qname="dataXml" type="tns:string" xmlns:tns="http://www.w3.org/2001/XMLSchema"/>            <parameter qname="paramXml" type="tns:string" xmlns:tns="http://www.w3.org/2001/XMLSchema"/>        </operation>  <namespace>http://oa.leadtone.com/</namespace> </service>

3、Apache Axis提供了WSDL2Java和Java2WSDL两个开发工具。
1)使用java2wsdl生成wsdl
用axis的java2wsdl类来生成wsServerTest.wsdl:
选择项目,选择或者填入main函数org.apache.axis.wsdl.Java2WSDL
在run的程序参数设置为:
-o wsServerTest.wsdl
-l "http://localhost:8080/poa/services/OASubmitService"
-n "urn:submitForOA"
-p"com.leadtone.oaserver" "urn:submitForOA"
com.leadtone.oaserver.OASubmitService
各参数的含义如下。
-o:指定输出的WSDL文件的文件名。
-l:指定服务的位置。
-n:WSDL文件的目标名字空间。
-p:指定从package到名字空间的映射,这里可以有多个映射。
Java2WSDL根据已有的Java类文件生成WSDL文件,Java类文件可以是接口类文件,并不需要实现细节。
2)使用wsdl2java生成stub用axis的wsdl2java来生成stub:
选择项目,选择或者填入main函数org.apache.axis.wsdl.WSDL2Java
在run的程序参数设置为:
D:\program\Eclipse3.2\wsSeverTest\wsServerTest.wsdl -t -p com.leadtone.oaserver.OASubmitService
参数说明: -o  输出wsdl文件名称
           -l 访问的url
           -n 命名空间
           -p  包名 命名空间的名字



4、客户端测试
直接在浏览器中输入webservice的url地址,如,http://localhost:8080/poa/services/OASubmitService
如果是安全通道,将client.keystore和client.truststore放到项目工程下。在vm 参数设定:
-Djavax.net.ssl.keyStore=D:\program\Eclipse3.2\wsClientTest\client.keystore-Djavax.net.ssl.keyStorePassword=changeit-Djavax.net.ssl.trustStore=D:\program\Eclipse3.2\wsClientTest\client.truststore


将url改为https://localhost:8080/poa/services/OASubmitService来调用发布的函数。

本文欢迎转载,但请注明作者与出处
1 楼 whaosoft 2009-12-29   配置太麻烦了 用xfire得了 那天我一试原来配置文件注解都不写还能用 多方便 2 楼 hl8189 2009-12-29   又学习一种方式,不过还不如用cxf。cxf不用配置。 3 楼 vv_1024 2009-12-29   太麻烦了,用cxf吧,直接用 annotation

热点排行