WSO2 Integrator размещал REST API, вызывая другой REST API для вызовов POST, не работает - PullRequest
1 голос
/ 07 апреля 2020

Я создал службу REST API, которая вызывает другой API REST через запрос POST. Я использую вызов, отправляю посредников для вызова сторонней службы, размещенной на том же компьютере. Когда я пытаюсь вызвать WSO2 REST API, служба не может вызвать стороннюю службу. Служба отбрасывает сообщение с таймаутом или видит исключение, при котором невозможно отправить вызов через sendPostURL.

Я пытался использовать посредники отправки и вызова (блокирование, неблокирование), но запрос никогда не завершается.

Аутентификация в стороннем API - Basi c (имя пользователя / пароль). Не уверен, что я делаю неправильно.

Ниже приведен запрос API

<?xml version="1.0" encoding="UTF-8"?>
<api context="/xyz" name="XYZPostAPI" statistics="enable" trace="enable" xmlns="http://ws.apache.org/ns/synapse">
    <resource methods="POST GET">
        <inSequence>
            <log description="Input"/>
            <Header> variables
            <call blocking="true">
                <endpoint key="XYZPost"/>
            </call>
        </inSequence>
        <outSequence>
            <log description="Response">
                <property expression="json-eval($)" name="JSON-Payload"/>
            </log>
            <respond description="batchId"/>
        </outSequence>
        <faultSequence>
            <log description="FaultDetails">
                <property name="text" value="An unexpected error occurred"/>
                <property expression="$ctx:ERROR_MESSAGE" name="message"/>
                <property expression="$ctx:ERROR_CODE" name="code"/>
                <property expression="$ctx:ERROR_DETAIL" name="detail"/>
                <property expression="$ctx:ERROR_EXCEPTION" name="exception"/>
            </log>
            <respond description="fault"/>
        </faultSequence>
    </resource>
</api>

Произошла ошибка: a. [2020-04-06 10: 05: 00,712] INFO {org. apache .synapse.mediators.builtin.LogMediator} - Кому: / nuxeopost, ID сообщения: urn: uuid: e445d272-b9eb-4e89-84f1-428c622213b8, Направление: запрос [2020-04-06 10: 05: 00,713] INFO {API_LOGGER.NuxeoPostAPI} - Кому: / nuxeopost, ID сообщения: urn: uuid: e445d272-b9eb-4e89-84f1-428c622213b8, Направление: запрос [2020-04 -06 10: 05: 00,714] INFO {TRACE_LOGGER} - отправка сообщения через конечную точку: NuxeoPost разрешается по адресу = http://localhost: 8080 / nuxeo / api / v1 / upload [2020-04-06 10: 05: 00,714] INFO {TRACE_LOGGER} - SOAPAction: null [2020-04-06 10: 05: 00,715] INFO {TRACE_LOGGER} - WSA-Action: null [2020-04-06 10: 05: 03,735] INFO {org. apache .axis2.transport.http.HTTPSender} - Невозможно отправить ViaPost на URL [http://localhost: 8080 / nuxeo / api / v1 / upload] org. apache .axis2.AxisFault: Transport ошибка: 401 Ошибка: в орг. apache .axis2.transport.http.HTTPSender.handleResponse (HTTPSender. java: 371) в орг. apache .axis2.transport.http.HTTPSender.sendViaPost (HTTPSender. java: 200) в орг. apache .axis2.transport.http.HTTPSender.send (HTTPSender. java: 81) в орг. apache .axis2.transport.http.CommonsHTTPTransportSender.writeMessageWithCommons (CommonsHTTPTransportSender. java: 459 * 459): 459 1045 * .axis2.transport.http.CommonsHTTPTransportSender.invoke (CommonsHTTPTransportSender. java: 286) в org. apache .axis2.engine.AxisEngine.send (AxisEngine. java: 442) в орг. * 1049 .axis2.description.OutInAxisOperationClient.send (OutInAxisOperation. java: 442) в org. apache .axis2.description.OutInAxisOperationClient.executeImpl (OutInAxisOperation. java: 228) в org. apache. .OperationClient.execute (OperationClient. java: 149) в орг. apache .synapse.message.senders.blocking.BlockingMsgSender.sendReceive (BlockingMsgSender. java: 492) в орг. apache .synapse.message .senders.blocking.BlockingMsgSender.send (BlockingMsgSender. java: 384) в орг. apache .synapse.core.axis2.Axis2F FlexibleMEPClient.send (Axis2F FlexibleMEPClient. java: 92) в орг. * 1061. .core.axis2.Axis2Sender.sendOn (Axis2Sende r. java: 85) в орг. apache .synapse.core.axis2.Axis2SynapseEnvironment.send (Axis2SynapseEnvironment. java: 569) в орг. apache .synapse.endpoints.AbstractEndpoint.send (AbstractEndpoint. java: 408) в орг. apache .synapse.endpoints.HTTPEndpoint.send (HTTPEndpoint. java: 96) в орг. apache .synapse.endpoints.IndirectEndpoint.send (IndirectEndpoint. java: 56) на орг. apache .synapse.mediators.builtin.CallMediator.handleBlockingCall (CallMediator. java: 165) на орг. 120) в орг. apache .synapse.mediators.AbstractListMediator.mediate (AbstractListMediator. java: 109) в орг. . apache .synapse.mediators.base.SequenceMediator.mediate (SequenceMediator. java: 158) в org. apache .synapse.rest.Resource.process (Resource. java: 331) в org. apache .synapse.rest.API.process (API. java: 440) в орг. apache .synapse.rest.RESTRequestHandler.apiProcess (RESTRequestH andler. java: 135) в орг. apache .synapse.rest.RESTRequestHandler.dispatchToAPI (RESTRequestHandler. java: 113) в орг. apache .synapse.rest.RESTRequestHandler. Процесс (RESTRequestHandler. java: 71) в орг. apache .synapse.core.axis2.Axis2SynapseEnvironment.injectMessage (Axis2SynapseEnvironment. java: 325) в орг. apache .synapse.core.axessageReceap. получить (SynapseMessageReceiver. java: 98) в орг. apache .axis2.engine.AxisEngine.receive (AxisEngine. java: 180) в орг. ServerWorker. java: 367) в орг. apache .synapse.transport.passthru.ServerWorker.processEntityEnclosingRequest (ServerWorker. java: 412) в орг. apache .synapse.transport.passthru.Server. ServerWorker. java: 181) в орг. apache .axis2.transport.base.threads.NativeWorkerPool $ 1.run (NativeWorkerPool. java: 172) в java .util.concurrent.ThreadPoolExecutor.runWorker (ThreadPool . java: 1149) в java .util.concurrent.ThreadPoolExecutor $ Worker.run (ThreadPoolExecutor. java: 624) в java .lang.Thread.run (поток. java: 748)

