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 に答える