用xfire webservice引擎创建大致流程:
1.创建web工程
2.收集相关jar包:(可从官方网[xfire.codehaus.org]取得)
3,配置web.xml
4.编写一个服务接口及其实现类
5.创建xifre配置文件
6.部署web工程到服务器
详说:
1.创建web工程(略)
2.收集相关jar(略)
3.配置web.xml
<!DOCTYPE web-app
? PUBLIC "-//Sun Microsystems,Inc.//DTD Web Application 2.3//EN"
? "http://java.sun.com/dtd/web-app_2_3.dtd">
? ?
<web-app>
? <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>
</web-app>
4.编写服务接口及其实现类
接口:
public interface?BookService{
public Book findBook(String isbn);
}
接口实现类:
public class BookServiceImpl implements BookService
{
? private Book onlyBook;
? ?
? public BookServiceImpl()
? {
? onlyBook = new Book();
? onlyBook.setAuthor("Dan Diephouse");
? onlyBook.setTitle("Using XFire");
? onlyBook.setIsbn("0123456789");
? }
? public Book[] getBooks()?
? {
? return new Book[] { onlyBook };
? }
? ?
? public Book findBook(String isbn) throws BookException
? {
? if (isbn.equals(onlyBook.getIsbn()))
? return onlyBook;
? ?
? throw new BookException("Book not exists",new BookExceptionDetail("NOT_EXIST","Can't find book"));
? }
?public Map getBooksMap() {
? Map result = new HashMap();
? result.put(onlyBook.getIsbn(),onlyBook);
? return result;
?}
}
5.创建xifre配置文件
在META-INF下创建xfire/services.xml文件,如果系统找不到该文件可以试着创建WEB-INF/classes/META-INF/xfire/services.xml文件,文件配置内容具体如下:
<beans xmlns="http://xfire.codehaus.org/config/1.0">
? <service>
? <name>BookService</name>
? <namespace>http://xfire.codehaus.org/BookService</namespace>
? <serviceClass>org.codehaus.xfire.demo.BookService</serviceClass>
? <implementationClass>org.codehaus.xfire.demo.BookServiceImpl</implementationClass>
? <inHandlers>
? <handler handlerClass="org.codehaus.xfire.demo.handlers.CheckVersionHandler" />
? </inHandlers>
? </service>
</beans>
6.部署web工程,访问http://localhost:youport/yourprojectname/services/BookService?wsdl