You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by de...@apache.org on 2017/07/05 09:51:43 UTC
[1/2] cxf git commit: Recording .gitmergeinfo Changes
Repository: cxf
Updated Branches:
refs/heads/3.0.x-fixes 5f15b860f -> 4499a797a
Recording .gitmergeinfo Changes
Project: http://git-wip-us.apache.org/repos/asf/cxf/repo
Commit: http://git-wip-us.apache.org/repos/asf/cxf/commit/4499a797
Tree: http://git-wip-us.apache.org/repos/asf/cxf/tree/4499a797
Diff: http://git-wip-us.apache.org/repos/asf/cxf/diff/4499a797
Branch: refs/heads/3.0.x-fixes
Commit: 4499a797ad021e8082b78d50dc6bc84fdfb77ef0
Parents: 5958e97
Author: Dennis Kieselhorst <de...@apache.org>
Authored: Wed Jul 5 11:48:19 2017 +0200
Committer: Dennis Kieselhorst <de...@apache.org>
Committed: Wed Jul 5 11:48:19 2017 +0200
----------------------------------------------------------------------
.gitmergeinfo | 2 ++
1 file changed, 2 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cxf/blob/4499a797/.gitmergeinfo
----------------------------------------------------------------------
diff --git a/.gitmergeinfo b/.gitmergeinfo
index ad7cdf3..109f791 100644
--- a/.gitmergeinfo
+++ b/.gitmergeinfo
@@ -904,6 +904,7 @@ B 7b4c14f1aadb810d5b91fa0adfa2a6bc70e45a76
B 7b8145e65e9300931aea628251446e49f2e8bfe0
B 7b9f72bd7c3dc778da9bee85d54f36f99c0feb23
B 7be9bae496416baf3dea6b35d4fe8aef7767c7a6
+B 7c159a7916bb839726847e67ea87b00707b5f897
B 7c3ce3d499651177e9e712d49c7774c5796b1524
B 7c7404970a05900911b97c28a08665f5db3dcaa8
B 7c7bf49e2c980e34610e0647e286ab0f5d7e63e4
@@ -1506,6 +1507,7 @@ B cd7095c49ab2be4a5667450bf67e5e4be8ec84c1
B cd809b8526fc5620c481d4ee5a8534ccf6babae4
B cd9d69a3c92e2c23b85e44bfbfe973c029870e78
B cdafd372c60b7e19229d7e6a91fc69b9c5dbc69c
+B cdee5469e7bf2e0299dddc6159839c67dea28350
B ce81b3829764996aa8d6c006ec2dd5c784e98433
B ce992f3b0cd85ca255950289461c6c48926c8efc
B cec8828bd220abd0d49457df707b9261b50e1a8e
[2/2] cxf git commit: [CXF-7412] avoid NPE occuring when handler
chain contains a SoapHandler and empty message is received
Posted by de...@apache.org.
[CXF-7412] avoid NPE occuring when handler chain contains a SoapHandler and empty message is received
Project: http://git-wip-us.apache.org/repos/asf/cxf/repo
Commit: http://git-wip-us.apache.org/repos/asf/cxf/commit/5958e971
Tree: http://git-wip-us.apache.org/repos/asf/cxf/tree/5958e971
Diff: http://git-wip-us.apache.org/repos/asf/cxf/diff/5958e971
Branch: refs/heads/3.0.x-fixes
Commit: 5958e9711ee4a3204ad486cda22d62da5acb61f3
Parents: 5f15b86
Author: Dennis Kieselhorst <de...@apache.org>
Authored: Wed Jul 5 11:39:22 2017 +0200
Committer: Dennis Kieselhorst <de...@apache.org>
Committed: Wed Jul 5 11:48:19 2017 +0200
----------------------------------------------------------------------
.../handler/soap/SOAPHandlerInterceptor.java | 67 ++++++++++----------
1 file changed, 34 insertions(+), 33 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cxf/blob/5958e971/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/handler/soap/SOAPHandlerInterceptor.java
----------------------------------------------------------------------
diff --git a/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/handler/soap/SOAPHandlerInterceptor.java b/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/handler/soap/SOAPHandlerInterceptor.java
index db6f55f..7dfb3d4 100644
--- a/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/handler/soap/SOAPHandlerInterceptor.java
+++ b/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/handler/soap/SOAPHandlerInterceptor.java
@@ -138,7 +138,7 @@ public class SOAPHandlerInterceptor extends
message.getInterceptorChain().abort();
if (ep.getInFaultObserver() != null) {
ep.getInFaultObserver().onMessage(message);
-
+
}
}
}
@@ -157,12 +157,12 @@ public class SOAPHandlerInterceptor extends
}
private boolean handleMessageInternal(SoapMessage message) {
-
+
MessageContext context = createProtocolMessageContext(message);
if (context == null) {
return true;
}
-
+
HandlerChainInvoker invoker = getInvoker(message);
invoker.setProtocolMessageContext(context);
@@ -185,7 +185,7 @@ public class SOAPHandlerInterceptor extends
// client side outbound
if (getInvoker(message).isOutbound()) {
message.getInterceptorChain().abort();
-
+
MessageObserver observer = message.getExchange().get(MessageObserver.class);
if (!message.getExchange().isOneWay()
&& observer != null) {
@@ -193,7 +193,7 @@ public class SOAPHandlerInterceptor extends
Message responseMsg = new MessageImpl();
responseMsg.setExchange(message.getExchange());
responseMsg = e.getBinding().createMessage(responseMsg);
-
+
// the request message becomes the response message
message.getExchange().setInMessage(responseMsg);
SOAPMessage soapMessage = ((SOAPMessageContext)context).getMessage();
@@ -237,7 +237,7 @@ public class SOAPHandlerInterceptor extends
// well for outbound case, as many outbound interceptors
// have their ending interceptors.
// For example, we can not skip MessageSenderInterceptor.
- chain.doInterceptStartingAfter(responseMsg,
+ chain.doInterceptStartingAfter(responseMsg,
SoapPreProtocolOutInterceptor.class.getName());
}
@@ -251,39 +251,40 @@ public class SOAPHandlerInterceptor extends
@Override
protected MessageContext createProtocolMessageContext(SoapMessage message) {
SOAPMessageContextImpl sm = new SOAPMessageContextImpl(message);
-
+
Exchange exch = message.getExchange();
setupBindingOperationInfo(exch, sm);
SOAPMessage msg = sm.getMessage();
- try {
- List<SOAPElement> params = new ArrayList<SOAPElement>();
- message.put(MessageContext.REFERENCE_PARAMETERS, params);
- SOAPHeader head = SAAJUtils.getHeader(msg);
- if (head != null) {
- Iterator<Node> it = CastUtils.cast(head.getChildElements());
- while (it != null && it.hasNext()) {
- Node nd = it.next();
- if (nd instanceof SOAPElement) {
- SOAPElement el = (SOAPElement)nd;
- if (el.hasAttributeNS(Names.WSA_NAMESPACE_NAME, "IsReferenceParameter")
- && ("1".equals(el.getAttributeNS(Names.WSA_NAMESPACE_NAME,
- "IsReferenceParameter"))
- || Boolean.parseBoolean(el.getAttributeNS(Names.WSA_NAMESPACE_NAME,
- "IsReferenceParameter")))) {
- params.add(el);
+ if (msg != null) {
+ try {
+ List<SOAPElement> params = new ArrayList<SOAPElement>();
+ message.put(MessageContext.REFERENCE_PARAMETERS, params);
+ SOAPHeader head = SAAJUtils.getHeader(msg);
+ if (head != null) {
+ Iterator<Node> it = CastUtils.cast(head.getChildElements());
+ while (it != null && it.hasNext()) {
+ Node nd = it.next();
+ if (nd instanceof SOAPElement) {
+ SOAPElement el = (SOAPElement) nd;
+ if (el.hasAttributeNS(Names.WSA_NAMESPACE_NAME, "IsReferenceParameter")
+ && ("1".equals(el.getAttributeNS(Names.WSA_NAMESPACE_NAME,
+ "IsReferenceParameter"))
+ || Boolean.parseBoolean(el.getAttributeNS(Names.WSA_NAMESPACE_NAME,
+ "IsReferenceParameter")))) {
+ params.add(el);
+ }
}
}
}
+ if (isRequestor(message) && msg.getSOAPPart().getEnvelope().getBody() != null
+ && msg.getSOAPPart().getEnvelope().getBody().hasFault()) {
+ return null;
+ }
+ } catch (SOAPException e) {
+ throw new Fault(e);
}
- if (isRequestor(message) && msg.getSOAPPart().getEnvelope().getBody() != null
- && msg.getSOAPPart().getEnvelope().getBody().hasFault()) {
- return null;
- }
- } catch (SOAPException e) {
- throw new Fault(e);
}
-
-
+
return sm;
}
@@ -310,11 +311,11 @@ public class SOAPHandlerInterceptor extends
if (getInvoker(message).getProtocolHandlers().isEmpty()) {
return;
}
- if (getInvoker(message).isOutbound()
+ if (getInvoker(message).isOutbound()
&& !chainAlreadyContainsSAAJ(message)) {
SAAJ_OUT.handleFault(message);
}
- }
+ }
protected QName getOpQName(Exchange ex, Object data) {
SOAPMessageContextImpl sm = (SOAPMessageContextImpl)data;