您的位置:首页 > 编程语言 > Java开发

关于使用XFire...

2007-06-13 17:01 176 查看
第一次学习使用XFire...

不管接触任何新的东西,我想自己第一个程序永远都是Hello World!

这2天花了十几个小时去看关于这方面的东西,然后今天花了5个小时做了个练习!

显示出Hello World!

先把东西记录一下!

基本的Web Services开发步骤清单

这个清单总结了将一个Java方法发布为Web Service所必须的步骤:
1、 检查Java类的方法和默认构造函数确保为public
2、 增加XFire servlet相关条目到web.xml中
3、 创建services.xml,把它放到WEB-INF/classes/META-INF/xfire目录下
4、 增加XFire和第三方包到你的Web应用的WEB-INF/lib文件夹中

这就是所有需要的步骤,是的,相当简单。(在某种意义上而言)

创建一个接口(暴露的,一会儿用来发布所用.)

 package com.interFace;

public interface HelloWorldService {
 public String sayHello();
}

实现类,一个pojo

package com.pojo;

import com.interFace.HelloWorldService;

public class HelloWorldServiceImpl implements HelloWorldService {

    public String sayHello() {
      // TODO Auto-generated method stub
    return "Hello World!";
    }

}

每个web程序至少都应该有一个描述符文件

这里是大家所了解的web.xml

首先修改这个文件

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/j2ee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
    version="2.4">

  <display-name>XFire实例</display-name>
  <description>
     基于XFire框架发布Web服务的例子
  </description>
 
  <servlet>
    <servlet-name>XFireServlet</servlet-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>

接着创建services.xml把它放到WEB-INF/classes/META-INF/xfire目录下
也就是前面所说的第3步

<beans xmlns="http://XFire.codehaus.org/config/1.0">
 <service>
  <name>HelloWorldService</name>
  <namespace>http://com.interFace/HelloWorldService</namespace>
  <serviceClass>
   com.pojo.Hello.HelloWorldService
  </serviceClass>
  <implementationClass>
   com.pojo.HelloWorldServiceImpl
  </implementationClass>
 </service>
</beans>

然后添加Xfrie的支持包!需要把所有lib包下的所有文件和xfire-all-1.0.jar文件导到工程中来!

当然,不同版本写法也有一点点不同!

 

一旦示例应用发布并启动,就可以尝试servlet URL:http://localhost:8080/services/HelloWorldService

第一个子元素是,它可以是你提供任何的合法名字。这将会被客户端程序和其它需要定位你的服务的组件用到。例如,在服务准备好以后,你将在浏览器上使用这个名字来查看WSDL。

下一个子元素是。任何合法的XML名字都是可以的。用来唯一标识你的服务的各个参数。

素包含了Java类的名字,它指定了方法签名。在我们的例子中,它是接口HelloWorldService。如果Java类没有实现任何接口,你就需要把类
的名字放在这里。在你的Java类或者接口中可能有几个方法。只需要一个入口把它们全部发布为Web Services。

保存了实现方法的Java类名。这是一个可选元素。如果上一个元素包含了一个接口,那么相应的实现类必须在这里指定。

OK了,现在开始测试服务是否发布成功...

直接访问http://localhost:8080/services/HelloWorldService

这样一个地址,如果能够看到关于服务的相关信息(以XML文档形式出现),就证明服务发布成功!

接下来就需要写一个客户端来调用此服务!

c#.net或者java的都可以,这个没有限制!

这里就不仔细记录关于调用的方法了!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息