Java groovy soapUI反序列化
刚开始使用soapUI,我非常喜欢它 在使用REST的特定情况下,我将接收序列化对象 我想:Java groovy soapUI反序列化,java,unit-testing,groovy,soapui,Java,Unit Testing,Groovy,Soapui,刚开始使用soapUI,我非常喜欢它 在使用REST的特定情况下,我将接收序列化对象 我想: 检索序列化字节数组并将其转换为Java对象 将java对象重新转换为XML响应(使用JAXB) 因此,它可以是人类可读的 这是可行的吗?< P>在使用下一个解决方案之前,一定要考虑使用XML序列化(例如)来代替二进制序列化: 将Java类导入SoapUI groovy脚本(),或在groovy代码中重新定义Java类,并实现Serializable接口: class Person implement
- 检索序列化字节数组并将其转换为Java对象
- 将java对象重新转换为XML响应(使用JAXB) 因此,它可以是人类可读的
这是可行的吗?
< P>在使用下一个解决方案之前,一定要考虑使用XML序列化(例如)来代替二进制序列化:Serializable
接口:
class Person implements Serializable { String name; int age }
ObjectInputStream
和classLoader
将反序列化对象加载到对象中:
// use your byte array variable instead of yourByteArray
input = new ByteArrayInputStream(yourByteArray)
// use your object variable instead of yourObject
yourObject = null
input.withObjectInputStream(getClass().classLoader){ ois -> yourObject = ois.readObject() }
ObjectOutputStream
序列化更新的对象并将其保存到XML响应:
output = new ByteArrayOutputStream()
output.withObjectOutputStream { oos -> oos << yourObject }
//save serialized data as byte array
output.toByteArray()
output=newbytearrayoutputstream()
output.withObjectOutputStream{oos->oos