Как сопоставить запрос SOAP с @Endpoint на основе локального имени тела запроса? - PullRequest
0 голосов
/ 08 мая 2020

Я пытаюсь создать веб-сервис Spring, который обрабатывает входящие SOAP сообщения. Я хочу, чтобы сообщения были сопоставлены с конечной точкой и неупорядочены на основе локального имени тела запроса. На основе документации Spring https://docs.spring.io/spring-ws/site/reference/html/server.html#server -endpoint-mapping

это должно быть возможно путем создания настраиваемого сопоставления конечных точек. Однако я не нашел руководств, как это сделать. Я создал класс

public class Mapper extends AbstractEndpointMapping

и замещенный метод

@Override
    protected Object getEndpointInternal(MessageContext messageContext) throws Exception {
        System.out.println("Mapper");
        return XRoadEndpoint.class;
    }

Этот метод достигается, когда я отправляю сообщение SOAP приложению, но конечная точка не вызывается.

@Endpoint(value = "xroad")
public class XRoadEndpoint {

    @ResponsePayload
    public Object handleXRoadMessage(@RequestPayload Object xRoadMessage) {
        System.out.println("XRoadEndpoint");
        return "test";

    }
}
The response I get in Postman is 
No adapter for endpoint [ee.mrtnh.soap_handler_interceptor.XRoadEndpoint@112a9957]: Is your endpoint annotated with @Endpoint, or does it implement a supported interface like MessageHandler or PayloadEndpoint?

How can I create the desired custom endpoint mapping?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...