2016-04-09 15 views
2

非常に単純なハッシュマップペイロードがapplication/jsonに変換されています。私は他のフローでこれを行いました。データウェアーコンポーネントをドラッグして、マッピング式を記述するだけです。 id属性が、他のdataweave:私は、XMLを見たとき、私は私の新しいdataweaveコンポーネントは、メタデータを持っていないことがわかりMule DataWeaveメタデータが欠落している変換メッセージ:id属性

The prefix "metadata" for attribute "metadata:id" associated with an element type "dw:transform-message" is not bound.

は今、何らかの理由で、私は次のエラーを取得しています私が使用したコンポーネントにはmetadata:id属性があります。

  1. なぜこれらの機能が異なるのですか?
  2. なぜメタデータですか?idが他のフローのように自動生成されないのはなぜですか?
  3. なぜメタデータ:id属性が最初に必要なのですか?どちらの場合も、マッパーを呼び出す前にObjectコンポーネントにJSONを使用します。

答えて

4

DataWeaveコンポーネントを使用する場合は、xml名前空間を宣言する必要があります。 Studioデザイナーを使用している場合は、コンポーネントを構成にドラッグアンドドロップすると、関連する名前空間が追加されます。ドラッグアンドdataweaveコンポーネントをドロップすると

だから、スタジオは設定に名前空間とスキーマの場所の下に追加します -

xmlns:dw="http://www.mulesoft.org/schema/mule/ee/dw" 

http://www.mulesoft.org/schema/mule/ee/dw http://www.mulesoft.org/schema/mule/ee/dw/current/dw.xsd 

をラバでは、設計時のデータ構造を確認するために役立つだろうすべてのコンポーネントのメタデータを定義することができます時間。これらのすべてのメタデータ定義は、ファイル名がUUID{project_home}\catalogフォルダに格納されます。これらのファイル名は、metadata:id属性のコンポーネント定義に追加されます。 1つのコンポーネント(すべてのコンポーネントに共通するフィーチャであるメタデータとしてDWを使用する必要はありません)でも、メタデータの名前空間が必要です。

<dw:transform-message metadata:id="262e6569-8f38-4e0b-a61d-15550870101e" doc:name="Transform Message">

あなたがスタジオのデザイナーからメタデータを追加する場合は、Studioが自動的に名前空間とスキーマの場所の下に追加する必要があります。

xmlns:metadata="http://www.mulesoft.org/schema/mule/metadata"

例Dataweaveでconfigおよびメタデータは以下のように見えることができます - あなたはそれを手動で追加するか、それを持たない別のXMLからペーストをコピーする場合、あなたはそれをあなたの自己を追加する必要があります -

<mule xmlns:metadata="http://www.mulesoft.org/schema/mule/metadata" xmlns:dw="http://www.mulesoft.org/schema/mule/ee/dw" xmlns="http://www.mulesoft.org/schema/mule/core" xmlns:doc="http://www.mulesoft.org/schema/mule/documentation" 
    xmlns:spring="http://www.springframework.org/schema/beans" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-current.xsd 
http://www.mulesoft.org/schema/mule/core http://www.mulesoft.org/schema/mule/core/current/mule.xsd 
http://www.mulesoft.org/schema/mule/ee/dw http://www.mulesoft.org/schema/mule/ee/dw/current/dw.xsd"> 
+0

最後に、フロー内の別のコンポーネントのアップストリームのために、システムが失敗していることがわかりました。私は、可変パラメータを渡しているデータベースコマンドを持っていた、私はVARCHARデータ型が欠けていた。 –

+0

クレイジーなことは、アップストリームのコンポーネントエラーのエラーメッセージが表示される前に、すべてのデータウィジェットコンポーネントを削除しなければならないということでした –

1

私は、metadata属性を含めると、サンプルファイルの後ろにあるDataWeave入力および/または出力構造のメ​​タデータを定義したリソースを指すことになります。助け

xmlns:dw="http://www.mulesoft.org/schema/mule/ee/dw" 
xmlns:metadata="http://www.mulesoft.org/schema/mule/metadata" 
http://www.mulesoft.org/schema/mule/ee/dw http://www.mulesoft.org/schema/mule/ee/dw/current/dw.xsd 

希望:あなたが先に詳述してきたエラーはスキーマ検証のように見える、XMLの設定でmuleタグあなたの開口部には、以下のあなたが持ってチェックしてください!

関連する問題