我想将 SOAPMessage 转换为字节数组,这样我就可以对其进行加密,然后在代理服务器中对其进行解密,该代理服务器将代表我调用 Web 服务。问题是 SOAPMessage 没有实现java.io.Serializable
,因此我无法继续对其进行加密。
我用它来序列化
public static byte[] serializeSoapMessage (SOAPMessage sm){
try {
ByteArrayOutputStream baos = new ByteArrayOutputStream();
sm.writeTo(baos);
byte[] bytes= baos.toByteArray();
return bytes;
} catch (SOAPException ex) {
Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
} catch (IOException ex) {
Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
}
return null;
}
但是反序列化是一个问题,因为ObjectInputStream
需要实现java.io.Serializable
谢谢你的问候:)