webservice接口发布概述

本文详细介绍了Webservice接口在项目启动时的部署配置过程,包括service-config.wsdd文件的具体设置、类之间的关系及调用方式,web.xml中的关键配置项,以及对Axis包版本的要求。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在项目中,需要系统启动后,同时发布webservice接口,其中需要注意地方,在这里提醒一下:

1. service-config.wsdd 发布文件中的发布 接口类(com.hollycrm.lnunicom.sheet.facade.impl.SheetFacadeProvider);

 在该文件中的发布类貌似不能使用接口,只能使用一般java类,当然他可以继承某个接口。

<service name="SheetFacadeService" provider="java:RPC"> <parameter name="allowedMethods" value="generateSheet"/> <parameter name="className" value="com.hollycrm.lnunicom.sheet.facade.impl.SheetFacadeProvider"/> <parameter name="scope" value="Request"/> <typeMapping deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" qname="ns1:ComplaintSuggestionRequest" serializer="org.apache.axis.encoding.ser.BeanSerializerFactory" type="java:com.hollycrm.lnunicom.sheet.facade.pojo.ComplaintSuggestionRequest" xmlns:ns1="http://facade.sheet.lnunicom.hollycrm.com"/> <namespace>http://facade.sheet.lnunicom.hollycrm.com</namespace> </service> 

2. 真正执行的类是SheetFacadeImpl,项目中的类关系如下

接口: sheetFacade

2个实现类:SheetFacadeProvider SheetFacadeImpl

关系:

发布文件中使用sheetFacadeProvider进行发布,而在产生该类对象时,使用构造方法来产生一个sheetFacadeImpl对象,代码如下:

protected SheetFacade facade ; public SheetFacadeProvider(){ this.initial(); } public void initial(){ this.facade = (SheetFacade)DefaultBeanFactory.getBean("sheetFacade"); } 

这样,就产生了 一个sheetFacadeImpl对像,然后在程序中通过使用sheetFacadeProvider对象的方法来调用sheetFacadeImpl对象的方法,代码如下:

/* (non-Javadoc) * @see com.hollycrm.lnunicom.sheet.facade.SheetFacade#generateSheet(com.hollycrm.lnunicom.sheet.facade.pojo.ComplaintSuggestionRequest) */ public boolean generateSheet(ComplaintSuggestionRequest csr) throws Exception { return facade.generateSheet(csr); } 

这样真正执行的是接口方法是sheetFacadeImpl中的方法generateSheet()。

3. web.xml文件中的配置----启动项目是发布webservice接口

<!-- webservice接口 配置 --> <servlet> <servlet-name>SOAPMonitorService</servlet-name> <display-name>SOAP Monitor Service</display-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> <servlet-name>AdminServlet</servlet-name> <display-name>Axis Admin Servlet</display-name> <servlet-class>org.apache.axis.transport.http.AdminServlet</servlet-class> <load-on-startup>100</load-on-startup> </servlet> <servlet> <servlet-name>AxisServlet</servlet-name> <display-name>Apache-Axis Servlet</display-name> <servlet-class>org.apache.axis.transport.http.AxisServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>SOAPMonitorService</servlet-name> <url-pattern>/SOAPMonitor</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>AdminServlet</servlet-name> <url-pattern>/servlet/AdminServlet</url-pattern> </servlet-mapping> <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> <!-- webservice接口 END --> 

4. 注意 axis包的版本问题

Name: org/apache/axis Implementation-Title: Apache Axis Implementation-Version: 1.2 1505 May 3 2005 Implementation-Vendor: Apache Web Services

 



转载于:https://www.cnblogs.com/changming/archive/2010/01/14/2042564.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值