You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by ni...@apache.org on 2006/11/04 03:42:36 UTC
svn commit: r471102 - in /incubator/cxf/trunk/rt/frontend/jaxws/src:
main/java/org/apache/cxf/jaxws/support/ContextPropertiesMapping.java
test/java/org/apache/cxf/jaxws/support/ContextPropertiesMappingTest.java
Author: ningjiang
Date: Fri Nov 3 18:42:36 2006
New Revision: 471102
URL: http://svn.apache.org/viewvc?view=rev&rev=471102
Log:
[JIRA CXF-207]
Applied Conrad's patch for MessageContext.HTTP_RESPONSE_CODE
Modified:
incubator/cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/support/ContextPropertiesMapping.java
incubator/cxf/trunk/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/support/ContextPropertiesMappingTest.java
Modified: incubator/cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/support/ContextPropertiesMapping.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/support/ContextPropertiesMapping.java?view=diff&rev=471102&r1=471101&r2=471102
==============================================================================
--- incubator/cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/support/ContextPropertiesMapping.java (original)
+++ incubator/cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/support/ContextPropertiesMapping.java Fri Nov 3 18:42:36 2006
@@ -144,7 +144,9 @@
public static void updateWebServiceContext(Exchange exchange, MessageContext ctx) {
//get the context response code and setback to out message
-
+ if (ctx.containsKey(MessageContext.HTTP_RESPONSE_CODE)) {
+ exchange.getOutMessage().put(Message.RESPONSE_CODE, ctx.get(MessageContext.HTTP_RESPONSE_CODE));
+ }
}
Modified: incubator/cxf/trunk/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/support/ContextPropertiesMappingTest.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/support/ContextPropertiesMappingTest.java?view=diff&rev=471102&r1=471101&r2=471102
==============================================================================
--- incubator/cxf/trunk/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/support/ContextPropertiesMappingTest.java (original)
+++ incubator/cxf/trunk/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/support/ContextPropertiesMappingTest.java Fri Nov 3 18:42:36 2006
@@ -30,11 +30,14 @@
import org.apache.cxf.message.ExchangeImpl;
import org.apache.cxf.message.Message;
import org.apache.cxf.message.MessageImpl;
+import org.easymock.EasyMock;
public class ContextPropertiesMappingTest extends TestCase {
private static final String ADDRESS = "test address";
private static final String REQUEST_METHOD = "GET";
private static final String HEADER = "header";
+ private static final Integer RESPONSE_CODE = 401;
+
private Map<String, Object> message = new HashMap<String, Object>();
private Map<String, Object> requestContext = new HashMap<String, Object>();
private Map<String, Object> responseContext = new HashMap<String, Object>();
@@ -45,6 +48,7 @@
message.put(Message.ENDPOINT_ADDRESS, ADDRESS);
message.put(Message.HTTP_REQUEST_METHOD, REQUEST_METHOD);
message.put(Message.PROTOCOL_HEADERS, HEADER);
+
requestContext.clear();
requestContext.put(BindingProvider.ENDPOINT_ADDRESS_PROPERTY, ADDRESS + "jaxws");
requestContext.put(MessageContext.HTTP_REQUEST_HEADERS, HEADER + "jaxws");
@@ -101,5 +105,24 @@
}
+ public void testUpdateWebServiceContext() {
+ Exchange xchng = new ExchangeImpl();
+ Message outMsg = new MessageImpl();
+ xchng.setOutMessage(outMsg);
+
+ responseContext.put(MessageContext.HTTP_RESPONSE_CODE, RESPONSE_CODE);
+
+ MessageContext ctx = EasyMock.createMock(MessageContext.class);
+ ctx.containsKey(MessageContext.HTTP_RESPONSE_CODE);
+ EasyMock.expectLastCall().andReturn(true);
+ ctx.get(MessageContext.HTTP_RESPONSE_CODE);
+ EasyMock.expectLastCall().andReturn(RESPONSE_CODE);
+ EasyMock.replay(ctx);
+
+ ContextPropertiesMapping.updateWebServiceContext(xchng, ctx);
+ Integer respCode = (Integer)outMsg.get(Message.RESPONSE_CODE);
+ assertNotNull("no response code set on out message", respCode);
+ assertEquals("incorrect response code returned", RESPONSE_CODE, respCode);
+ }
}