0
 <inSequence xmlns="http://ws.apache.org/ns/synapse" onError="fault">
   <property name="CONTENT_TYPE" value="application/json" scope="axis2" type="STRING"/>
   <property name="HTTP_METHOD" value="POST" scope="axis2" type="STRING"/>
   <payloadFactory>
      <format>
         <getalert xmlns=""/>
      </format>
   </payloadFactory>
   <send receive="Get_Alert_Mobile_seq">
      <endpoint>
         <address uri="http://localhost:9764/services/tlog_DataService//" format="soap11"/>
      </endpoint>
   </send>
   <script language="js">
      <![CDATA[var x="2012-04-04 17:19:48+05:30".tostring();var y=x.split("T");var z=y[0].tostring().split("-");var a=y[1].tostring().split(":");var d=new date(z[0],z[1],z[2],a[0],a[1],a[2],a[3].tostring().split("+")[0]);]]></script>
      <log level="custom">
         <property name="TIMESTAMP" expression="get-property('newdate')"/>
      </log>
      <property name="ERROR_MESSAGE" expression="get-property('ERROR_MESSAGE')" scope="axis2" type="STRING"/>
      <property name="ERROR_CODE" expression="get-property('ERROR_CODE')" scope="axis2" type="STRING"/>
      <property name="FORCE_ERROR_ON_SOAP_FAULT" value="true" scope="default" type="STRING"/>
      <log level="full"/>
   </inSequence>

我正在使用我也内联编写的脚本调解器,我的时间戳在 DB 中是这样的 2012-04-04 17:19:48+05:30

4

1 回答 1

0

我认为以下喜欢会帮助你。 在javascript中将UTC字符串转换为纪元时间

但是为 WSO2 ESB 编写自定义中介来完成这项工作会更容易。这是一个简单的java类。以下链接将帮助您编写自定义调解器。http://docs.wso2.org/wiki/display/ESB460/Writing+a+WSO2+ESB+Mediator

您可以将日期字符串设置为消息属性。然后从自定义中介访问它并将其转换为毫秒的长值。然后将 long 值设置为另一个消息属性。

于 2013-03-26T18:54:08.667 回答