首页 文章

WSO2 ESB发送消息时出现意外错误(Java NullPointerException)

提问于
浏览
0

问题在于服务器运行wso2esb v.5以获得非常简单的API .

<api context="/epc/v2" name="oldPgmType-API" statistics="enable" xmlns="http://ws.apache.org/ns/synapse">
<resource methods="HEAD GET" uri-template="/OldPgmType/*">
    <inSequence>
        <property name="Authorization" scope="transport" type="STRING" value="Basic cdsdsdsdsdsdsdsds=="/>
        <header name="Accept" scope="transport" value="application/xml"/>
        <send>
            <endpoint key="gov:endpoints/epc/epc_api_endpoint.xml"/>
        </send>
    </inSequence>
    <outSequence>
        <log description="After response" level="full">
            <property name="message" value="After response LOG"/>
        </log>
        <header name="Accept" scope="transport" value="application/xml"/>
        <sequence key="gov:sequences/common/outAcceptSequence.xml"/>
        <send/>
    </outSequence>
    <faultSequence/>
</resource>
</api>

我是新的esb经理,有人告诉我几周前问题不存在,我没有看到配置文件有任何变化 . 顺便说一句,同一个调解器在我的开发机器上运行正常(运行wso2ei61) .

当然,我检查了 endpoints 是否可以从服务器访问卷曲 .

日志中的错误没有延迟,因此这不是超时问题 .

这是日志:

