2016-04-09 30 views
2

Uygulama/json'a dönüştürülecek çok basit bir hashmap yüküm var. Bunu, dataweave bileşenini sürükleyerek ve eşleme ifadesini yazarak diğer akışlarda yaptım.Mule DataWeave dönüştürme iletisi eksik meta verilerle başarısız: id özniteliği

şimdi nedense, aşağıdaki hatayı alıyorum: id niteliğini, ancak diğer dataweave: Ben xml baktığınızda, benim yeni dataweave bileşeni meta veri yok olduğunu görüyoruz

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

kullandığım bileşen metadata: id özelliğine sahip.

  1. bunlar neden farklı davranıyor?
  2. niçin bir meta veri: id, otomatik olarak diğer akış için oluşturulmuş olarak oluşturulmuyor?
  3. Neden metadata: id özniteliğine ihtiyacım var? Her iki durumda da eşleştiriciyi çağırmadan önce bir JSON - Object bileşenini kullanıyorum.

cevap

4

DataWeave bileşenini kullandığınızda, xml ad alanlarını bildirmeniz gerekir. Studio tasarımcısı kullanıyorsanız, Studio bileşenlerinizi yapılandırmanıza sürükleyip bıraktığınızda ilgili ad alanlarını ekler. Eğer sürükleyip dataweave bileşeni düştüğünde

Yani, stüdyo config ad ve şema konumu aşağıda eklersiniz -

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 

Mule olarak, tasarım veri yapısını görmek için yardımcı olacağını her bileşen için meta veri tanımlayabilirsiniz zaman. Tüm bu meta veri tanımları, UUID gibi görünen dosya adlarıyla birlikte {project_home}\catalog klasöründe depolanır. Bu dosya adları daha sonra metadata:id özniteliğiyle bileşen tanımlarınıza eklenir. Tek bileşen bile olsa (meta verilere göre tüm bileşenler için ortak olan DW'ye sahip olmasa bile) meta veri ad alanına ihtiyacınız vardır.

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

Stüdyo tasarımcı meta eklerseniz sonra Studio otomatik ad ve şema konumu aşağıda eklemek gerekir.

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

Örnek Dataweave ile yapılandırma ve meta aşağıda benzeyebilir - el ile eklemek veya buna sahip olmadığı başka bir xml den kopyala-yapıştır o zaman bunu kendini eklemeniz gerekir -

<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

Sonunda, akışta farklı bir bileşen yukarı akış nedeniyle sistemin arızalandığını öğrendim. Değişken parametresi geçiren bir veritabanı komutum vardı ve VARCHAR veri türünü özledim. –

+0

en çirkin şey, yukarı akış bileşenleri hataları görünmeye başlayan hata iletilerinden önce tüm dataweave bileşenlerini kaldırmam gerektiğiydi –

1

Ben metadata özelliğinin eklenmesi Bir örnek dosyanın arkasına kapalı DataWeave giriş ve/veya çıkış yapısı için bazı meta tanımladığınız bir kaynağa işaret etmek olduğuna inanıyoruz. yardımcı olur

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 

Umut: Yukarıda ayrıntılı olarak veriyoruz hata şema doğrulama benziyor, XML config mule etiketi Açılışınızın aşağıdaki sahip kontrol ediniz!

İlgili konular