SoapUI调用自写Jar包

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-08-26 13:45:46

SoapUI调用自写Jar包的相关文章

Kettle中调用用户自定义的jar包

ETL工具断断续续的也接触了 Informatica,Kettle, SSIS,个人感觉Info很强大但是也很贵,而且有着一些神秘感.Kettle 4.0版本以来已经有了User  defined java class组件,使用户可以写Java代码 让kettle来调用,这就说明了很多kettle不能处理的东西我们可以通过Java代码来实现,步骤如下: 一:创建Java  Project   二:导出Jar包 在main方法中测试Java Project方法无误后 ,导出为jar包,如下图所示

C++调用Java的Jar包

一个简单需求:用C++调用Jar包. 实现基本思路:调用CreateProcess API来启动cmd.exe执行jar包. 调用类CJarAppCall. JarAppCall.h #pragma once class CJarAppCall { public: CJarAppCall(void); ~CJarAppCall(void); /* @brief 运行Jar包调用,等待运行完毕返回 @param[in] strJarDir jar包文件夹 @param[in] strJarName

VS2010 C++调用Java的Jar包

在网上看了一圈,只有一个示例代码,而且运行有错误,下面给出正确代码: JarAppCall.h 1 #pragma once 2 3 4 class CJarAppCall 5 { 6 public: 7 CJarAppCall(void); 8 ~CJarAppCall(void); 9 10 /* 11 @brief 执行Jar包调用,等待执行完成返回 12 @param[in] strJarDir jar包目录 13 @param[in] strJarName jar包名称 14 @ret

jmeter接口测试-调用java的jar包-csv参数化请求-BeanShellPreProcessor生成验签作为请求验证参数-中文乱码----实战

背景及思路: 需求:要做 创建新卡 接口的测试,要求: 1. 不需要每次手动修改请求参数. 方案:文中先用excle将数据准备好,导出为csv格式,再用jmeter的csv请求进行参数化 2. 卡号需要唯一: 方案:文中用jmeter的beanshell按时间戳加随机数生成 3. 请求参数中有一个参数,会根据相应的请求参数生成(文中的sign值),接口请求会验证sign是否和相应请求参数对应: 方案: 1. 文中将生成sign的源码打包放在jmeter的lib\ext\ 下, 2. 再用jmet

NodeJS调用jar包

我们在实际的生产.开发实践中,其实要和许多第三方服务商进行打交道,这其中包括使用他们提供的批量与联机服务,但与别的互联网企业不大相同的是,银行作为传统企业,其一贯重视安全性,许多在互联网企业看似理所当然的事情,在银行内实践起来就不那么顺畅.比如,最近,因为第三方系统升级(升级改造的原因自然是因为国家监管.政策性要求.保密性要求,否则像XXX第一大行这样的企业,强势是他一贯的作风),导致我们调用服务也需要配合改造,这里面涉及某一个请求字段的加解密,对方提供了一个jar包,明确说明后续升级可能只需要

利用jar -cvf *.jar * 和直接islibrary 然后生成的jar包比较(Android中jar包封装及调用)

利用jar  -cvf  *.jar * 和直接islibrary 然后生成的jar包比较 jar  -cvf  *.jar *   会打包资源 即R.java.BuildConfing.java和MainActivity.java is  library只会把包MainActivity.java 百度:(但是还是觉得没有解决我的疑惑) 在android开发过程中,我们经常会有这种需求,自己开发一个类库jar包,提供给别人调用. 即把项目A封装成jar包,供项目B调用,而在项目B中调用项目A的a

Android 中jar包封装及调用-转

在android开发过程中,我们经常会有这种需求,自己开发一个类库jar包,提供给别人调用. 即把项目A封装成jar包,供项目B调用,而在项目B中调用项目A的activity的时候问题就出现了:找不到资源文件(异常:ERROR/AndroidRuntime(3341):Caused by: android.content.res.Resources$NotFoundException: Stringresource ID #0x7f060007).问题是,只能共享src文件夹下的代码,而不能共享

转:linux下jar命令与jar包

原文链接:http://blog.chinaunix.net/uid-692788-id-2681136.html JAR包是Java中所特有一种压缩文档,其实大家就可以把它理解为.zip包.当然也是有区别的,JAR包中有一个META-INF\MANIFEST.MF文件,当你找成JAR包时,它会自动生成.JAR包是由JDK安装目录\bin\jar.exe命令生成的,当我们安装好JDK,设置好path路径,就可以正常使用jar.exe命令,它会用lib\tool.jar工具包中的类.这些细节就不用

多个jar包的合并

1.将所有jar文件复制至某临时目录中,通过jar命令解压得到所有的.class文件 > jar -xvf xx.jar xx.jar必须为具体的jar,不能为*.jar,会报FileNotFoundException 2.删除临时目录下所有的jar文件 > del /F *.jar 3.合并所有.class文件至jar,需要切换至该临时目录,不然生成的jar会包含临时目录.注意,最后的“.”不可省略. > jar -cvfM game.jar . 参考http://www.cnblog