2016-02-05 10 views
0

С моим mule flow я получаю сообщение JSON, и я использую JSON to XML transformer для отправки XML в веб-службу.Mule - JSON to XML - Unbound prefix

HTTP =>JSON to XML =>WS Consumer

XML, нужен префикс "INT:":

<int:contact>Name</int:contact> 

И формат JSON как это:

{ 
    "Modify":{ 
     "int:contact":"Name" 
    } 
} 

JSON to XML transformer возвращение об ошибке:

javax.xml.stream.XMLStreamException: Unbound prefix: int

Как передать префикс?

+1

Префикс и двоеточие, подобные XML, представляют собой «пространство имен XML». Если вы не используете пространства имен, вы * не можете * использовать ':' в своих именах тегов; если вы используете пространства имен, вам нужно назначить пространство имен (идентифицированное URI) этому префиксу в верхней части документа (например, «xmlns: int =» http://example.org/myXMLNamespace »). – IMSoP

+0

Спасибо. Мне нужно использовать пространства имен. Где я должен добавить этот URI пространства имен в поток мулов? – gtx911

ответ

2

Вы можете использовать диспетчер пространства имен.

<mulexml:namespace-manager includeConfigNamespaces="true"> 
    <mulexml:namespace prefix="int" uri="http://int.com"/> 
</mulexml:namespace-manager> 
+0

Но .. Где я должен добавить это? – gtx911

+0

в документе xml .. до начала потока – Kalpesh