Hi All, I've been struggling with the following error that has to do with deserializing a soapEnvelope, can anyone help? Thanks much.
Frank ===================================================== I am using AXIS 1.4 for my web service needs. I try to send an XML message over HTTP, the XML message defines a namespace at the root element like this: xmlns:ns1="somthing" Let me assume this xml string as xmltext, now I create a soap envelope with this XML message as body, the soapEnvelope object seems good to me in my debugger, but a problem occurs when I try to deserialize it using soapEnvelope.toString() or soapEnvelope.getAsString().I notice that for every local element in the original xml such as this: <ns1:rec>xxx</ns1:rec>, in the output string, I get the the following: <ns1:rec xmlns:ns1="">xxx</ns1:rec> That is, there is an extra attribute with empty value. This causes problems for the receivers of the http response. Here is the soapEnvelope dump: <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <soapenv:Body> <ns1:RecordSet xmlns:ns1="http://xxxx.com/yyy_out" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <ns1:Record xmlns:ns1=""> <ns1:PROSPECT_NUMBER xmlns:ns1="">10</ns1:PROSPECT_NUMBER> <ns1:FIRM xmlns:ns1="">Business Objects</ns1:FIRM> <ns1:FIRST_NAME xmlns:ns1="">Ryan</ns1:FIRST_NAME> <ns1:MIDDLE_NAME xmlns:ns1=""/> <ns1:LAST_NAME xmlns:ns1="">Champlin</ns1:LAST_NAME> </ns1:Record> </ns1:RecordSet> </soapenv:Body> </soapenv:Envelope> Here are my code snappet: =================================================== SOAPEnvelope soapEnvelope = new SOAPEnvelope(); Element bodyElement = createDocument(xmltext).getDocumentElement(); org.apache.axis.message.SOAPBodyElement messageElement = new org.apache.axis.message.SOAPBodyElement(bodyElement); soapEnvelope.addBodyElement((SOAPBodyElement)messageElement); The createDocument(xmlText) calls the following APIs: InputSource source = new InputSource( new StringReader( xmlText ) ) ; DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); factory.setIgnoringElementContentWhitespace(false); DocumentBuilder docBuilder = factory.newDocumentBuilder(); return docBuilder.parse(source); ____________________________________________________________________________________ Looking for last minute shopping deals? Find them fast with Yahoo! Search. http://tools.search.yahoo.com/newsearch/category.php?category=shopping --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]