Fixed sending response bug.

This commit is contained in:
Arjen Poutsma
2007-05-20 21:15:49 +00:00
parent 01e01687cb
commit 3053eb7b14
2 changed files with 91 additions and 1 deletions

View File

@@ -83,7 +83,7 @@ public abstract class WebServiceMessageReceiverObjectSupport implements Initiali
MessageContext messageContext = new DefaultMessageContext(request, getMessageFactory());
receiver.receive(messageContext);
if (messageContext.hasResponse()) {
connection.send(request);
connection.send(messageContext.getResponse());
}
}
catch (NoEndpointFoundException ex) {

View File

@@ -0,0 +1,90 @@
/*
* Copyright 2007 the original author or authors.
*
* Licensed 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.springframework.ws.transport.support;
import junit.framework.TestCase;
import org.easymock.MockControl;
import org.springframework.ws.MockWebServiceMessage;
import org.springframework.ws.MockWebServiceMessageFactory;
import org.springframework.ws.context.MessageContext;
import org.springframework.ws.transport.WebServiceConnection;
import org.springframework.ws.transport.WebServiceMessageReceiver;
public class WebServiceMessageReceiverObjectSupportTest extends TestCase {
private WebServiceMessageReceiverObjectSupport receiverSupport;
private MockControl connectionControl;
private WebServiceConnection connectionMock;
private MockWebServiceMessageFactory messageFactory;
private MockWebServiceMessage request;
protected void setUp() throws Exception {
receiverSupport = new MyReceiverSupport();
messageFactory = new MockWebServiceMessageFactory();
receiverSupport.setMessageFactory(messageFactory);
connectionControl = MockControl.createStrictControl(WebServiceConnection.class);
connectionMock = (WebServiceConnection) connectionControl.getMock();
request = new MockWebServiceMessage();
}
public void testHandleConnectionResponse() throws Exception {
connectionControl.expectAndReturn(connectionMock.receive(messageFactory), request);
connectionMock.send(new MockWebServiceMessage());
connectionControl.setMatcher(MockControl.ALWAYS_MATCHER);
connectionMock.close();
connectionControl.replay();
WebServiceMessageReceiver receiver = new WebServiceMessageReceiver() {
public void receive(MessageContext messageContext) throws Exception {
assertNotNull("No message context", messageContext);
messageContext.getResponse();
}
};
receiverSupport.handleConnection(connectionMock, receiver);
connectionControl.verify();
}
public void testHandleConnectionNoResponse() throws Exception {
connectionControl.expectAndReturn(connectionMock.receive(messageFactory), request);
connectionMock.close();
connectionControl.replay();
WebServiceMessageReceiver receiver = new WebServiceMessageReceiver() {
public void receive(MessageContext messageContext) throws Exception {
assertNotNull("No message context", messageContext);
}
};
receiverSupport.handleConnection(connectionMock, receiver);
connectionControl.verify();
}
private static class MyReceiverSupport extends WebServiceMessageReceiverObjectSupport {
}
}