Skip to content

Commit cc73683

Browse files
committed
SWS-702 - sws:annotation-driven does not pick up @endpoint annotations on classes that are JDK proxies
1 parent bd62e54 commit cc73683

File tree

2 files changed

+6
-3
lines changed

2 files changed

+6
-3
lines changed

core/src/test/java/org/springframework/ws/server/endpoint/mapping/PayloadRootAnnotationMethodEndpointMappingTest.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@
3333
import org.springframework.ws.server.EndpointMapping;
3434
import org.springframework.ws.server.MessageDispatcher;
3535
import org.springframework.ws.server.endpoint.MethodEndpoint;
36+
import org.springframework.ws.server.endpoint.adapter.DefaultMethodEndpointAdapter;
3637
import org.springframework.ws.server.endpoint.adapter.PayloadMethodEndpointAdapter;
3738
import org.springframework.ws.soap.saaj.SaajSoapMessage;
3839
import org.springframework.ws.soap.saaj.SaajSoapMessageFactory;
@@ -73,12 +74,13 @@ public void testInvoke() throws Exception {
7374
request.getSOAPBody().addBodyElement(QName.valueOf("{http://springframework.org/spring-ws}Request"));
7475
MessageContext messageContext =
7576
new DefaultMessageContext(new SaajSoapMessage(request), new SaajSoapMessageFactory(messageFactory));
76-
EndpointAdapter adapter = new PayloadMethodEndpointAdapter();
77+
DefaultMethodEndpointAdapter adapter = new DefaultMethodEndpointAdapter();
78+
adapter.afterPropertiesSet();
7779

7880
MessageDispatcher messageDispatcher = new SoapMessageDispatcher();
7981
messageDispatcher.setApplicationContext(applicationContext);
8082
messageDispatcher.setEndpointMappings(Collections.<EndpointMapping>singletonList(mapping));
81-
messageDispatcher.setEndpointAdapters(Collections.singletonList(adapter));
83+
messageDispatcher.setEndpointAdapters(Collections.<EndpointAdapter>singletonList(adapter));
8284

8385
messageDispatcher.receive(messageContext);
8486

core/src/test/java/org/springframework/ws/server/endpoint/mapping/PayloadRootEndpoint.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323

2424
import org.springframework.ws.server.endpoint.annotation.Endpoint;
2525
import org.springframework.ws.server.endpoint.annotation.PayloadRoot;
26+
import org.springframework.ws.server.endpoint.annotation.RequestPayload;
2627

2728
@Endpoint
2829
public class PayloadRootEndpoint {
@@ -37,7 +38,7 @@ public boolean isDoItInvoked() {
3738

3839
@PayloadRoot(localPart = "Request", namespace = "http://springframework.org/spring-ws")
3940
@org.springframework.ws.server.endpoint.mapping.Log
40-
public void doIt(Source payload) {
41+
public void doIt(@RequestPayload Source payload) {
4142
doItInvoked = true;
4243
logger.info("In doIt()");
4344
}

0 commit comments

Comments
 (0)