Написание Rest API внутри мыльного веб-сервиса - PullRequest
0 голосов
/ 04 мая 2018

У меня есть мыльный веб-сервис, который в настоящее время работает нормально.

Мне нужно написать REST API, который будет внутренне вызывать сервис мыла.

Может кто-нибудь подсказать, как этого добиться.

В сервисе Soap я написал restcontroller Код это что-то вроде

@RestController
public class MyController {

    @RequestMapping(value = "/restCheck", method = RequestMethod.GET, produces = "application/json")
    public ResponseEntity<MyResponse<RestCheckResponse>> restCheck(HttpServletRequest request) {
                ..................
                ..................
                System.out.print("Inside the service...");
                ....................
                return new ResponseEntity<>(MyResponse, org.springframework.http.HttpStatus.OK);
    }
}

Но когда я пытаюсь набрать /restCheck от почтальона после запуска сервера.

Я перенаправлен в место, где мыльная служба дает результат.

Response is something like this on postman.
<html>
    <head>
        <title>
Web Services
</title>
    </head>
    <body>
        <h1>Web Services</h1>
        <table width='100%' border='1'>
            <tr>
                <td>
Endpoint
</td>
                <td>
Information
</td>
            </tr>
            <tr>
                <td>
                    <table border="0">
                        <tr>
                            <td>Service Name:</td>
                            <td>{http://impl.service.abc.com/}AbcServiceImpl</td>
                        </tr>
                        <tr>
                            <td>Port Name:</td>
                            <td>{http://impl.service.abc.paytm.com/}AbcServiceImplPort</td>
                        </tr>
                    </table>
                </td>
                <td>
                    <table border="0">
                        <tr>
                            <td>Address:</td>
                            <td>http://127.0.0.1:80/abc/services</td>
                        </tr>
                        <tr>
                            <td>WSDL:</td>
                            <td>
                                <a href="http://127.0.0.1:80/abc/services?wsdl">http://127.0.0.1:80/abc/services?wsdl</a>
                            </td>
                        </tr>
                        <tr>
                            <td>Implementation class:</td>
                            <td>com.abc.xyz.service.impl.AbcServiceImpl</td>
                        </tr>
                    </table>
                </td>
            </tr>
        </table>
    </body>
</html>

URL, который я ударил по почтальону: http://localhost:8080/abc/services/restCheck.

Примечание : Когда я пытаюсь запустить службу в режиме отладки в eclipse и добавляю одну инструкцию print в самой первой строке функции, она не печатает эту строку, но показывает [Fatal Error] :1:1: Premature end of file.

Примечание : URL, по которому я ударил почтальона: http://localhost:8080/abc/services/restCheck. Это дает ответ, изложенный выше. Когда я заменяю /restCheck на любые другие случайные буквы. Это дает тот же результат. Таким образом, в основном, в моем понимании, это не попадает в этот URL. Это в основном публикация мыльного веб-сервиса.

Не могу понять, чего мне не хватает.

1 Ответ

0 голосов
/ 04 мая 2018

Вы получаете страницу WSDL от REST Service Wrapper, что совершенно правильно. Внутри метода restCheck () вам нужно сформировать HTTP-запрос для вызова конечной точки SOAP, получить ответ от этой конечной точки и отправить его обратно.

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