2017-09-07 2 views
0
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에서 작동하려면이 코드를 마이그레이션하고 싶습니다.AXIOM 1.2.13에서 1.2.20으로 마이그레이션

일반적으로이 작업을 수행하기 위해 권장되는 솔루션이나 리소스를 찾고 있습니까?

답변

0

OMAbstractFactory.getSOAP11Factory()을 사용하여 SOAPFactory 인스턴스를 가져온 다음 내부 구현 클래스에 대한 참조가 없을 때까지 팩토리 메소드를 사용하도록 코드를 다시 작성하십시오. 결과 코드는 두 Axiom 버전 모두에서 작동합니다.

관련 문제