soapui能够使用groovy脚本,脚本中可以调用自己编写的jar包,使用中会遇到一些问题,下面进行一些记录
soapui调用自写jar包
- 1、编写jar代码并调试测试成功
- 2、打包jar包
- eclipse中鼠标右键到需要打包的项目-Export-Java-JAR file-Next-选中项目下manifest.mf文件和需要打包的方法-指定jar包存储路径和jar包名称-Finish
- 3、拷贝jar到指定soapui路径
- * \SoapUI-Pro-5.1.2\bin\ext\ *为soapui安装路径
- 4、重启soapui
- 5、引用jar
- import md5_jar.md5Jar; 具体引用为包名+类名
- 6、声明引用jar包对象
- def md5jar =new md5Jar(); 声明为类对象
- 7、调用对象
- String hashFromContent = md5jar.md5_sec(signSource); 直接调用并赋值,没啥说的了
走过的坑
1、jar打包问题
打包时需要增加manifest.mf文件,若没有指定,则会提示找不到主类清单
文件内容格式为:
Manifest-Version: 1.0
Main-Class: md5_jar.md5Jar
其中Main-Class:为打包好提供给外部使用的方法
如下:
2、groovy调用问题
groovy调用时需要引入包(即import)并声明引用方法对象(如:def md5jar =new md5Jar();)
示例:
1 import md5_jar.md5Jar; 2 def md5jar =new md5Jar(); 3 String hashFromContent = md5jar.md5_sec(signSource); 4 5 md5加密包装jar编写示例: 6 package md5_jar; 7 8 import java.io.UnsupportedEncodingException; 9 import java.math.BigInteger; 10 import java.security.*; 11 12 public class md5Jar { 13 public static String md5_sec(String signSource) throws NoSuchAlgorithmException, UnsupportedEncodingException { 14 System.out.println("加密前输出:"+signSource); 15 MessageDigest md5 = MessageDigest.getInstance("MD5"); 16 md5.update(signSource.getBytes("UTF-8")); 17 BigInteger hash = new BigInteger(1, md5.digest()); 18 String hashFromContent = hash.toString(16); 19 for (int i = 32 - hashFromContent.length(); i > 0; i--) { 20 hashFromContent = "0" + hashFromContent; 21 } 22 return hashFromContent; 23 } 24 25 }
时间: 2024-11-07 16:10:52