浏览 4932 次
锁定老帖子 主题:使用axis开发webservice
精华帖 (0) :: 良好帖 (0) :: 新手帖 (1) :: 隐藏帖 (3)
|
|
---|---|
作者 | 正文 |
发表时间:2009-12-23
修改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来调用发布的函数。 本文欢迎转载,但请注明作者与出处 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2009-12-29
配置太麻烦了 用xfire得了 那天我一试原来配置文件注解都不写还能用 多方便
|
|
返回顶楼 | |
发表时间:2009-12-29
又学习一种方式,不过还不如用cxf。cxf不用配置。
|
|
返回顶楼 | |
发表时间:2009-12-29
太麻烦了,用cxf吧,直接用 annotation
|
|
返回顶楼 | |