|
View:
New views
6 Messages
—
Rating Filter:
Alert me
|
|
|
WSN2005 with CXF-BC: Weird namespaces for nested elementsHi,
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> |
|
|
Re: WSN2005 with CXF-BC: Weird namespaces for nested elementsSorry, 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:Diefenbach@...] > Gesendet: Donnerstag, 25. Juni 2009 17:08 > An: users@... > 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> |
|
|
Re: WSN2005 with CXF-BC: Weird namespaces for nested elementsI don't have any explanation out of my head, but I don't think the xml
is incorrect. AFAIK, having xmlns="" forces the namespace to not be bound (which would be also the case in this very example because no parent has xmlns="xxx" set, but it might happen). Also, even if the declaration of the ws addressing namespace isn't used, it's not illegal either. If you process the message with a correct xml parser, they should be semantically equivalent I think. On Fri, Jul 3, 2009 at 10:40, Diefenbach Anne<Diefenbach@...> wrote: > 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:Diefenbach@...] >> Gesendet: Donnerstag, 25. Juni 2009 17:08 >> An: users@... >> 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> > -- Cheers, Guillaume Nodet ------------------------ Blog: http://gnodet.blogspot.com/ ------------------------ Open Source SOA http://fusesource.com |
|
|
AW: WSN2005 with CXF-BC: Weird namespaces for nested elementsHi Guillaume,
thanks for your answer. I don't have any problems parsing the message, I just found it - well - weird. It also blows up the message unnecessarily, which, since I am testing for a bandwidth constrained environment, might become an issue for larger (okay, very large) messages. So I was just wondering - why does this happen? Regards, Anne > -----Ursprüngliche Nachricht----- > Von: Guillaume Nodet [mailto:gnodet@...] > Gesendet: Freitag, 3. Juli 2009 10:49 > An: users@... > Betreff: Re: WSN2005 with CXF-BC: Weird namespaces for nested elements > > I don't have any explanation out of my head, but I don't think the xml > is incorrect. > AFAIK, having xmlns="" forces the namespace to not be bound (which > would be also the case in this very example because no parent has > xmlns="xxx" set, but it might happen). > Also, even if the declaration of the ws addressing namespace isn't > used, it's not illegal either. > If you process the message with a correct xml parser, they should be > semantically equivalent I think. > > On Fri, Jul 3, 2009 at 10:40, Diefenbach Anne<Diefenbach@...> wrote: > > 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:Diefenbach@...] > >> Gesendet: Donnerstag, 25. Juni 2009 17:08 > >> An: users@... > >> 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> > > > > > > -- > Cheers, > Guillaume Nodet > ------------------------ > Blog: http://gnodet.blogspot.com/ > ------------------------ > Open Source SOA > http://fusesource.com |
|
|
Re: WSN2005 with CXF-BC: Weird namespaces for nested elementsNot sure where it comes from, but it may be improved.
Do you have a test case we could look at and debug to see where the problem comes from ? Please raise a jira and attach it there. On Fri, Jul 3, 2009 at 11:26, Diefenbach Anne<Diefenbach@...> wrote: > Hi Guillaume, > > thanks for your answer. I don't have any problems parsing the message, I just found it - well - weird. It also blows up the message unnecessarily, which, since I am testing for a bandwidth constrained environment, might become an issue for larger (okay, very large) messages. So I was just wondering - why does this happen? > > Regards, > > Anne > >> -----Ursprüngliche Nachricht----- >> Von: Guillaume Nodet [mailto:gnodet@...] >> Gesendet: Freitag, 3. Juli 2009 10:49 >> An: users@... >> Betreff: Re: WSN2005 with CXF-BC: Weird namespaces for nested elements >> >> I don't have any explanation out of my head, but I don't think the xml >> is incorrect. >> AFAIK, having xmlns="" forces the namespace to not be bound (which >> would be also the case in this very example because no parent has >> xmlns="xxx" set, but it might happen). >> Also, even if the declaration of the ws addressing namespace isn't >> used, it's not illegal either. >> If you process the message with a correct xml parser, they should be >> semantically equivalent I think. >> >> On Fri, Jul 3, 2009 at 10:40, Diefenbach Anne<Diefenbach@...> wrote: >> > 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:Diefenbach@...] >> >> Gesendet: Donnerstag, 25. Juni 2009 17:08 >> >> An: users@... >> >> 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> >> > >> >> >> >> -- >> Cheers, >> Guillaume Nodet >> ------------------------ >> Blog: http://gnodet.blogspot.com/ >> ------------------------ >> Open Source SOA >> http://fusesource.com > -- Cheers, Guillaume Nodet ------------------------ Blog: http://gnodet.blogspot.com/ ------------------------ Open Source SOA http://fusesource.com |
|
|
AW: WSN2005 with CXF-BC: Weird namespaces for nested elementshttps://issues.apache.org/activemq/browse/SMXCOMP-581
Hope this is okay. Regards, Anne > -----Ursprüngliche Nachricht----- > Von: Guillaume Nodet [mailto:gnodet@...] > Gesendet: Freitag, 3. Juli 2009 11:29 > An: users@... > Betreff: Re: WSN2005 with CXF-BC: Weird namespaces for nested elements > > Not sure where it comes from, but it may be improved. > Do you have a test case we could look at and debug to see where the > problem comes from ? > Please raise a jira and attach it there. > > On Fri, Jul 3, 2009 at 11:26, Diefenbach Anne<Diefenbach@...> wrote: > > Hi Guillaume, > > > > thanks for your answer. I don't have any problems parsing the message, I > just found it - well - weird. It also blows up the message unnecessarily, > which, since I am testing for a bandwidth constrained environment, might > become an issue for larger (okay, very large) messages. So I was just > wondering - why does this happen? > > > > Regards, > > > > Anne > > > >> -----Ursprüngliche Nachricht----- > >> Von: Guillaume Nodet [mailto:gnodet@...] > >> Gesendet: Freitag, 3. Juli 2009 10:49 > >> An: users@... > >> Betreff: Re: WSN2005 with CXF-BC: Weird namespaces for nested elements > >> > >> I don't have any explanation out of my head, but I don't think the xml > >> is incorrect. > >> AFAIK, having xmlns="" forces the namespace to not be bound (which > >> would be also the case in this very example because no parent has > >> xmlns="xxx" set, but it might happen). > >> Also, even if the declaration of the ws addressing namespace isn't > >> used, it's not illegal either. > >> If you process the message with a correct xml parser, they should be > >> semantically equivalent I think. > >> > >> On Fri, Jul 3, 2009 at 10:40, Diefenbach Anne<Diefenbach@...> > wrote: > >> > 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:Diefenbach@...] > >> >> Gesendet: Donnerstag, 25. Juni 2009 17:08 > >> >> An: users@... > >> >> 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> > >> > > >> > >> > >> > >> -- > >> Cheers, > >> Guillaume Nodet > >> ------------------------ > >> Blog: http://gnodet.blogspot.com/ > >> ------------------------ > >> Open Source SOA > >> http://fusesource.com > > > > > > -- > Cheers, > Guillaume Nodet > ------------------------ > Blog: http://gnodet.blogspot.com/ > ------------------------ > Open Source SOA > http://fusesource.com |
| Free embeddable forum powered by Nabble | Forum Help |