Я использую WSO2 APIManager 1.10. Я бы хотел вызвать запрос api, используя посредничество.После установки медиации в WSO2 API Manager 1.10 я выяснил исключение нулевой точки и пропущенную учетную ошибку. Что мне нужно сделать?
<sequence name="loadbalancer_bycompany" trace="disable" xmlns="http://ws.apache.org/ns/synapse">
<property expression="get-property('transport', 'company')"
name="company" scope="default" type="STRING"/>
<property name="POST_TO_URI" scope="axis2" type="STRING" value="true"/>
<switch source="$trp:company">
<case regex="sds">
<send>
<endpoint>
<address trace="disable" uri="https://70.30.182.167:8243/calc/1.0/"/>
</endpoint>
</send>
</case>
<case regex="etc">
<send>
<endpoint>
<address trace="disable" uri="https://70.30.182.167:9443/calc/1.0/"/>
</endpoint>
</send>
</case>
<default>
<send>
<endpoint>
<address trace="disable" uri="https://70.30.182.167:9443/carbon/"/>
</endpoint>
</send>
</default>
</switch>
</sequence>
Итак, я попытался установить медиатор, а затем я назвал api. Но, иногда я получал сообщение об ошибке, то есть код 900902, отсутствующий учетную запись, иногда получал правильный ответ.
В то время я нашел журналы вроде этого.
TID: [-1234] [] [2017-02-03 10:45:10,728] INFO {org.apache.synapse.mediators.builtin.LogMediator} - STATUS = Executing default 'fault' sequence, ERROR_CODE = 0, ERROR_MESSAGE = Access-Control-Allow-Headers:authorization,Access-Control-Allow-Origin,Content-Type,company,Access-Control-Allow-Methods:GET,Access-Control-Allow-Origin:*,<?xml version='1.0' encoding='utf-8'?><soapenv:Envelope xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope"><soapenv:Body/></soapenv:Envelope> Unexpected error sending message back {org.apache.synapse.mediators.builtin.LogMediator}
TID: [-1234] [] [2017-02-03 10:45:10,735] ERROR {org.apache.synapse.transport.passthru.PassThroughHttpSSLSender} - Failed to submit the response {org.apache.synapse.transport.passthru.PassThroughHttpSSLSender}
java.lang.NullPointerException
at org.apache.synapse.transport.passthru.util.SourceResponseFactory.create(SourceResponseFactory.java:64)
at org.apache.synapse.transport.passthru.PassThroughHttpSender.submitResponse(PassThroughHttpSender.java:462)
at org.apache.synapse.transport.passthru.PassThroughHttpSender.invoke(PassThroughHttpSender.java:267)
at org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:442)
at org.apache.synapse.core.axis2.Axis2Sender.sendBack(Axis2Sender.java:212)
at org.apache.synapse.core.axis2.Axis2SynapseEnvironment.send(Axis2SynapseEnvironment.java:493)
at org.apache.synapse.mediators.builtin.SendMediator.mediate(SendMediator.java:108)
at org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:81)
at org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:48)
at org.apache.synapse.mediators.base.SequenceMediator.mediate(SequenceMediator.java:155)
at org.apache.synapse.mediators.MediatorFaultHandler.onFault(MediatorFaultHandler.java:86)
at org.apache.synapse.FaultHandler.handleFault(FaultHandler.java:102)
at org.apache.synapse.FaultHandler.handleFault(FaultHandler.java:108)
at org.apache.synapse.core.axis2.SynapseCallbackReceiver.handleMessage(SynapseCallbackReceiver.java:534)
at org.apache.synapse.core.axis2.SynapseCallbackReceiver.receive(SynapseCallbackReceiver.java:172)
at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:180)
at org.apache.synapse.transport.passthru.ClientWorker.run(ClientWorker.java:251)
at org.apache.axis2.transport.base.threads.NativeWorkerPool$1.run(NativeWorkerPool.java:172)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
TID: [-1234] [] [2017-02-03 10:45:10,738] ERROR {org.apache.synapse.core.axis2.Axis2Sender} - Access-Control-Allow-Headers:authorization,Access-Control-Allow-Origin,Content-Type,company,Access-Control-Allow-Methods:GET,Access-Control-Allow-Origin:*,<?xml version='1.0' encoding='utf-8'?><soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"><soapenv:Body><am:fault xmlns:am="http://wso2.org/apimanager"><am:code>0</am:code><am:type>Status report</am:type><am:message>Runtime Error</am:message><am:description>Access-Control-Allow-Headers:authorization,Access-Control-Allow-Origin,Content-Type,company,Access-Control-Allow-Methods:GET,Access-Control-Allow-Origin:*,<?xml version='1.0' encoding='utf-8'?><soapenv:Envelope xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope"><soapenv:Body/></soapenv:Envelope> Unexpected error sending message back</am:description></am:fault></soapenv:Body></soapenv:Envelope> Unexpected error sending message back {org.apache.synapse.core.axis2.Axis2Sender}
org.apache.axis2.AxisFault: Failed to submit the response
at org.apache.synapse.transport.passthru.PassThroughHttpSender.handleException(PassThroughHttpSender.java:610)
at org.apache.synapse.transport.passthru.PassThroughHttpSender.invoke(PassThroughHttpSender.java:269)
at org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:442)
at org.apache.synapse.core.axis2.Axis2Sender.sendBack(Axis2Sender.java:212)
at org.apache.synapse.core.axis2.Axis2SynapseEnvironment.send(Axis2SynapseEnvironment.java:493)
at org.apache.synapse.mediators.builtin.SendMediator.mediate(SendMediator.java:108)
at org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:81)
at org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:48)
at org.apache.synapse.mediators.base.SequenceMediator.mediate(SequenceMediator.java:155)
at org.apache.synapse.mediators.MediatorFaultHandler.onFault(MediatorFaultHandler.java:86)
at org.apache.synapse.FaultHandler.handleFault(FaultHandler.java:102)
at org.apache.synapse.FaultHandler.handleFault(FaultHandler.java:108)
at org.apache.synapse.core.axis2.SynapseCallbackReceiver.handleMessage(SynapseCallbackReceiver.java:534)
at org.apache.synapse.core.axis2.SynapseCallbackReceiver.receive(SynapseCallbackReceiver.java:172)
at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:180)
at org.apache.synapse.transport.passthru.ClientWorker.run(ClientWorker.java:251)
at org.apache.axis2.transport.base.threads.NativeWorkerPool$1.run(NativeWorkerPool.java:172)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.NullPointerException
at org.apache.synapse.transport.passthru.util.SourceResponseFactory.create(SourceResponseFactory.java:64)
at org.apache.synapse.transport.passthru.PassThroughHttpSender.submitResponse(PassThroughHttpSender.java:462)
at org.apache.synapse.transport.passthru.PassThroughHttpSender.invoke(PassThroughHttpSender.java:267)
... 18 more
TID: [-1234] [] [2017-02-03 10:45:10,740] ERROR {org.apache.axis2.transport.base.threads.NativeWorkerPool} - Uncaught exception {org.apache.axis2.transport.base.threads.NativeWorkerPool}
java.lang.RuntimeException: org.apache.synapse.SynapseException: Access-Control-Allow-Headers:authorization,Access-Control-Allow-Origin,Content-Type,company,Access-Control-Allow-Methods:GET,Access-Control-Allow-Origin:*,<?xml version='1.0' encoding='utf-8'?><soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"><soapenv:Body><am:fault xmlns:am="http://wso2.org/apimanager"><am:code>0</am:code><am:type>Status report</am:type><am:message>Runtime Error</am:message><am:description>Access-Control-Allow-Headers:authorization,Access-Control-Allow-Origin,Content-Type,company,Access-Control-Allow-Methods:GET,Access-Control-Allow-Origin:*,<?xml version='1.0' encoding='utf-8'?><soapenv:Envelope xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope"><soapenv:Body/></soapenv:Envelope> Unexpected error sending message back</am:description></am:fault></soapenv:Body></soapenv:Envelope> Unexpected error sending message back
at org.apache.synapse.FaultHandler.handleFault(FaultHandler.java:110)
at org.apache.synapse.FaultHandler.handleFault(FaultHandler.java:108)
at org.apache.synapse.core.axis2.SynapseCallbackReceiver.handleMessage(SynapseCallbackReceiver.java:534)
at org.apache.synapse.core.axis2.SynapseCallbackReceiver.receive(SynapseCallbackReceiver.java:172)
at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:180)
at org.apache.synapse.transport.passthru.ClientWorker.run(ClientWorker.java:251)
at org.apache.axis2.transport.base.threads.NativeWorkerPool$1.run(NativeWorkerPool.java:172)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Caused by: org.apache.synapse.SynapseException: Access-Control-Allow-Headers:authorization,Access-Control-Allow-Origin,Content-Type,company,Access-Control-Allow-Methods:GET,Access-Control-Allow-Origin:*,<?xml version='1.0' encoding='utf-8'?><soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"><soapenv:Body><am:fault xmlns:am="http://wso2.org/apimanager"><am:code>0</am:code><am:type>Status report</am:type><am:message>Runtime Error</am:message><am:description>Access-Control-Allow-Headers:authorization,Access-Control-Allow-Origin,Content-Type,company,Access-Control-Allow-Methods:GET,Access-Control-Allow-Origin:*,<?xml version='1.0' encoding='utf-8'?><soapenv:Envelope xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope"><soapenv:Body/></soapenv:Envelope> Unexpected error sending message back</am:description></am:fault></soapenv:Body></soapenv:Envelope> Unexpected error sending message back
at org.apache.synapse.core.axis2.Axis2Sender.handleException(Axis2Sender.java:247)
at org.apache.synapse.core.axis2.Axis2Sender.sendBack(Axis2Sender.java:215)
at org.apache.synapse.core.axis2.Axis2SynapseEnvironment.send(Axis2SynapseEnvironment.java:493)
at org.apache.synapse.mediators.builtin.SendMediator.mediate(SendMediator.java:108)
at org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:81)
at org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:48)
at org.apache.synapse.mediators.base.SequenceMediator.mediate(SequenceMediator.java:155)
at org.apache.synapse.mediators.MediatorFaultHandler.onFault(MediatorFaultHandler.java:86)
at org.apache.synapse.FaultHandler.handleFault(FaultHandler.java:102)
... 9 more
Caused by: org.apache.axis2.AxisFault: Failed to submit the response
at org.apache.synapse.transport.passthru.PassThroughHttpSender.handleException(PassThroughHttpSender.java:610)
at org.apache.synapse.transport.passthru.PassThroughHttpSender.invoke(PassThroughHttpSender.java:269)
at org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:442)
at org.apache.synapse.core.axis2.Axis2Sender.sendBack(Axis2Sender.java:212)
... 16 more
Caused by: java.lang.NullPointerException
at org.apache.synapse.transport.passthru.util.SourceResponseFactory.create(SourceResponseFactory.java:64)
at org.apache.synapse.transport.passthru.PassThroughHttpSender.submitResponse(PassThroughHttpSender.java:462)
at org.apache.synapse.transport.passthru.PassThroughHttpSender.invoke(PassThroughHttpSender.java:267)
... 18 more
TID: [-1234] [] [2017-02-03 10:45:59,370] INFO {org.wso2.carbon.apimgt.usage.publisher.APIMgtUsageHandler} - Stat is not enabled {org.wso2.carbon.apimgt.usage.publisher.APIMgtUsageHandler}
TID: [-1234] [] [2017-02-03 10:45:59,374] INFO {org.apache.synapse.mediators.builtin.LogMediator} - To: /calc/1.0/subtract?x=3&y=1, MessageID: urn:uuid:8f4000dc-b878-4d5f-b310-f0129f2db0a3, Direction: request, INFO = https://70.30.182.167:8243/calc/1.0/, Envelope: <?xml version='1.0' encoding='utf-8'?><soapenv:Envelope xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope"><soapenv:Body/></soapenv:Envelope> {org.apache.synapse.mediators.builtin.LogMediator}
TID: [-1234] [] [2017-02-03 10:45:59,390] INFO {org.wso2.carbon.apimgt.usage.publisher.APIMgtResponseHandler} - Stat is not enabled {org.wso2.carbon.apimgt.usage.publisher.APIMgtResponseHandler}
TID: [-1234] [] [2017-02-03 10:45:59,395] WARN {org.wso2.carbon.apimgt.gateway.handlers.security.APIAuthenticationHandler} - API authentication failure due to Missing Credentials {org.wso2.carbon.apimgt.gateway.handlers.security.APIAuthenticationHandler}
Я нашел этот журнал несколько раз, поэтому я сделал попытку исправить его. Прежде всего, чтобы удалить эту ошибку, NullPointerException SourceResponseFactory.create (SourceResponseFactory.java:64)
Я понял вопрос кода в PassThroughHttpSender.java, что не справиться с нулевым случае для sourceRequest. И затем я обнаружил, что проблема исправлена. wso2-synapse ESBJAVA-3770 Фильтрация на основе размера сообщения для предотвращения OOM. (# 679)
https://github.com/wso2/wso2-synapse/commit/1aff92c4bad968f78cf38577cbb7c01516475217
Итак, я добавил этот код в наши коды. И затем NullPointException исчез.
И затем я попытался удалить отсутствующую учетную ошибку. Итак, я нашел эту ссылку. Authorization Bearer in URL Request using WSO2 API Manager
И я попытался установить конфигурацию, как показано ниже.
https://docs.wso2.com/display/AM1100/Writing+Custom+Handlers
И тогда Отсутствующие удостоверении ошибка была удалена. И тогда результат правильный ответ. Но я нашел ниже войти бесконечно
TID: [-1234] [] [2017-02-08 13:20:12,563] WARN {org.wso2.carbon.apimgt.gateway.handlers.throttling.APIThrottleHandler} - No authentication context information found on the request - Throttling not applied {org.wso2.carbon.apimgt.gateway.handlers.throttling.APIThrottleHandler}
Я пытался отладить SourceHandler и TargetHandler. , и я думаю, что соединение было создано бесконечно и не было закрыто.
Я не знаю, что делать дальше. Поэтому, пожалуйста, дайте мне знать, что я должен делать.