以下のドキュメントを確認して構成しました。
https://docs.wso2.com/display/ESB481/SAP+統合
SAP と対話するためのプロトコルとして IDOC を使用する必要があります。IDOC 構造を持つプロキシを作成しましたが、そのプロキシをヒットしようとすると、無知なヌル ポインター例外が発生します。
エラーログ:
TID: [0] [ESB] [2016-07-07 08:20:22,543] WARN {org.apache.synapse.endpoints.EndpointContext} - Endpoint : sapidocendpoint will be marked SUSPENDED as it failed {org.apache.synapse.endpoints.EndpointContext}
TID: [0] [ESB] [2016-07-07 08:20:22,543] WARN {org.apache.synapse.endpoints.EndpointContext} - サスペンド エンドポイント: sapidocendpoint - 現在のサスペンド期間: 30000ms - 次の再試行後: 木Jul 07 08:20:52 CLT 2016 {org.apache.synapse.endpoints.EndpointContext} TID: [0] [ESB] [2016-07-07 08:20:22,543] エラー {org.wso2.carbon.transport. sap.SAPTransportSender} - IDoc を EPR に送信中にエラーが発生しました: idoc:/sapdelts {org.wso2.carbon.transports.sap.SAPTransportSender} java.lang.NullPointerException at org.wso2.carbon.transports.sap.idoc.DefaultIDocXMLMapper org.wso2.carbon.transports.sap.idoc.DefaultIDocXMLMapper.getDocumentList(DefaultIDocXMLMapper.java:59) の .closeStream(DefaultIDocXMLMapper.java:68) org.wso2.carbon.transports.sap.SAPTransportSender.getIDocs(SAPTransportSender.java) の:163) org.wso2 で。carbon.transports.sap.SAPTransportSender.sendMessage(SAPTransportSender.java:103) at org.apache.axis2.transport.base.AbstractTransportSender.invoke(AbstractTransportSender.java:112) at org.apache.axis2.engine.AxisEngine.send( AxisEngine.java:442) org.apache.synapse.core.axis2.DynamicAxisOperation$DynamicOperationClient.send(DynamicAxisOperation.java:185) org.apache.synapse.core.axis2.DynamicAxisOperation$DynamicOperationClient.executeImpl(DynamicAxisOperation.java: 167) org.apache.axis2.client.OperationClient.execute(OperationClient.java:149) で org.apache.synapse.core.axis2.Axis2FlexibleMEPClient.send(Axis2FlexibleMEPClient.java:482) で org.apache.synapse.core org.apache.synapse.core.axis2.Axis2SynapseEnvironment の .axis2.Axis2Sender.sendOn(Axis2Sender.java:59)。send(Axis2SynapseEnvironment.java:338) at org.apache.synapse.endpoints.AbstractEndpoint.send(AbstractEndpoint.java:333) at org.apache.synapse.endpoints.AddressEndpoint.send(AddressEndpoint.java:59) at org.apache .synapse.mediators.builtin.CallMediator.mediate(CallMediator.java:114) org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:77) で org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator) .java:47) org.apache.synapse.mediators.base.SequenceMediator.mediate(SequenceMediator.java:131) で org.apache.synapse.core.axis2.ProxyServiceMessageReceiver.receive(ProxyServiceMessageReceiver.java:166) で org. org.apache.synapse.transport.passthru.ServerWorker の apache.axis2.engine.AxisEngine.receive(AxisEngine.java:180)。org.apache.synapse.transport.passthru.ServerWorker.run(ServerWorker.java:183) の processEntityEnclosureRequest(ServerWorker.java:411) org.apache.axis2.transport.base.threads.NativeWorkerPool$1.run(NativeWorkerPool.java) :172) java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) で java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) で java.lang.Thread.run(Thread. java:724) TID: [0] [ESB] [2016-07-07 08:20:22,546] エラー {org.apache.synapse.core.axis2.Axis2Sender} - {org.apache. synapse.core.axis2.Axis2Sender} org.apache.axis2.AxisFault: IDoc を EPR に送信中にエラーが発生しました: idoc:/sapdelts at org.apache.axis2.transport.base.AbstractTransportSender.handleException(AbstractTransportSender.java:226) org.wso2.carbon.transports.sap.SAPTransportSender.sendMessage(SAPTransportSender.java:136) で org.apache.axis2.transport.base.AbstractTransportSender.invoke(AbstractTransportSender.java:112) で org.apache.axis2 .engine.AxisEngine.send(AxisEngine.java:442) org.apache.synapse.core.axis2.DynamicAxisOperation$DynamicOperationClient.send(DynamicAxisOperation.java:185) org.apache.synapse.core.axis2.DynamicAxisOperation$DynamicOperationClient .executeImpl(DynamicAxisOperation.java:167) で org.apache.axis2.client.OperationClient.execute(OperationClient.java:149) で org.apache.synapse.core.axis2.Axis2FlexibleMEPClient.send(Axis2FlexibleMEPClient.java:482) でorg.apache.synapse.core.axis2.Axis2Sender.sendOn(Axis2Sender.java:59) org.apache.synapse.core.axis2.Axis2SynapseEnvironment.send(Axis2SynapseEnvironment.java:338) org.apache.synapse.endpoints.AbstractEndpoint.send(AbstractEndpoint.java:333) org.apache.synapse.endpoints.AddressEndpoint.send(AddressEndpoint.java:59) org .apache.synapse.mediators.builtin.CallMediator.mediate(CallMediator.java:114) org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:77) で org.apache.synapse.mediators.AbstractListMediator.mediate (AbstractListMediator.java:47) org.apache.synapse.mediators.base.SequenceMediator.mediate(SequenceMediator.java:131) で org.apache.synapse.core.axis2.ProxyServiceMessageReceiver.receive(ProxyServiceMessageReceiver.java:166) でorg.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:180) at org.apache.synapse.transport.org.apache.axis2.transport.base.threads.NativeWorkerPool$1.run で org.apache.synapse.transport.passthru.ServerWorker.run(ServerWorker.java:183) で passthru.ServerWorker.processEntityEnclosingRequest(ServerWorker.java:411) (NativeWorkerPool.java:172) で java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) で java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) で java.lang.Thread で。 run(Thread.java:724) 原因: org.wso2.carbon.transports.sap.idoc.DefaultIDocXMLMapper.closeStream(DefaultIDocXMLMapper.java:68) での java.lang.NullPointerException org.wso2.carbon.transports.sap. idoc.DefaultIDocXMLMapper.getDocumentList(DefaultIDocXMLMapper.java:59) org.wso2.carbon.transports.sap.SAPTransportSender.getIDocs(SAPTransportSender.java:163) org.wso2.carbで
根本的な原因が何かを見つけることができず、
誰かがこれを手伝ってくれますか。
プロキシー:
<?xml version="1.0" encoding="UTF-8"?>
<proxy xmlns="http://ws.apache.org/ns/synapse"
name="Test"
transports="http"
statistics="enable"
trace="enable"
startOnLoad="true">
<target>
<inSequence>
<payloadFactory media-type="xml">
<format>
------------------
</format>
<args/>
</payloadFactory>
<send>
<endpoint name="sapidocendpoint">
<address uri="idoc:/sapdelts"/>
</endpoint>
</send>
</inSequence>
<outSequence/>
</target>
<parameter name="serviceType">proxy</parameter>
<description/>
</proxy>