Java 在Axis2/Rampart中,如何忽略接收方/响应端的SignatureToken?

Java 在Axis2/Rampart中,如何忽略接收方/响应端的SignatureToken?,java,xml,soap,axis2,rampart,Java,Xml,Soap,Axis2,Rampart,我正在发送和接收良好的SOAP请求/响应,但响应返回一个我想忽略的签名令牌。底层XML很好,可以序列化到相应的Java对象中,但不验证它总是抛出的响应令牌: org.apache.ws.security.WSSecurityException:无法对安全令牌进行身份验证或授权 有没有办法配置Axi2或Rampart(例如在policy.xml或RampartConfig中)来忽略响应头中的安全令牌,而只是将xml序列化到Java对象中 编辑:我确实有要在客户端验证的证书,但为了论证起见,假设我不

我正在发送和接收良好的SOAP请求/响应,但响应返回一个我想忽略的签名令牌。底层XML很好,可以序列化到相应的Java对象中,但不验证它总是抛出的响应令牌:

org.apache.ws.security.WSSecurityException:无法对安全令牌进行身份验证或授权

有没有办法配置Axi2或Rampart(例如在policy.xml或RampartConfig中)来忽略响应头中的安全令牌,而只是将xml序列化到Java对象中

编辑:我确实有要在客户端验证的证书,但为了论证起见,假设我不能。如果没有好的方法可以忽略响应验证,那么这就是另一个问题


编辑:我没有回答这个问题就解决了问题。诀窍是在CryptoConfig的属性以及密钥库属性中正确设置truststore值。不过,我将把这个问题留待讨论,因为我仍然好奇这是否可能。

您的问题的答案是使用CustomPolicyValidator
您必须在policy.xml文件中提到这一点

<ramp:policyValidatorCbClass>xx.yy.zz.CustomPolicyValidator</ramp:policyValidatorCbClass>

public class CustomPolicyValidator implements  PolicyValidatorCallbackHandler{
  public
    void validate(ValidatorData data, Vector results) throws RampartException {
       System.out.println("Put your own validation here .....");
  }
}
xx.yy.zz.CustomPolicyValidator
公共类CustomPolicyValidator实现PolicyValidator CallbackHandler{
公众的
无效验证(ValidatorData数据、向量结果)引发RampartException{
System.out.println(“在此处放置您自己的验证…”);
}
}

您的问题的答案是使用CustomPolicyValidator
您必须在policy.xml文件中提到这一点

<ramp:policyValidatorCbClass>xx.yy.zz.CustomPolicyValidator</ramp:policyValidatorCbClass>

public class CustomPolicyValidator implements  PolicyValidatorCallbackHandler{
  public
    void validate(ValidatorData data, Vector results) throws RampartException {
       System.out.println("Put your own validation here .....");
  }
}
xx.yy.zz.CustomPolicyValidator
公共类CustomPolicyValidator实现PolicyValidator CallbackHandler{
公众的
无效验证(ValidatorData数据、向量结果)引发RampartException{
System.out.println(“在此处放置您自己的验证…”);
}
}

您的问题的答案是使用CustomPolicyValidator
您必须在policy.xml文件中提到这一点

<ramp:policyValidatorCbClass>xx.yy.zz.CustomPolicyValidator</ramp:policyValidatorCbClass>

public class CustomPolicyValidator implements  PolicyValidatorCallbackHandler{
  public
    void validate(ValidatorData data, Vector results) throws RampartException {
       System.out.println("Put your own validation here .....");
  }
}
xx.yy.zz.CustomPolicyValidator
公共类CustomPolicyValidator实现PolicyValidator CallbackHandler{
公众的
无效验证(ValidatorData数据、向量结果)引发RampartException{
System.out.println(“在此处放置您自己的验证…”);
}
}

您的问题的答案是使用CustomPolicyValidator
您必须在policy.xml文件中提到这一点

<ramp:policyValidatorCbClass>xx.yy.zz.CustomPolicyValidator</ramp:policyValidatorCbClass>

public class CustomPolicyValidator implements  PolicyValidatorCallbackHandler{
  public
    void validate(ValidatorData data, Vector results) throws RampartException {
       System.out.println("Put your own validation here .....");
  }
}
xx.yy.zz.CustomPolicyValidator
公共类CustomPolicyValidator实现PolicyValidator CallbackHandler{
公众的
无效验证(ValidatorData数据、向量结果)引发RampartException{
System.out.println(“在此处放置您自己的验证…”);
}
}