@@ -50,9 +50,13 @@ public abstract class AbstractHttpWebServiceMessageSenderTestCase extends XMLTes
5050
5151 protected Server jettyServer ;
5252
53- protected static final String HEADER_NAME = "SOAPAction " ;
53+ private static final String REQUEST_HEADER_NAME = "RequestHeader " ;
5454
55- protected static final String HEADER_VALUE = "http://springframework.org/spring-ws" ;
55+ private static final String REQUEST_HEADER_VALUE = "RequestHeaderValue" ;
56+
57+ private static final String RESPONSE_HEADER_NAME = "ResponseHeader" ;
58+
59+ private static final String RESPONSE_HEADER_VALUE = "ResponseHeaderValue" ;
5660
5761 protected static final String URL = "http://localhost:8888" ;
5862
@@ -95,16 +99,22 @@ protected final void tearDown() throws Exception {
9599 public void testSendAndReceiveResponse () throws Exception {
96100 messageSender .setUrl (new URL ("http://localhost:8888/response" ));
97101 SOAPMessage saajRequest = messageFactory .createMessage ();
98- saajRequest .getMimeHeaders ().addHeader (HEADER_NAME , HEADER_VALUE );
102+ saajRequest .getMimeHeaders ().addHeader (REQUEST_HEADER_NAME , REQUEST_HEADER_VALUE );
99103 transformer .transform (new StringSource (REQUEST ), new DOMResult (saajRequest .getSOAPBody ()));
100104 SaajSoapMessage request = new SaajSoapMessage (saajRequest );
101105 MessageContext context = new DefaultMessageContext (request , new SaajSoapMessageFactory (messageFactory ));
102106 messageSender .sendAndReceive (context );
103107 assertXMLEqual (EXPECTED_SOAP_REQUEST , receivedRequest .toString ());
104- assertEquals ("Invalid header value received" , HEADER_VALUE , receivedHeader );
108+ assertEquals ("Invalid header value received on server side " , REQUEST_HEADER_VALUE , receivedHeader );
105109 assertTrue ("No response" , context .hasResponse ());
110+ SaajSoapMessage response = (SaajSoapMessage ) context .getResponse ();
111+ SOAPMessage saajResponse = response .getSaajMessage ();
112+ assertNotNull ("No header value received on client side" ,
113+ saajResponse .getMimeHeaders ().getHeader (RESPONSE_HEADER_NAME ));
114+ assertEquals ("Invalid header value received on client side" , RESPONSE_HEADER_VALUE ,
115+ saajResponse .getMimeHeaders ().getHeader (RESPONSE_HEADER_NAME )[0 ]);
106116 ByteArrayOutputStream os = new ByteArrayOutputStream ();
107- context . getResponse () .writeTo (os );
117+ response .writeTo (os );
108118 assertXMLEqual (RESPONSE , os .toString ("UTF-8" ));
109119 }
110120
@@ -125,11 +135,12 @@ public void service(ServletRequest req, ServletResponse res) throws ServletExcep
125135 StringResult requestResult = new StringResult ();
126136 transformer .transform (new StreamSource (req .getInputStream ()), requestResult );
127137 receivedRequest = requestResult .toString ();
128- receivedHeader = ((HttpServletRequest ) req ).getHeader (HEADER_NAME );
138+ receivedHeader = ((HttpServletRequest ) req ).getHeader (REQUEST_HEADER_NAME );
129139
130140 HttpServletResponse httpServletResponse = (HttpServletResponse ) res ;
131141 httpServletResponse .setStatus (HttpServletResponse .SC_OK );
132142 httpServletResponse .addHeader ("Content-Type" , "text/xml" );
143+ httpServletResponse .addHeader (RESPONSE_HEADER_NAME , RESPONSE_HEADER_VALUE );
133144 FileCopyUtils .copy (RESPONSE .getBytes ("UTF-8" ), res .getOutputStream ());
134145 }
135146 catch (TransformerException ex ) {
@@ -145,7 +156,7 @@ public void service(ServletRequest req, ServletResponse res) throws ServletExcep
145156 StringResult requestResult = new StringResult ();
146157 transformer .transform (new StreamSource (req .getInputStream ()), requestResult );
147158 receivedRequest = requestResult .toString ();
148- receivedHeader = ((HttpServletRequest ) req ).getHeader (HEADER_NAME );
159+ receivedHeader = ((HttpServletRequest ) req ).getHeader (REQUEST_HEADER_NAME );
149160
150161 HttpServletResponse httpServletResponse = (HttpServletResponse ) res ;
151162 httpServletResponse .setStatus (HttpServletResponse .SC_NO_CONTENT );
0 commit comments