Repository: cxf Updated Branches: refs/heads/master e0932dcd5 -> 84c9e98aa
[CXF-6506]:Add missing test classes Project: http://git-wip-us.apache.org/repos/asf/cxf/repo Commit: http://git-wip-us.apache.org/repos/asf/cxf/commit/84c9e98a Tree: http://git-wip-us.apache.org/repos/asf/cxf/tree/84c9e98a Diff: http://git-wip-us.apache.org/repos/asf/cxf/diff/84c9e98a Branch: refs/heads/master Commit: 84c9e98aae2663e51ebe34f47746bdd939c7bf9e Parents: e0932dc Author: Jim Ma <[email protected]> Authored: Thu Jul 23 13:43:03 2015 +0800 Committer: Jim Ma <[email protected]> Committed: Thu Jul 23 13:43:03 2015 +0800 ---------------------------------------------------------------------- .../handlers/MessageContextFirstHandler.java | 65 ++++++++++++++++++++ .../handlers/MessageContextSecondHandler.java | 62 +++++++++++++++++++ 2 files changed, 127 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cxf/blob/84c9e98a/systests/jaxws/src/test/java/org/apache/cxf/systest/handlers/MessageContextFirstHandler.java ---------------------------------------------------------------------- diff --git a/systests/jaxws/src/test/java/org/apache/cxf/systest/handlers/MessageContextFirstHandler.java b/systests/jaxws/src/test/java/org/apache/cxf/systest/handlers/MessageContextFirstHandler.java new file mode 100644 index 0000000..62f272e --- /dev/null +++ b/systests/jaxws/src/test/java/org/apache/cxf/systest/handlers/MessageContextFirstHandler.java @@ -0,0 +1,65 @@ +/** + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.cxf.systest.handlers; + +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import javax.xml.namespace.QName; +import javax.xml.ws.handler.MessageContext; +import javax.xml.ws.handler.soap.SOAPHandler; +import javax.xml.ws.handler.soap.SOAPMessageContext; + +public class MessageContextFirstHandler implements SOAPHandler<SOAPMessageContext> { + + @Override + public boolean handleMessage(SOAPMessageContext context) { + boolean isOutbound = (boolean)context.get(MessageContext.MESSAGE_OUTBOUND_PROPERTY); + if (isOutbound) { + @SuppressWarnings("unchecked") + Map<String, List<String>> headerMap = (Map<String, List<String>>)context + .get(MessageContext.HTTP_REQUEST_HEADERS); + if (headerMap == null) { + headerMap = new HashMap<>(); + } + // Add custom header. + headerMap.put("MY_HEADER", Arrays.asList("FIRST_VALUE")); + context.put(MessageContext.HTTP_REQUEST_HEADERS, headerMap); + } + return true; + } + + @Override + public boolean handleFault(SOAPMessageContext context) { + return true; + } + + @Override + public void close(MessageContext context) { + } + + @Override + public Set<QName> getHeaders() { + return null; + } + +} http://git-wip-us.apache.org/repos/asf/cxf/blob/84c9e98a/systests/jaxws/src/test/java/org/apache/cxf/systest/handlers/MessageContextSecondHandler.java ---------------------------------------------------------------------- diff --git a/systests/jaxws/src/test/java/org/apache/cxf/systest/handlers/MessageContextSecondHandler.java b/systests/jaxws/src/test/java/org/apache/cxf/systest/handlers/MessageContextSecondHandler.java new file mode 100644 index 0000000..9f00875 --- /dev/null +++ b/systests/jaxws/src/test/java/org/apache/cxf/systest/handlers/MessageContextSecondHandler.java @@ -0,0 +1,62 @@ +/** + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.cxf.systest.handlers; + +import java.util.List; +import java.util.Map; +import java.util.Set; + +import javax.xml.namespace.QName; +import javax.xml.ws.handler.MessageContext; +import javax.xml.ws.handler.soap.SOAPHandler; +import javax.xml.ws.handler.soap.SOAPMessageContext; + +public class MessageContextSecondHandler implements SOAPHandler<SOAPMessageContext> { + + private Map<String, List<String>> headerMap; + + @SuppressWarnings("unchecked") + @Override + public boolean handleMessage(SOAPMessageContext context) { + boolean isOutbound = (boolean)context.get(MessageContext.MESSAGE_OUTBOUND_PROPERTY); + if (isOutbound) { + headerMap = (Map<String, List<String>>)context.get(MessageContext.HTTP_REQUEST_HEADERS); + } + return true; + } + + @Override + public boolean handleFault(SOAPMessageContext context) { + return true; + } + + @Override + public void close(MessageContext context) { + } + + @Override + public Set<QName> getHeaders() { + return null; + } + + public Map<String, List<String>> getHeaderMap() { + return headerMap; + } + +}
