I am trying to use StockQuote service as an example for my own service and am following it as best as I can. Before I get into the issue that I am facing, I should clarify that StockQuote works on my machine. Having said that, here is the problem:

I get the following message when I start my service called "EnrollmentService":

Press [Enter] to shut down...
Oct 21, 2009 10:09:08 AM org.springframework.ws.server.MessageDispatcher dispatch
WARNING: No endpoint mapping found for [SaajSoapMessage {http://healthinsurance.oracle.com/enrollment}enrollmentDataRequest]

I do not get this WARNING message when I run the StockQuote service so apparently, there is a mapping problem since when I run the client, I can capture the outgoing SOAP message as shown below:

<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Header xmlns:wsa="http://www.w3.org/2005/08/addressing">
<wsa:To SOAP-ENV:mustUnderstand="1">http://localhost:8001/EnrollmentService</wsa:To>
<wsa:Action>http://healthinsurance.oracle.com/enrollment/EnrollmentService/GetMemberInfo</wsa:Action>
<wsa:MessageID>urn:uuid:3c508728-ef04-40ef-93a2-3ee6ca09a326</wsa:MessageID>
</SOAP-ENV:Header>
<SOAP-ENV:Body>
<ns0:enrollmentDataRequest xmlns:ns0="http://healthinsurance.oracle.com/enrollment">
<ns0:relationId>12345</ns0:relationId>
<ns0:startDate>2009-01-01</ns0:startDate>
</ns0:enrollmentDataRequest>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

So it seems like the client is working fine except that I don't get a response from the server and I know that the service is not being invoked since I have a trace statement in my Enrollment Service as shown below:

@Endpoint
@Address("http://localhost:8080/EnrollmentService")
// optional
public class EnrollmentService {

public EnrollmentService() {
}

@Action(value = "http://healthinsurance.oracle.com/enrollment/EnrollmentService/GetMemberInfo",
output = "http://healthinsurance.oracle.com/enrollment/EnrollmentService/MemberInfo")
public EnrollmentDataResponseType getMemberInfo(EnrollmentDataRequestType request) {
EnrollmentDataResponseType response = new EnrollmentDataResponseType();
response.setRelationId("12345");
System.out.println("Request received");
return response;
}
}

To the best of my knowledge, here is where I should annotate that this particular class serves as my endpoint. why I am getting this warning then?

I bigger question is: how should I go about debugging this sort of problem in Spring Web Services? There seems to be an acute lack of good documentation/tutorial materials around the more intermediate to advanced usage scenarios.

Thanks.

Bharat