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>

Reply via email to