[ http://issues.apache.org/jira/browse/MUSE-146?page=all ]

Dan Jemiolo updated MUSE-146:
-----------------------------

          Component/s: Core Engine - Routing and Serialization
                       WSN NotificationConsumer
              Summary: NotificationConsumer creates empty NotificationMessage 
array when no XML prefixes present  (was: NotificationProducer unable to send 
complex type elements)
        Fix Version/s: 2.1.0
    Affects Version/s: 2.0.0
             Priority: Minor  (was: Major)

The root of this problem is actually on the consumer side. The 
ReflectionMessageHandler, when using NotificationMessageSerializer to parse an 
array of NotificationMessage elements, returns an empty array if the message 
payload does not use XML prefixes for its namespaces. The call does not fail 
with a runtime exception, NPE, etc. - it simply does not parse any messages, 
and so the array that the notify() implementation iterates over is zero-length. 
If prefixes are used, the messages are parsed properly.

If I cannot determine the cause of this by EOD tomorrow, it will have to wait 
for 2.2 and we will make an entry in the troubleshooting section of the manual.


> NotificationConsumer creates empty NotificationMessage array when no XML 
> prefixes present
> -----------------------------------------------------------------------------------------
>
>                 Key: MUSE-146
>                 URL: http://issues.apache.org/jira/browse/MUSE-146
>             Project: Muse
>          Issue Type: Bug
>          Components: WSN NotificationConsumer, Core Engine - Routing and 
> Serialization
>    Affects Versions: 2.0.0
>         Environment: Windows XP SP2, Apache 2.2, Tomcat 5.5, Muse 2.0.0, 
> Eclipse 3.2.1, XmlBeans 2.2.0
>            Reporter: Vinh Nguyen
>         Assigned To: Dan Jemiolo
>            Priority: Minor
>             Fix For: 2.1.0
>
>         Attachments: MuseBox.zip
>
>
> Sending a notification containing a complex element doesn't seem to work.  It 
> only works for an element containing a simple string message.  I'm using 
> XmlBeans for conversion between xml schemas and java objects.  Using the code 
> below, the notification does not appear to be sent, nor do any errors get 
> thrown in the process.
> BoxDocument doc = BoxDocument.Factory.newInstance();
> BoxType type = doc.addNewBox();
> type.setWidth(BigInteger.valueOf(123));
> type.setHeight(BigInteger.valueOf(123));
> QName qname = new QName(NAMESPACE_URI, "MyMessage", PREFIX);
> Element payload = XmlUtils.createElement(qname, 
> XmlUtils.getFirstElement((Document)doc.getDomNode()));
> NotificationProducer np = ...
> np.publish(TOPIC_NAME, payload);
> Here is the XML from doc.xmlText():
> <box:Box 
> xmlns:box="http://cisco.com/musebox/schemas/box";><box:width>123</box:width><box:height>123</box:height></box:Box>

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to