I am having a web service exposed using jsr181 SU. This unit follows
'contract first service' paradigm. So I have a wsdl which input message has
a schema like this:

      <xsd:element name="TestRQ">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="1" maxOccurs="1" name="Message"
type="xsd:anyType" />
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

Based on this pojo classes are generated by maven plugin. 

When I send following message (soap body):

    <ns:TestRQ>
      <Message>

<S xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
xmlns="http://www.test.org/tset";
xsi:schemaLocation="http://www.test.org/test
      ../../../xsd/test.xsd">
      <body />
</S>
   </Message>
   </ns:TestRQ>


I see that till Jsr181ExchangeProcessor the message is correct - all
namespaces are present. However, inside implementation of WebService I get a
pojo object (generated by maven and populated by xfire) which field 
'message' is a DOM that does not have a definition of xsi prefix (i.e.
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";)

Without this prefix definition at later stage xml reader breaks saying that:
com.ctc.wstx.exc.WstxParsingException: Undeclared namespace prefix "xsi"
(for attribute "schemaLocation")

Does anyone know the solution to this problem?



-- 
View this message in context: 
http://www.nabble.com/Xfire-removes-namespace-definition-from-xml-tf4207026s12049.html#a11967514
Sent from the ServiceMix - User mailing list archive at Nabble.com.

Reply via email to