JSPCN主页
|
JSP空间
|
网站制作
|
JSP下载
|
JSP论坛
|
JSP教程
|
关于JSPCN
|
联系我们
做最专业的JSP中文网站
当前位置
:
首页
--
JSP技术
--
开发工具
文章搜索:
关键字
标题
JSP中文网内容管理系统(JCMS)
JSP虚拟主机
网络笔记本
网摘,图片,笔记收藏
虚拟服务器
JSPCN文章目录分类
JSP配置
[
219
]
JSP基础
[
136
]
中文问题
[
69
]
上传问题
[
27
]
JAVABEAN
[
46
]
数据库
[
212
]
文件操作
[
126
]
图片声音
[
17
]
JSP其他
[
57
]
时间相关
[
16
]
JAVAMAIL
[
72
]
STRUTS
[
144
]
开发工具
[
28
]
教程系列
[
157
]
JSP实例
[
89
]
JAVA基础
[
421
]
APPLET
[
78
]
JAVA网络
[
179
]
Applica
[
115
]
Servlet
[
98
]
XML
[
163
]
J2ME
[
257
]
J2EE
[
374
]
考试相关
[
63
]
JAVA线程
[
90
]
EJB
[
261
]
Swing
[
26
]
Java API
[
141
]
声音图片
[
28
]
异常处理
[
33
]
JAVA实例
[
290
]
JAVA类
[
139
]
SUN
[
89
]
Hibernate
[
6
]
JMX
[
8
]
Spring
[
34
]
本版推荐文章
使用Eclipse开发Jsp
Eclipse使用入门
WebLogic 8安装配置
JSP学习经验总结(转)
Eclipse与插件(tomcatPlugin Lomboz...
Struts环境配置手顺(eclipse版),包括SQL S...
WEBLOGIC6.0的一些使用经验
使用lomboz调试JSP
IBM WebSphere Studio...
IBM WSAD 创建WEB应用程序
在webwork2的action里取request.getP...
Thinking in AJAX&nbs...
使用Apache Axis部署 Web服...
XFire Web服务的单元测试
面向Web的JMS应用系统
Web应用中避免Form重复提交的三种方案
Jbuilder7 & Weblogic...
用JBuilder7开发WebService应用
Candle点亮你的Web应用(CandleRMI)
Candle点亮你的Web应用(Getting S...
本版热点文章
使用Eclipse开发Jsp
WebLogic 8安装配置
Eclipse与插件(tomcatPlugin Lomboz...
Eclipse使用入门
JSP学习经验总结(转)
Struts环境配置手顺(eclipse版),包括SQL S...
使用lomboz调试JSP
WEBLOGIC6.0的一些使用经验
使用Apache Axis部署 Web服...
在webwork2的action里取request.getP...
IBM WSAD 创建WEB应用程序
XFire Web服务的单元测试
IBM WebSphere Studio...
Thinking in AJAX&nbs...
面向Web的JMS应用系统
用Axis开发Webservice
用Axis 1.1 for J...
如何在Web应用中启动后台任务
如何在Web工程中实现任务计划调度
Jbuilder7 & Weblogic...
相关文章链接
XFire Web服务的单元测试
作者: 文章来源:
访问次数:77次 加入时间:2007年04月09日
你不必发布到tomcat等容器中就可以进行测试,常用的测试类常继承AbstractXFireSpringTest 抽象类。AbstractXFireSpringTest 类又实现了AbstractXFireTest 类,AbstractXFireTest 类是TestCase的子类,所以你可以使用junit进行单元测试。
下面看一个例子:
package
com.kuaff.xfire.samples;
import
java.net.
URL
;
import
org.apache.xbean.spring.context.ClassPathXmlApplicationContext;
import
org.codehaus.xfire.client.Client;
import
org.codehaus.xfire.service.Endpoint;
import
org.codehaus.xfire.spring.AbstractXFireSpringTest;
import
org.jdom.
Document
;
import
org.springframework.context.ApplicationContext;
public
class
MathClientTest
extends
AbstractXFireSpringTest
{
public
void
testService()
throws
Exception
{
Document
wsdl = getWSDLDocument(
"MathService"
);
printNode(wsdl);
}
protected
ApplicationContext createContext()
{
return
new
ClassPathXmlApplicationContext(
new
String
[] {
"/org/codehaus/xfire/spring/xfire.xml"
,
"/META-INF/xfire/services.xml"
});
}
}
你必须实现createContext方法,这个方法将得到应用上下文。在这个例子中返回了一个ClassPathXmlApplicationContext上下文,它通过类路径的下配置文件生成这个上下文对象。
剩下的工具就是写单元测试的方法,和junit的方式一样。getWSDLDocument方法可以获取指定Web服务的WSDL文档。如果你要测试发布的服务,还可以通过
invokeService方法测试:
Document
response = invokeService(
"MathService"
,
"Add.xml"
);
addNamespace(
"k"
,
"http://www.kuaff.com/xfire/mathservice"
);
assertValid(
"//soap:Body/k:addResponse"
, response);
printNode(response);
通过assertValid方法可以通过Xpath查询的方式验证返回的xml文档是否和预期一致。
更详细的内容可以查看AbstractXFireTest的API。
在SpringSide这个开源项目中做了一个Web服务,它的单元测试代码如下:
package
org.springside.bookstore.service;
import
… …
public
class
XFireTest
extends
AbstractXFireSpringTest {
protected
final
Log log = LogFactory.getLog(getClass());
public
void
setUp()
throws
Exception
{
super
.setUp();
}
public
void
testGetWsdl()
throws
Exception
{
Document
doc = getWSDLDocument(
"BookService"
);
assertValid(
"//xsd:complexType[@name="Book"]"
, doc);
assertValid(
"//xsd:complexType[@name="Category"]"
, doc);
}
protected
ApplicationContext createContext() {
return
new
ClassPathXmlApplicationContext(
new
String
[]{
"classpath*:applicationContext*.xml"
});
}
}
Copyright © 2002-2005
JSP
CN.net. All rights reserved.
JSP中文网 备案序号:蜀ICP备05001583号
成都恒海科技发展有限公司 成都市一环路南二段6号新瑞楼三楼8号