DEBUG - HTTPS-Listener I / O dispatcher-3 >> "GET /epc/v2/OldPgmType/intitComplet/L/2017/francais/psp1ba HTTP/1.1[\r][\n]" DEBUG {org.apache.synapse.transport . http.wire} - HTTPS-Listener I / O dispatcher-3 >> "Host: esb-test.sipr.ucl.ac.be:8243[\r][\n]" DEBUG - HTTPS-Listener I / O dispatcher-3 >> "User-Agent: curl/7.54.0[\r][\n]" DEBUG - HTTPS-Listener I / O dispatcher-3 >>“接受:/ [\ r] [\ n] " DEBUG - HTTPS-Listener I/O dispatcher-3 >> " [\ r] [\ n] DEBUG - Synapse收到了新的消息中介消息... DEBUG - 收到:/ epc / v2 / OldPgmType / intitComplet / L / 2017 / francais / psp1ba DEBUG - SO APAction:null DEBUG - WSA-Action:null DEBUG - 注入MessageContext DEBUG - API上下文:/ learning / v1不匹配的请求URI:/ epc / v2 / OldPgmType / intitComplet / L / 2017 / francais / psp1ba DEBUG - API上下文:/学生/ v0与请求URI不匹配:/ epc / v2 / OldPgmType / intitComplet / L / 2017 / francais / psp1ba DEBUG - 具体位置API:oldPgmType-API用于处理消息 DEBUG - 处理消息的ID:urn:uuid:f525b130-d4ec-412b-9d1d-3b46edd34364通过API:oldPgmTyp e-API DEBUG - 通过以下方式处理ID:urn:uuid:f525b130-d4ec-412b-9d1d-3b46edd34364的消息:51f40a319374b54aab115c882a9738df58dd6604358b59fb DEBUG - 开始:序列 DEBUG {org.apache.synapse . mediators.base.SequenceMediator} - Sequence :: mediate() DEBUG - 调解从调解员位置开始:0 DEBUG - 开始:Property mediator DEBUG - 设置属性:范围授权:传输到:基本cxxxxx ==(即constant:Basic cxxxx ==) DEBUG - End:Property mediator {org.apache.synapse.mediators.builtin . PropertyMediator} DEBUG - 开始:头部中介 DEBUG - 设置HTTP标头:接受:application / xml DEBUG - 结束:标头中介{org.apache.synapse.mediators . transform.HeaderMediator} DEBUG - 开始:发送中介 DEBUG - 正在加载带密钥的真实 endpoints :gov:endpoints / epc / epc_api_endpoint.xml DEBUG - 密钥的缓存对象已过期:gov:endpoints / epc / epc_api_endpoint.xml DEBUG - 过期的版本号与注册表中的当前版本相同 DEBUG - 续订缓存租用另外15s DEBUG - 检查 endpoints :地址https://remote_server.be/WebApi/resources当前处于SUSPENDED状态的epc_api_endpoint现在可以使用吗? DEBUG - endpoints :epc_api_endpoint,地址为https://remote_server.be/WebApi/resources,当前为SUSPENDED,现在可以重试{org.apache.synapse.endpoints . EndpointContext} DEBUG - 通过 endpoints 发送消息:epc_api_endpoint解析为address = https://remote_server.be/WebApi/resources DEBUG - SOAPAction:null DEBUG - WSA-Action:null {org.apache.synapse . core.axis2.Axis2FlexibleMEPClient} DEBUG - 设置 endpoints 的超时: endpoints [epc_api_endpoint],URI:https://remote_server.be/WebApi/resources/OldPgmType/intitComplet/L/2017/francais/psp1ba到静态超时值:60000 {org.apache.synapse.core.axis2 . Axis2FlexibleMEPClient} DEBUG - 添加了回调 . 等待的总回调次数:1 错误 - 发送消息时出现意外错误{org.apache.synapse.core.axis2 org.apache.synapse.transport.passthru.PassThroughHttpSender.invoke(PassThroughHttpSender.java:255)中的.Axis2Sender} java.lang.NullPointerException位于org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:442)org位于org.apache.axis2的org.apache.synapse.core.axis2.DynamicAxisOperation $ DynamicOperationClient.executeImpl(DynamicAxisOperation.java:167)上的.apache.synapse.core.axis2.DynamicAxisOperation $ DynamicOperationClient.send(DynamicAxisOperation.java:185)位于org.apache.synapse.core.axis2.Axis2FlexibleMEPClient.send(Axis2FlexibleMEPClient.java:581)的.client.OperationClient.execute(OperationClient.java:149)位于org.apache.synapse.core.axis2.Axis2Sender.sendOn(Axis2Sender) .java:78)at org.apache.synapse.core.axis2.Axis2SynapseEnvironment.send(Axis2SynapseEnvironment.java:548)at at org.apache.synapse.endpoints.AbstractEndpoint.send(AbstractEndpoint.java:382)org.apache.synapse.endpoints.AddressEndpoint.send(AddressEndpoint.java:65)org.apache.synapse.endpoints.IndirectEndpoint.send( IndirectEndpoint.java:55)org.apache中的org.apache.synapse.mediators.builtin.SendMediator.mediate(SendMediator.java:121)org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:97)位于org.apache.synapse.rest.Resource.process的org.apache.synapse.mediators.base.SequenceMediator.mediate(SequenceMediator.java:158)中的.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:59) .java:343)org.apache.synapse.rest.API.process(API.java:399)atg.apache.synapse.rest.RESTRequestHandler.apiProcess(RESTRequestHandler.java:123)atg.apache.synapse . 在org.apache.synapse.core.axis2.Ax的org.apache.synapse.rest.RESTRequestHandler.process(RESTRequestHandler.java:69)上的rest.RESTRequestHandler.dispatchToAPI(RESTRequestHandler.java:101) is2SynapseEnvironment.injectMessage(Axis2SynapseEnvironment.java:304)atg.apache.synapse.core.axis2.SynapseMessageReceiver.receive(SynapseMessageReceiver.java:75)at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:180)位于org.apache.axis2.transport的org.apache.synapse.transport.passthru.ServerWorker.processNonEntityEnclosingRESTHandler(ServerWorker.java:325)org.apache.synapse.transport.passthru.ServerWorker.run(ServerWorker.java:158) java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)java.util.concurrent.ThreadPoolExecutor $ Worker.run(ThreadPoolExecutor.java: . ) . 617)在java.lang.Thread.run(Thread.java:745)WARN - 由于遇到异常而执行错误处理程序 WARN - ERROR_CODE:0 WARN - ERROR_MESSAGE:发送消息时出现意外错误 WARN - ERROR_DETAIL:org.apache.synapse.SynapseException:在org.apache.synapse.core.axis2.Axis2Sender.handleException(Axis2Sender.java:257)发送消息时出现意外错误位于org.apache.synapse.endpoints.AbstractEndpoint的org.apache.synapse.core.axis2.Axis2SynapseEnvironment.send(Axis2SynapseEnvironment.java:548)上的.apache.synapse.core.axis2.Axis2Sender.sendOn(Axis2Sender.java:84) .send(AbstractEndpoint.java:382)位于org.apache.synap的org.apache.synapse.endpoints.AddressEndpoint.send(AddressEndpoint.java:65)位于org.apache.synapse.medi上的org.apache.synapse.mediators.builtin.SendMediator.mediate(SendMediator.java:121)中的se.endpoints.IndirectEndpoint.send(IndirectEndpoint.java:55)(AbstractListMediator . java:97)org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:59)atg.apache.synapse.mediators.base.SequenceMediator.mediate(SequenceMediator.java:158)org.apache.synapse位于org.apache.synapse.rest.RESTRequestHandler.apiProcess(RESTRequestHandler.java:123)org.apache.synapse.rest.API.process(API.java:399)的.rest.Resource.process(Resource.java:343) )org.apache.synapse.rest.RESTRequestHandler.dispatchToAPI(RESTRequestHandler.java:101)位于org.apache.synapse.core.axis2的org.apache.synapse.rest.RESTRequestHandler.process(RESTRequestHandler.java:69) . 位于org.apa的org.apache.synapse.core.axis2.SynapseMessageReceiver.receive(SynapseMessageReceiver.java:75)的Axis2SynapseEnvironment.injectMessage(Axis2SynapseEnvironment.java:304)位于org.apache.synapse.transport.passthru.ServerWorker的org.apache.synapse.transport.passthru.ServerWorker.processNonEntityEnclosingRESTHandler(ServerWorker.java:325)中的che.axis2.engine.AxisEngine.receive(AxisEngine.java:180) . 运行(ServerWorker.java:158)org.apache.axis2.transport.base.threads.NativeWorkerPool $ 1.run(NativeWorkerPool.java:172)at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)at at java.util.concurrent.ThreadPoolExecutor $ Worker.run(ThreadPoolExecutor.java:617)at java.lang.Thread.run(Thread.java:745)引起:org.apache.synapse.transport的java.lang.NullPointerException . 位于org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:442)的passthru.PassThroughHttpSender.invoke(PassThroughHttpSender.java:255)位于org.apache.synapse.core.axis2.DynamicAxisOperation $ DynamicOperationClient.send(DynamicAxisOperation . java:185)org.apache.synapse.core.axis2.DynamicAxisOperation $ DynamicOperationClient.executeImpl(DynamicAxisOperation.java:167)at org . 位于org.apache.synapse.core.axis2.Axis2Sender的org.apache.synapse.core.axis2.Axis2FlexibleMEPClient.send(Axis2FlexibleMEPClient.java:581)上的apache.axis2.client.OperationClient.execute(OperationClient.java:149) . sendOn(Axis2Sender.java:78)... 22 more WARN - ERROR_EXCEPTION:org.apache.synapse.SynapseException:发送消息时出现意外错误 DEBUG - 遇到发送到Endpoint [epc_api_endpoint]的非超时错误,错误代码:0 {org . apache.synapse.endpoints.AddressEndpoint}遇到致命错误:0 WARN - endpoints :地址为https://remote_server.be/WebApi/resources的epc_api_endpoint将标记为SUSPENDED,因为它失败 WARN - 暂停 endpoints :epc_api_endpoint,地址为https://remote_server.be/WebApi/resources - 最后一个暂停持续时间为:30000ms,当前暂停持续时间为:30000ms - 下一次重试:1月11日星期四11:11:19 CET 2018 WARN - 执行impl的FaultHandler:org.apache.synapse.mediators.MediatorFaultHandler WARN - 执行错误处理程序中介:org.apache.synapse.mediators.base.SequenceMediator DEBUG - 开始:序列 DEBUG - Sequence :: mediate() DEBUG {org.apache.synapse.mediators.base.SequenceMediator - 介体从介体位置开始:0 DEBUG - 结束:序列

更多跟踪日志...我不明白“hasNoneAddress”的含义:

[MessageContext:logID = a34940bd3f8e646a16843a00ed0866c21ae079eebf2d461e] send:urn:uuid:b6efe071-834b-49b8-963a-3641660b921b TRACE - [MessageContext:....]禁用寻址 . 不添加WS-Addressing标头 . DEBUG - [MessageContext:....] isReplyRedirected:ReplyTo为null . 返回false TRACE - hasAnonymousAddress:https:/ remote_server / xxx / yyy是匿名:false TRACE - hasNoneAddress:https:/ remote_server / xxx / yyy是None:false {org.apache.axis2.addressing .

任何帮助应该被赞赏 . 伯纳德

1 回答

  • 0

    幸运的是,这是一个测试基础设施 . “解决方案”是重新加载安装的备份 . 我们认为H2 DB已损坏 .

相关问题