2016-05-16 13 views
0

ミュール変換メッセージでxmlフォーマット変換中に問題が発生しました。Mule ESB Transform Messgae xml変換

私は1つの入力xmlファイルを持っています。

入力xmlを出力するには、ノード構造が異なり、ノード名が異なるxmlを出力する必要があります。 私はこの変換のためにデータ変換メッセージを使用しましたが、ある時点で、期待されるフォーマットがオブジェクトであり、見つかった文字列であることを示しています。 誰かが私に同じことを助けてくれますか?

"が見つかり型の不一致 :名前、:必要な文字列 :名前、:。WeaveMessageProcessor $ WeaveOutputHandler:オブジェクト(com.mulesoft.weave.mule.exception.WeaveExecutionException)メッセージのペイロードは型である"

input payload 
<?xml version="1.0" encoding="utf-8"?> 
<AGREEMENT> 
    <details> 
    <newTransaction>N</newTransaction> 
    <type>ddd</type> 
    </details> 
</AGREEMENT> 

output Payload 

<?xml version="1.0" encoding="utf-8"?> 
    <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  xmlns:xsd="http://www.w3.org/2001/XMLSchema"  xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> 
<soap:Header> 
<TestHeader xmlns="TestWebService"> 
    <Username>aaa</Username> 
    <Password>aaa</Password> 
</TestHeader> 
</soap:Header> 
    <soap:Body> 
     <AGRMNT> 
     <testId> 
     <_-Test_Agrmnt- SEGMENT="1"> 
      <transaction>N</transaction> 
     </__-Test_Agrmnt-> 
    </testId> 
    </AGRMNT> 
</soap:Body> 
</soap:Envelope> 

DataWeaveコード

%dw 1.0 
%output application/xml 
%namespace soap http://schemas.xmlsoap.org/soap/envelope/ 

{ 
soap#Envelope: { 
    soap#Body: { 

     AGREEMENT: { 

      testId: { 
      '_-Test_Agrmnt-': { 

        transaction: payload.AGREEMENT.details.newTransaction as :string 
        } 
       } 
      } 
     }} 
+0

で、あなたのXML入力と出力を提供することができます---追加されますか? –

+0

出力ファイルの形式が正しくありません。期待出力を投稿してください – AnupamBhusari

答えて

0

私はあなたの入力し、スクリプトで出力以下の持っている

<?xml version='1.0' encoding='UTF-8'?> 
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> 
    <soap:Body> 
    <AGREEMENT> 
     <testId> 
     <_-Test_Agrmnt-> 
      <transaction>N</transaction> 
     </_-Test_Agrmnt-> 
    </testId> 
    </AGREEMENT> 
</soap:Body> 
</soap:Envelope> 

唯一の変更は、スクリプト

<dw:transform-message doc:name="Transform Message"> 
      <dw:set-payload><![CDATA[%dw 1.0 
       %output application/xml 
       %namespace soap http://schemas.xmlsoap.org/soap/envelope/ 
       --- 
       { 
       soap#Envelope: { 
        soap#Body: { 

         AGREEMENT: { 

          testId: { 
          '_-Test_Agrmnt-': { 

            transaction: payload.AGREEMENT.details.newTransaction as :string 
            } 
           } 
          } 
         }}}]]> 
     </dw:set-payload> 
     </dw:transform-message> 
+0

こんにちはAnupam、ありがとう... –

関連する問題