6 Replies Latest reply on Aug 17, 2011 8:50 AM by dhoyt

    CXF route throws org.xml.sax.SAXParseException

    dhoyt

      I have a very simple CXF bridge route that I am using to basically wiretap a SOAP call.  This works fine for dataFormat=MESSAGE, but when I use dataFormat=PAYLOAD, I get an error stating:

       

      org.xml.sax.SAXParseException: The prefix "xsi" for attribute "xsi:nil" associated with an element type "additionalListing" is not bound.

       

      When I move the "xsi" namespace into the "asd" tag, it works, but our SOAP clients don't generate it that way.  The original endpoints handle this fine without this route, but when I try to run it through this route with dataFormat=PAYLOAD, it blows up.  I am using 4.3.1-02-05. Any help would be greatly appreciated. 

       

      ROUTE

      ==========================

      public void configure() throws Exception

      {

          from("cxf://" + listenerAddress + //

              "?portName=" + WS_SERVICE_PORT + //

              "&serviceName=" + WS_SERVICE_NAME + //

              "&wsdlURL=" + WS_WSDL + //

              "&dataFormat=MESSAGE") //

            

          .setProperty("MessageRequest", simple("${in.body}")) //

           

          .to("cxf://" + toWebServiceURL + //

              "?portName=" + WS_SERVICE_PORT + //

              "&serviceName=" + WS_SERVICE_NAME + //

              "&wsdlURL=" +WS_WSDL + //

              "&dataFormat=MESSAGE") //

       

          .setProperty("MessageResponse", simple("${in.body}")) //

       

          .setBody(property("MessageRequest")) //

       

          .inOnly() //

          .to(TOPIC_WS_REQUEST)

          .inOut() //

       

          .setBody(property("MessageResponse"));

      }

       

      REQUEST FAILS WITH PAYLOAD

      ==========================