Sorry, I have to ask again. Is there any explanation for this behaviour? I would not have expected the broker to even look at the business message contained in the <Message> tags.
Regards, Anne > -----Ursprüngliche Nachricht----- > Von: Diefenbach Anne [mailto:[email protected]] > Gesendet: Donnerstag, 25. Juni 2009 17:08 > An: [email protected] > Betreff: WSN2005 with CXF-BC: Weird namespaces for nested elements > > Hi, > > I was comparing the messages sent from notification producer to broker > and from broker to consumer, and noticed they differ rather > considerably. Some of that can be explained by the fact that my producer > uses FUSE Services Framework 2.1.3.1 and the broker the probably much > newer servicemix-cxf-bc-2009.01, but what I thought was really weird was > the way the latter treated the elements which in my schema [1] are > defined nested in another complex type. This is the message CXF gave: > > <soap:Envelope > xmlns:soap="http://www.w3.org/2003/05/soap-envelope"><soap:Body><ns6:Not > ify xmlns:ns2="http://www.w3.org/2005/08/addressing" > xmlns:ns3="http://docs.oasis-open.org/wsrf/bf-2" > xmlns:ns4="http://docs.oasis-open.org/wsn/t-1" > xmlns:ns5="http://docs.oasis-open.org/wsn/br-2" > xmlns:ns6="http://docs.oasis-open.org/wsn/b-2" > xmlns:ns7="http://katastropheneinsatz.fgan.de" > xmlns:ns8="http://docs.oasis-open.org/wsrf/r-2"><ns6:NotificationMessage > ><ns6:Topic > Dialect="http://docs.oasis-open.org/wsn/t-1/TopicExpression/Simple">Envi > ronmentReport</ns6:Topic><ns6:Message><ns7:environmentReport><ns7:enviro > nment><ns7:weather><location>Bonn</location><temperature > system="Celsius">15.0</temperature><wind>medium</wind><precipitation>Dri > zzle</precipitation></ns7:weather></ns7:environment></ns7:environmentRep > ort></ns6:Message></ns6:NotificationMessage></ns6:Notify></soap:Body></s > oap:Envelope> > > That's exactly how I would have expected it. With the CXF-BC however, I > get: > > <soap:Envelope > xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"><soap:Body><ns2:N > otify xmlns="http://www.w3.org/2005/08/addressing" > xmlns:ns2="http://docs.oasis-open.org/wsn/b-2" > xmlns:ns3="http://docs.oasis-open.org/wsrf/bf-2" > xmlns:ns4="http://docs.oasis-open.org/wsrf/rp-2" > xmlns:ns5="http://docs.oasis-open.org/wsn/t-1"><ns2:NotificationMessage> > <ns2:Topic > Dialect="http://docs.oasis-open.org/wsn/t-1/TopicExpression/Simple">Envi > ronmentReport</ns2:Topic><ns2:Message><ns7:environmentReport > xmlns:ns7="http://katastropheneinsatz.fgan.de"><ns7:environment><ns7:wea > ther><location xmlns="" > xmlns:ns7_="http://www.w3.org/2005/08/addressing">Bonn</location><temper > ature system="Celsius" xmlns="" > xmlns:ns7_="http://www.w3.org/2005/08/addressing">15.0</temperature><win > d xmlns="" > xmlns:ns7_="http://www.w3.org/2005/08/addressing">medium</wind><precipit > ation xmlns="" > xmlns:ns7_="http://www.w3.org/2005/08/addressing">Drizzle</precipitation > ></ns7:weather></ns7:environment></ns7:environmentReport></ns2:Message>< > /ns2:NotificationMessage></ns2:Notify></soap:Body></soap:Envelope> > > Why does it add the xmlns="" and > xmlns:ns7_="http://www.w3.org/2005/08/addressing"? Is this intended > behaviour? > > Regards, > > Anne > > [1] > <xsd:schema elementFormDefault="unqualified" > targetNamespace="http://katastropheneinsatz.fgan.de" > xmlns="http://katastropheneinsatz.fgan.de"> > <xsd:attribute name="priority"> > <xsd:simpleType> > <xsd:restriction base="xsd:string"> > <xsd:enumeration value="emergency"/> > <xsd:enumeration value="high"/> > <xsd:enumeration value="default"/> > <xsd:enumeration value="low"/> > </xsd:restriction> > </xsd:simpleType> > </xsd:attribute> > <xsd:element name="weather"> > <xsd:complexType> > <xsd:sequence> > <xsd:element name="location" type="xsd:string"/> > <xsd:element name="temperature"> > <xsd:complexType mixed="true"> > <xsd:simpleContent> > <xsd:extension base="xsd:decimal"> > <xsd:attribute default="Celsius" name="system"> > <xsd:simpleType> > <xsd:restriction base="xsd:string"> > <xsd:enumeration value="Celsius"/> > <xsd:enumeration value="Kelvin"/> > <xsd:enumeration value="Fahrenheit"/> > </xsd:restriction> > </xsd:simpleType> > </xsd:attribute> > </xsd:extension> > </xsd:simpleContent> > </xsd:complexType> > </xsd:element> > <xsd:element name="wind"> > <xsd:simpleType> > <xsd:restriction base="xsd:string"> > <xsd:enumeration value="stormy"/> > <xsd:enumeration value="strong"/> > <xsd:enumeration value="medium"/> > <xsd:enumeration value="weak"/> > <xsd:enumeration value="none"/> > </xsd:restriction> > </xsd:simpleType> > </xsd:element> > <xsd:element name="precipitation"> > <xsd:simpleType> > <xsd:restriction base="xsd:string"> > <xsd:enumeration value="Fog"/> > <xsd:enumeration value="Drizzle"/> > <xsd:enumeration value="Rain"/> > <xsd:enumeration value="Freezing drizzle"/> > <xsd:enumeration value="Freezing rain"/> > <xsd:enumeration value="Snow"/> > <xsd:enumeration value="Snow grains"/> > <xsd:enumeration value="Ice pellets"/> > <xsd:enumeration value="Graupel"/> > <xsd:enumeration value="Ice crystals"/> > </xsd:restriction> > </xsd:simpleType> > </xsd:element> > </xsd:sequence> > </xsd:complexType> > </xsd:element> > <xsd:element name="environment"> > <xsd:complexType> > <xsd:sequence> > <xsd:element maxOccurs="unbounded" ref="tns:weather"/> > </xsd:sequence> > </xsd:complexType> > </xsd:element> > <xsd:element name="environmentReport"> > <xsd:complexType> > <xsd:sequence> > <xsd:element ref="tns:environment"/> > </xsd:sequence> > </xsd:complexType> > </xsd:element> > </xsd:schema>
