SWS-702 - sws:annotation-driven does not pick up @Endpoint annotations on classes that are JDK proxies
This commit is contained in:
@@ -33,6 +33,7 @@ import org.springframework.ws.server.EndpointAdapter;
|
||||
import org.springframework.ws.server.EndpointMapping;
|
||||
import org.springframework.ws.server.MessageDispatcher;
|
||||
import org.springframework.ws.server.endpoint.MethodEndpoint;
|
||||
import org.springframework.ws.server.endpoint.adapter.DefaultMethodEndpointAdapter;
|
||||
import org.springframework.ws.server.endpoint.adapter.PayloadMethodEndpointAdapter;
|
||||
import org.springframework.ws.soap.saaj.SaajSoapMessage;
|
||||
import org.springframework.ws.soap.saaj.SaajSoapMessageFactory;
|
||||
@@ -73,12 +74,13 @@ public class PayloadRootAnnotationMethodEndpointMappingTest {
|
||||
request.getSOAPBody().addBodyElement(QName.valueOf("{http://springframework.org/spring-ws}Request"));
|
||||
MessageContext messageContext =
|
||||
new DefaultMessageContext(new SaajSoapMessage(request), new SaajSoapMessageFactory(messageFactory));
|
||||
EndpointAdapter adapter = new PayloadMethodEndpointAdapter();
|
||||
DefaultMethodEndpointAdapter adapter = new DefaultMethodEndpointAdapter();
|
||||
adapter.afterPropertiesSet();
|
||||
|
||||
MessageDispatcher messageDispatcher = new SoapMessageDispatcher();
|
||||
messageDispatcher.setApplicationContext(applicationContext);
|
||||
messageDispatcher.setEndpointMappings(Collections.<EndpointMapping>singletonList(mapping));
|
||||
messageDispatcher.setEndpointAdapters(Collections.singletonList(adapter));
|
||||
messageDispatcher.setEndpointAdapters(Collections.<EndpointAdapter>singletonList(adapter));
|
||||
|
||||
messageDispatcher.receive(messageContext);
|
||||
|
||||
|
||||
@@ -23,6 +23,7 @@ import org.apache.commons.logging.LogFactory;
|
||||
|
||||
import org.springframework.ws.server.endpoint.annotation.Endpoint;
|
||||
import org.springframework.ws.server.endpoint.annotation.PayloadRoot;
|
||||
import org.springframework.ws.server.endpoint.annotation.RequestPayload;
|
||||
|
||||
@Endpoint
|
||||
public class PayloadRootEndpoint {
|
||||
@@ -37,7 +38,7 @@ public class PayloadRootEndpoint {
|
||||
|
||||
@PayloadRoot(localPart = "Request", namespace = "http://springframework.org/spring-ws")
|
||||
@org.springframework.ws.server.endpoint.mapping.Log
|
||||
public void doIt(Source payload) {
|
||||
public void doIt(@RequestPayload Source payload) {
|
||||
doItInvoked = true;
|
||||
logger.info("In doIt()");
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user