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