WSO2 ESB消息转发处理器未发送到端点

WSO2 ESB消息转发处理器未发送到端点,wso2,wso2esb,wso2carbon,Wso2,Wso2esb,Wso2carbon,我正在尝试从jms消息存储实现消息转发处理器。我遵循了标准示例。我从api成功地填充了JMS存储,但是当我激活消息处理器时,我得到了以下错误。看起来我想要转发消息的端点url的格式不正确,并且添加了我最初发布到的url的一部分,以便将对象放在JMS存储上。有效负载目前在api中是硬编码的 ERROR - ForwardingService BlockingMessageSender of message processor [TestStockMessageProcessor] fail

我正在尝试从jms消息存储实现消息转发处理器。我遵循了标准示例。我从api成功地填充了JMS存储,但是当我激活消息处理器时,我得到了以下错误。看起来我想要转发消息的端点url的格式不正确,并且添加了我最初发布到的url的一部分,以便将对象放在JMS存储上。有效负载目前在api中是硬编码的

 ERROR - ForwardingService BlockingMessageSender of message processor
   [TestStockMessageProcessor] failed to send message to the endpoint.
 INFO - ForwardingService Pausing the service of the message processor
  [TestStockMessageProcessor]
 INFO - HTTPSender Unable to sendViaPost to
    url[http://TestServer/Webservices.API/stock/stockReference/bookIn]
 ...Transport error : 404 Error: NOT Found
我使用谷歌REST客户端并发布到以下URL

  "http://localhost:8280/dev_depot/stock/stockReference/bookIn"
我的api叫做dev_depot

下面是我的配置

我的API

<resource methods="POST" uri-template="/stock/stockReference/bookIn">
  <inSequence>
     <payloadFactory media-type="json">
        <format>   { "AreaId": 1, "StockStatusId": 1, "AbsStockNo": 1, "StockNo":
  "TestJMSMS", "SKU": "7", "CatalogueNo": "300", "BadPackaging": false}   </format>
        <args></args>
     </payloadFactory>
     <property name="OUT_ONLY" value="true"></property>
     <property name="FORCE_SC_ACCEPTED" value="true" scope="axis2"></property>
     <store messageStore="JMSMS"></store>
     <log level="full"></log>
  </inSequence>
  <outSequence>
     <log level="full"></log>
  </outSequence>
</resource>
代理服务

<proxy xmlns="http://ws.apache.org/ns/synapse"
   name="MessageProcessorTest"
   transports="https,http"
   statistics="disable"
   trace="disable"
   startOnLoad="true">
<target>
  <inSequence>
     <payloadFactory media-type="json">
        <format>   { "AreaId": 1, "StockStatusId": 1, "AbsStockNo": 1, "StockNo":
 "TestProxyJMSMS", "SKU": "7", "CatalogueNo": "300", "BadPackaging": false} 
 </format>
        <args/>
     </payloadFactory>
     <property name="FORCE_SC_ACCEPTED" value="true" scope="axis2"/>
     <property name="OUT_ONLY" value="true"/>
     <property name="target.endpoint" value="TestEndpoint"/>
     <log level="full"/>
     <store messageStore="JMSMS"/>
  </inSequence>
  </target>
 <description/>
</proxy>
这一次,端点URL似乎是正确的。我使用相同的消息处理器,但填充JMS消息存储的方式不同


如果有任何关于我做错了什么的提示,我们将不胜感激。

在应用商店中介之前,请尝试在API中添加此属性:

<property name="REST_URL_POSTFIX" action="remove" scope="axis2"/>

您是否尝试将端点更改为testNot。我不会使用存储中介来填充消息存储。我确实将您建议的属性添加到了我的API中。我在有效负载工厂之前添加了它作为序列中的第一个条目,但仍然得到相同的错误。
INFO - HTTPSender Unable to send ViaPost to
url[http://TestServer/Webservices.API/stock] : No element was found to write: 
java.lang.ArrayIndexOutOfBoundsException
<proxy xmlns="http://ws.apache.org/ns/synapse"
   name="MessageProcessorTest"
   transports="https,http"
   statistics="disable"
   trace="disable"
   startOnLoad="true">
<target>
  <inSequence>
     <payloadFactory media-type="json">
        <format>   { "AreaId": 1, "StockStatusId": 1, "AbsStockNo": 1, "StockNo":
 "TestProxyJMSMS", "SKU": "7", "CatalogueNo": "300", "BadPackaging": false} 
 </format>
        <args/>
     </payloadFactory>
     <property name="FORCE_SC_ACCEPTED" value="true" scope="axis2"/>
     <property name="OUT_ONLY" value="true"/>
     <property name="target.endpoint" value="TestEndpoint"/>
     <log level="full"/>
     <store messageStore="JMSMS"/>
  </inSequence>
  </target>
 <description/>
</proxy>
<property name="REST_URL_POSTFIX" action="remove" scope="axis2"/>