`

使用J2EE Application Server发布WebService来测试EJB

阅读更多

作为简单测试EJB的方法,WebService绝对是J2EE的首选,J2EE的标准已经把很多WebService的发布和测试工作简化了,这就使得所有工作看起来变得非常简单。

 

1. 首先定义自己的接口并实现之

@Remote

public interface StringEncryptionService {

 

/**

* @param plainText

* @return

*/

String encrypt(String plainText);

 

/**

* @param cipherText

* @return

*/

String decrypt(String cipherText);

 

}

 

这里就简单定义个接口,实现也很简单,就不写了

 

2. 实现WebService 对其进行测试,

@Stateless

@WebService

public class StringEncryptionWebservice {

@EJB

StringEncryptionService stringEncryptionService;

 

/**

* {@inheritDoc}

*/

@WebMethod

@WebResult(name = "cipherText")

public String encrypt(@WebParam(name = "plainText") String plainText) {

return stringEncryptionService.encrypt(plainText);

}

 

/**

* {@inheritDoc}

*/

@WebMethod

@WebResult(name = "plainText")

public String decrypt(@WebParam(name = "cipherText") String cipherText) {

return stringEncryptionService.decrypt(cipherText);

}

}

 

@EJB 注入自己的实现类,然后使用@WebService注解把这个类变成WebService,

@WebMethod就是WebService所暴露的方法,

@WebResult 和 @WebParam是用来改变参数的名字,使用起来只是把默认的名字分别用

“cipherText”和“plainText”替换就可以了。

 

3. 在Eclipse里测试WebService

暴露好WebService的EJB一经发布就可以测试,使用JAVA EE工程发布EJB,

可以得到相应的WSDL,比如http://wswincnhz0755:9080/StringEncryptionWebserviceService/StringEncryptionWebservice?wsdl

在Eclipse 里建立Webservice Client,之后就可以方便的使用它了

 

StringEncryptionWebserviceProxy sewp = new StringEncryptionWebserviceProxy();

System.out.println(sewp.encrypt("123"));

System.out.println(sewp.decrypt("VlXPkr9TSZ9tJVzFwWYs7AIsSOTBnkm9pECY96kqTHY/PfZR8eGx+mibRrq1Fh6MF/jaLA=="));


分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics