I have the following Java method using AXIOM 1.2.13:
private OMElement createSecurityHeader(String username, String password) {
OMNamespaceImpl wsseNS = new OMNamespaceImpl(WSSE_NS, WSSE_PREFIX);
OMFactory factory = new SOAP11Factory();
OMElementImpl securityHeader;
OMElementImpl usernameTokenElement;
OMElementImpl usernameElement;
OMElementImpl passwordElement;
// create the Security header block
securityHeader = new OMElementImpl("Security", wsseNS, factory);
securityHeader.addAttribute("mustUnderstand", "1", null);
// nest the UsernameToken in the Security header
usernameTokenElement = new OMElementImpl(USERNAME_TOKEN_LN, wsseNS, securityHeader, factory);
// nest the Username and Password elements
usernameElement = new OMElementImpl(USERNAME_LN, wsseNS, usernameTokenElement, factory);
usernameElement.setText(username);
passwordElement = new OMElementImpl(PASSWORD_LN, wsseNS,usernameTokenElement, factory);
passwordElement.setText(password);
passwordElement.addAttribute(PASSWORD_TYPE_ATTR, PASSWORD_TEXT, null);
return securityHeader;
}
}我想迁移这段代码以使用AXIOM 1.2.20。
正在寻找解决方案,或者一般建议使用什么资源来实现这一点?
发布于 2017-09-09 06:43:19
使用OMAbstractFactory.getSOAP11Factory()获取SOAPFactory实例,然后重写代码以使用工厂方法,直到不再引用内部实现类为止。然后,生成的代码将与两个Axiom版本一起工作。
https://stackoverflow.com/questions/46100824
复制相似问题