关于使用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的都可以,这个没有限制!
这里就不仔细记录关于调用的方法了!
不管接触任何新的东西,我想自己第一个程序永远都是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的都可以,这个没有限制!
这里就不仔细记录关于调用的方法了!
相关文章推荐
- 关于在java6中使用XFire时碰到的一个问题Could not initialize Service
- 关于rand和srand函数使用2
- 关于MySQL中savepoint语句使用时所出现的错误
- 关于几个HTML文档接口的使用探讨
- 关于NSTimer的一个使用小技巧
- SQLSERVER分页查询关于使用Top方式和row_number()解析函数的不同
- 关于header()函数的使用
- 关于xtream的工具使用
- 关于如何使用word自定义模板
- 使用spring集成xfire开发webservice接口时的namespace和参数名称等配置
- 关于后台动态模板添加内容的总结 Builder使用
- 关于VC如何使用ADO的例子
- 关于结构体的使用
- 关于strdup的使用与理解
- 关于ajaxPro.2 使用出错(未定义)的解决
- java关于Properties的使用
- 关于在自己的程序中使用其它窗口的菜单
- 关于一道J笔试或者机试题的Java实现:从键盘输入一串字符,翻转后输出(要求不使用string相关类即对象)
- 关于Bmob的后端云的使用---傻瓜式数据库操作
- 关于Animation的使用