Repository: cxf
Updated Branches:
refs/heads/3.1.x-fixes c5c8f2d97 -> b9b356546
NPE fix
# Conflicts:
# rt/ws/security/src/main/java/org/apache/cxf/ws/security/wss4j/WSS4JInInterceptor.java
Project: http://git-wip-us.apache.org/repos/asf/cxf/repo
Commit: http://git-wip-us.apache.org/repos/asf/cxf/commit/7084c99a
Tree: http://git-wip-us.apache.org/repos/asf/cxf/tree/7084c99a
Diff: http://git-wip-us.apache.org/repos/asf/cxf/diff/7084c99a
Branch: refs/heads/3.1.x-fixes
Commit: 7084c99ad84fd95f46140162e58421c8c347d751
Parents: c5c8f2d
Author: Colm O hEigeartaigh <coheigea@apache.org>
Authored: Thu Apr 20 10:26:02 2017 +0100
Committer: Colm O hEigeartaigh <coheigea@apache.org>
Committed: Thu Apr 20 10:26:44 2017 +0100
----------------------------------------------------------------------
.../ws/security/wss4j/WSS4JInInterceptor.java | 47 +++++++++++++++++++-
1 file changed, 46 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cxf/blob/7084c99a/rt/ws/security/src/main/java/org/apache/cxf/ws/security/wss4j/WSS4JInInterceptor.java
----------------------------------------------------------------------
diff --git a/rt/ws/security/src/main/java/org/apache/cxf/ws/security/wss4j/WSS4JInInterceptor.java
b/rt/ws/security/src/main/java/org/apache/cxf/ws/security/wss4j/WSS4JInInterceptor.java
index 967917f..56ccf12 100644
--- a/rt/ws/security/src/main/java/org/apache/cxf/ws/security/wss4j/WSS4JInInterceptor.java
+++ b/rt/ws/security/src/main/java/org/apache/cxf/ws/security/wss4j/WSS4JInInterceptor.java
@@ -158,7 +158,7 @@ public class WSS4JInInterceptor extends AbstractWSS4JInterceptor {
}
public void handleMessage(SoapMessage msg) throws Fault {
- if (msg.containsKey(SECURITY_PROCESSED) || isGET(msg)) {
+ if (msg.containsKey(SECURITY_PROCESSED) || isGET(msg) || msg.getExchange() == null)
{
return;
}
@@ -281,6 +281,10 @@ public class WSS4JInInterceptor extends AbstractWSS4JInterceptor {
}
checkActions(msg, reqData, wsResult.getResults(), actions, SAAJUtils.getBody(doc));
+<<<<<<< HEAD
+=======
+
+>>>>>>> 0b7b183... NPE fix
doResults(
msg, actor,
SAAJUtils.getHeader(doc),
@@ -330,7 +334,48 @@ public class WSS4JInInterceptor extends AbstractWSS4JInterceptor {
reqData = null;
}
}
+<<<<<<< HEAD
+=======
+ private void importNewDomToSAAJ(SOAPMessage doc, Element elem, Node originalNode) throws
SOAPException {
+ if (DOMUtils.isJava9SAAJ()
+ && originalNode != null && !originalNode.isEqualNode(elem)) {
+ //ensure the new decrypted dom element could be imported into the SAAJ
+ Node node = null;
+ Document document = null;
+ Element body = SAAJUtils.getBody(doc);
+ if (body != null) {
+ document = body.getOwnerDocument();
+ }
+ if (elem != null && elem.getOwnerDocument() != null
+ && elem.getOwnerDocument().getDocumentElement() != null) {
+ node = elem.getOwnerDocument().
+ getDocumentElement().getFirstChild().getNextSibling().getFirstChild();
+ }
+ if (document != null && node != null) {
+ Node newNode = null;
+ try {
+ newNode = document.importNode(node, true);
+ if (newNode != null) {
+ try {
+ Method method = newNode.getClass().getMethod("getDomElement");
+ newNode = (Element)method.invoke(newNode);
+ } catch (java.lang.NoSuchMethodException ex) {
+ // do nothing;
+ }
+ }
+ elem.getOwnerDocument().getDocumentElement().getFirstChild().
+ getNextSibling().replaceChild(newNode, node);
+ } catch (Exception ex) {
+ //just to the best try
+ }
+
+ }
+
+ }
+ }
+
+>>>>>>> 0b7b183... NPE fix
private void configureAudienceRestriction(SoapMessage msg, RequestData reqData) {
// Add Audience Restrictions for SAML
boolean enableAudienceRestriction =
|