You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@servicemix.apache.org by Diefenbach Anne <Di...@fgan.de> on 2009/07/03 10:40:49 UTC
Re: WSN2005 with CXF-BC: Weird namespaces for nested elements
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@fgan.de]
> Gesendet: Donnerstag, 25. Juni 2009 17:08
> An: users@servicemix.apache.org
> 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>
AW: WSN2005 with CXF-BC: Weird namespaces for nested elements
Posted by Diefenbach Anne <Di...@fgan.de>.
https://issues.apache.org/activemq/browse/SMXCOMP-581
Hope this is okay.
Regards,
Anne
> -----Ursprüngliche Nachricht-----
> Von: Guillaume Nodet [mailto:gnodet@gmail.com]
> Gesendet: Freitag, 3. Juli 2009 11:29
> An: users@servicemix.apache.org
> 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<Di...@fgan.de> 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@gmail.com]
> >> Gesendet: Freitag, 3. Juli 2009 10:49
> >> An: users@servicemix.apache.org
> >> 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<Di...@fgan.de>
> 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@fgan.de]
> >> >> Gesendet: Donnerstag, 25. Juni 2009 17:08
> >> >> An: users@servicemix.apache.org
> >> >> 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
Re: WSN2005 with CXF-BC: Weird namespaces for nested elements
Posted by Guillaume Nodet <gn...@gmail.com>.
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<Di...@fgan.de> 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@gmail.com]
>> Gesendet: Freitag, 3. Juli 2009 10:49
>> An: users@servicemix.apache.org
>> 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<Di...@fgan.de> 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@fgan.de]
>> >> Gesendet: Donnerstag, 25. Juni 2009 17:08
>> >> An: users@servicemix.apache.org
>> >> 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 elements
Posted by Diefenbach Anne <Di...@fgan.de>.
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@gmail.com]
> Gesendet: Freitag, 3. Juli 2009 10:49
> An: users@servicemix.apache.org
> 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<Di...@fgan.de> 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@fgan.de]
> >> Gesendet: Donnerstag, 25. Juni 2009 17:08
> >> An: users@servicemix.apache.org
> >> 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 elements
Posted by Guillaume Nodet <gn...@gmail.com>.
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<Di...@fgan.de> 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@fgan.de]
>> Gesendet: Donnerstag, 25. Juni 2009 17:08
>> An: users@servicemix.apache.org
>> 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