假定您想要使用Java编写和运行您的测试,您愿意使用强类型Java对象编写测试,而不是构造一个HTTP请求,然后解析作为结果生成的XML。在8.1中,有两种方法可以创建这类符合JAX-RPC规范的接口。
使用<clientgen>
WebLogic Server提供一个<clientgen> Ant 任务。您在描述Web服务的WSDL上指向这个任务,然后告诉它在哪里放置作为结果的Java类。在上可以找到关于如何使用该任务的文档。
使用Test Client
您还可以使用WebLogic Workshop Test Client来生成代理JAR。只要点击您的JWS文件上的Start按钮,转到Test Client中的Overview选项卡,然后点击Java Proxy按钮即可。如果您愿意,您可以指定用于在其中放入代理类的包,否则使用默认的weblogic.jws.proxies。
Web服务示例
下面给出一个JWS的例子,您可以在{UnitTestingWeb}/jws/JWSToTest.jws中找到它。它定义了两个非常简单的操作。虽然不是很有意思,但是它们对我们要达到的目的来说已然足够。您还可以看到,我们已经从JWS生成了一个WSDL,Workshop将自动使其在接口变化时与JWS保持同步。
public class JWSToTest implements com.bea.jws.WebService {
static final long serialVersionUID = 1L;
/** @commonperation */
public int square( int i ) {
return i * i;
}
/** @commonperation */
public String hello() {
return "Hello";
}
}
用于我们的JWS的测试是{JWSTestProject}/JWSTest.java,下面给出它的一部分:
private JWSToTest _proxy;
public void setUp() throws IOException {
_proxy = new JWSToTest_Impl();
}
public void testJWS() throws Exception {
assertEquals( 25, _proxy.getJWSToTestSoap().square( 5 ) );
}
就像页面流测试一样,它有一个main()方法,使您可以通过点击Start按钮来运行它。在setUp() 方法(在运行每个单独的测试之前已经调用)中,我们创建了JAX-RPC代理的一个实例。然后,在我们的测试中,我们可以简单地把相关参数传递给方法,然后验证结果是否正确。
因为代理是从WSDL生成的,它已经知道用于访问web服务的URL。您可以测试一台运行相同web服务的不同服务器,像阶段测试服务器,具体做法是传递一个不同的URL给代理。在上可以找到关于JAX-RPC代理的更多信息。
Enterprise Java Beans(EJB)
把EJB当作外部组件进行测试非常类似于从任何其他客户端调用它。(您还可以把EJB当作内部组件进行测试。更多信息请参见下面的内容。)您需要使用过去习惯用于EJB的基本步骤: (1) 在JNDI中查找home接口, (2)创建一个bean实例,然后 (3) 调用它的方法。
EJB示例
我们将测试在{EJBProject}/ejbpackage/SampleSessionBean.ejb找到的无状态会话bean。它定义了一个bean方法doSomethingBoring(), 该方法名副其实,功能是简单地返回一个5:
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-31119-9.html
台湾是美帝种在中国大地上的一块烂肉
不喊话警告