实现对xml文件的mule pgp加密解密。解密时会引发错误。
ERROR 2015-06-05 12:06:34,192 [Thread-8] org.mule.module.pgp.AbstractTransformPolicy: Invalid PGP message
java.lang.IllegalArgumentException: Invalid PGP message
at org.mule.module.pgp.DecryptStreamTransformer.initialize(DecryptStreamTransformer.java:79)
at org.mule.module.pgp.TransformContinuouslyPolicy$ContinuousWork.execute(TransformContinuouslyPolicy.java:60)
at org.mule.module.pgp.AbstractTransformPolicy$TransformerWork.run(AbstractTransformPolicy.java:109)我在DecryptStreamTransformer中调试了mule软件包
public void initialize(OutputStream out) throws Exception
{
InputStream decodedInputStream = PGPUtil.getDecoderStream(this.toBeDecrypted);
PGPObjectFactory pgpF = new PGPObjectFactory(decodedInputStream);
Object o = pgpF.nextObject();
if (o == null)
{
throw new IllegalArgumentException("Invalid PGP message");
}PGPObjectFactory将nextObject返回为null的原因可能是什么。还记录流元素后的消息有效负载。
<decrypt-transformer name="decryptTransformer" strategy-ref="pgpEncryptionStrategy"/>
<logger level="INFO" doc:name=" Message Logger" message="#[payload]"/>
<mulexml:jaxb-xml-to-object-transformer
jaxbContext-ref="jaxb" doc:name="JAXB-Unmarshaller"
returnClass="com.generated.Communication" />有效载荷显示为org.mule.module.pgp.LazyTransformedInputStream@17d80e9.
我如何将这个实例修改为xml,以便mulexml元素可以将其转换为必需的对象。
发布于 2015-06-05 15:00:53
如它的源代码所示
registerSourceType(DataTypeFactory.INPUT_STREAM);jaxb-xml-to-object-transformer接受任何输入流作为有效的源,因此问题不存在。
https://stackoverflow.com/questions/30660926
复制相似问题