My studying notes for Java,Ruby,Ajax and other any interesting things.

星期一, 十一月 06, 2006

使用xfire提供webservice

Lcc提供单独Web应用提供WebService访问接口,Eclipse项目名称lcc_serviceportal_ws,使用Xfire封装lcc服务成为WebService。
在以下接口中定义lcc访问接口函数:
package com.lenovo.lcc.serviceportal.webservice;

public interface ServerManagerIfc {

public String getTime();
}

在以下类中实现访问接口:
package com.lenovo.lcc.serviceportal.webservice.impl;

import java.util.Date;

import com.lenovo.lcc.serviceportal.webservice.ServerManagerIfc ;

public class ServerManagerImpl implements ServerManagerIfc {

public String getTime() {
Date date = new Date();
String time = date.toLocaleString();
return time;
}

}

在以下配置文件services.xml中定义接口:
<beans xmlns="http://xfire.codehaus.org/config/1.0">
<service>
<name>LccService</name>
<namespace> http://localhost:7001/lcc_serviceportal_ws/services/lccservice</namespace>
<serviceClass>com.lenovo.lcc.serviceportal.webservice.ServerManagerIfc </serviceClass>
<implementationClass>com.lenovo.lcc.serviceportal.webservice.impl.ServerManagerImpl</implementationClass>

</service>
</beans>

该配置文件放在:webroot/WEB-INF/classes/META-INF/xfire/services.xml
需要修改配置文件web.xml,增加:
<servlet>
<servlet-name>XFireServlet</servlet-name>
<display-name>XFire Servlet</display-name>
<servlet-class>org.codehaus.xfire.transport.http.XFireConfigurableServlet </servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>XFireServlet</servlet-name>
<url-pattern>/servlet/XFireServlet/*</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>XFireServlet</servlet-name>
<url-pattern>/services/*</url-pattern>
</servlet-mapping>

以上配置使得所有lcc_serviceportal_ws应用services路经下的所有访问都交由XFireConfigurableServlet处理。
通过访问http://serveraddress:portal/lcc_serviceportal_ws/services/ LccService?wsdl,可以获得LCC WebService的wsdl文件。






--
----------------------------------

   你的支持 我的坚持
  Lead to The IT Future

----------------------------------

没有评论: