I think the problem is in my serialization code but I just can't figured out
what it is. 

I am trying to send via notifications an array of custom objects which
implement XmlSerializable. I logged some messages and I see that all the
objects in the array get serialized (the toXml() method is called for each
of them), but the final notification only contains the last element in the
array.

Here is the notification code (the data structure is an ArrayList):

QName messageName = new
QName("http://autonomic.ibm.com/muse/sensor/execution/Topics";,
"MeasuredDataTopic", "topics1");
wsn.publish(messageName, data.toArray(new DataInterface[0]));

and here is the serialization code:

public Element toXML() {
                System.out.println("Serializing:"+name);
                
                Element root = 
XmlUtils.createElement(XmlUtils.EMPTY_DOC,rootQName);
                
                //Element root = XmlUtils.createElement(rootQName);
                
                Element name = XmlUtils.createElement(nameQName, getName());
                
                Element dataValue = 
XmlUtils.createElement(dataValueQName,getDataValue());
                
                Element desc = 
XmlUtils.createElement(descQName,getDescription());
                
                Element valueType = 
XmlUtils.createElement(valueTypeQName,getDataType());
                
                root.appendChild(name);
                root.appendChild(dataValue);
                root.appendChild(desc);
                root.appendChild(valueType);
                
                return root;
        }

The resulting Notification looks as follows:

<soap:Body>
        <wsnt:Notify xmlns:wsnt="http://docs.oasis-open.org/wsn/b-2";>
            <wsnt:NotificationMessage
                xmlns:muse-wsa="http://ws.apache.org/muse/addressing";
               
xmlns:sensor="http://autonomic.ibm.com/muse/filter/execution";
                xmlns:wsa="http://www.w3.org/2005/08/addressing";
xmlns:wsnt="http://docs.oasis-open.org/wsn/b-2";>
                <wsnt:SubscriptionReference>
                    <wsa:Address
xmlns:wsa="http://www.w3.org/2005/08/addressing";>http://192.168.32.23:9081/AutonomicSensor/services/SubscriptionManager</wsa:Address>
                    <wsa:ReferenceParameters
xmlns:wsa="http://www.w3.org/2005/08/addressing";>
                        <muse-wsa:ResourceId
xmlns:muse-wsa="http://ws.apache.org/muse/addressing";>MuseResource-1</muse-wsa:ResourceId>
                    </wsa:ReferenceParameters>
                </wsnt:SubscriptionReference>
                <wsnt:Topic
                   
Dialect="http://docs.oasis-open.org/wsn/t-1/TopicExpression/Concrete";
xmlns:topics1="http://autonomic.ibm.com/muse/sensor/execution/Topics";>topics1:MeasuredDataTopic</wsnt:Topic>
                <wsnt:ProducerReference>
                    <wsa:Address
xmlns:wsa="http://www.w3.org/2005/08/addressing";>http://192.168.32.23:9081/AutonomicSensor/services/sensor</wsa:Address>
                    <wsa:ReferenceParameters
xmlns:wsa="http://www.w3.org/2005/08/addressing";>
                        <muse-wsa:ResourceId
xmlns:muse-wsa="http://ws.apache.org/muse/addressing";>MuseResource-13</muse-wsa:ResourceId>
                    </wsa:ReferenceParameters>
                </wsnt:ProducerReference>
                <wsnt:Message>
                    <sensor:FilteredData
xmlns:sensor="http://autonomic.ibm.com/muse/filter/execution";>
                       
<sensor:name>TradeScenarioServlet-ServiceTime-TotalTime</sensor:name>
                        <sensor:dataValue>0</sensor:dataValue>
                        <sensor:description/>
                        <sensor:valueType>Long</sensor:valueType>
                    </sensor:FilteredData>
                </wsnt:Message>
            </wsnt:NotificationMessage>
        </wsnt:Notify>
    </soap:Body> 

But my message should contain 7 FilteredData structures as I have 7
DataInterface objects.
-- 
View this message in context: 
http://www.nabble.com/Array-serialization-problem-in-notifications-tf4279966.html#a12182356
Sent from the Muse User mailing list archive at Nabble.com.


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

Reply via email to