[2020-04-06 10: 05: 03,762] WARN {API_LOGGER.NuxeoPostAP I} - ERROR_CODE: 401 ERROR_MESSAGE: ошибка транспорта: 401 Ошибка: [2020-04-06 10: 05: 03,763] WARN {org. apache .synapse.endpoints.EndpointContext} - конечная точка: NuxeoPost с адресом http://localhost: 8080 / nuxeo / api / v1 / upload будет помечено как ПОДВЕРЖЕННОЕ, поскольку оно не удалось [2020-04-06 10: 05: 03,764] WARN {org. apache .synapse.endpoints.EndpointContext} - Приостановлено конечная точка: NuxeoPost с адресом http://localhost: 8080 / nuxeo / api / v1 / upload - текущая длительность приостановки: 30000 мс - следующая повторная попытка после: пн, апр. 06, 10:05:33 IST 2020 [2020-04 -06 10: 05: 03,764] INFO {API_LOGGER.NuxeoPostAPI} - FaultHandler, выполняющий impl: org. apache .synapse.mediators.MediatorFaultHandler [2020-04-06 10: 05: 03,765] WARN {API_LOGGER.NuxeoPostAPI} - посредник последовательности ошибок: org. apache .synapse.mediators.base.SequenceMediator

b. 2020-04-06 09: 48: 02,801] INFO {org. apache .synapse.transport.passthru.core.PassThroughListeningIOReactorManager} - сквозной EI_INTERNAL_HTTPS_INBOUND_ENDPOINT прослушиватель запущен 0.0.0.0:9164 [2020-04-06 09: 2020-04-06 49: 04,842] INFO {org. apache .synapse.mediators.builtin.LogMediator} - Кому: / nuxeopost, ID сообщения: urn: uuid: 01e07a5 c -93b7-47b8-a8f6-b04f6da03649, направление: запрос [2020 -04-06 09: 49: 04,842] INFO {API_LOGGER.NuxeoPostAPI} - Кому: / nuxeopost, MessageID: urn: uuid: 01e07a5 c -93b7-47b8-a8f6-b04f6da03649, Направление: запрос [2020-04-06 09: 49: 04,844] INFO {TRACE_LOGGER} - отправка сообщения через конечную точку: NuxeoPostSample разрешается по адресу = http://localhost: 8080 / nuxeo / api / v1 / upload [2020-04-06 09:49: 04,844] INFO {TRACE_LOGGER} - SOAPAction: null [2020-04-06 09: 49: 04,844] INFO {TRACE_LOGGER} - WSA-Action: null [2020-04-06 09: 49: 04,853] INFO {org. apache .synapse.core.axis2.TimeoutHandler} - этот механизм истечет все обратные вызовы после GLOBAL_TIMEOUT: 120 секунд, независимо от времени действие тайм-аута после указанного или дополнительного тайм-аута [2020-04-06 09: 51: 19,854] WARN {org. apache .synapse.core.axis2.TimeoutHandler} - ИД сообщения с истекающим сроком действия: urn: uuid: d6945cd0-6e98 -4dfb-a837-5d764cd3cabd; удаление сообщения после GLOBAL_TIMEOUT: 120 секунд для конечной точки [NuxeoPostSample], URI: http://localhost: 8080 / nuxeo / api / v1 / upload , получено через API: NuxeoPostAPI [2020-04-06 09:52 : 04,850] INFO {org. apache .synapse.transport.passthru.SourceHandler} - Writer нулевой при вызове informWriterError [2020-04-06 09: 52: 04,851] WARN {org. apache .synapse.transport.passthru .SourceHandler} - Тайм-аут соединения после прочтения запроса: http-messages-3 Тайм-аут сокета: 180000 Удаленный адрес: /127.0.0.1:56896

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