Hi, Can anyone help explain why I get an exception thrown at the last line of this code snippet:
DocumentBuilder builder = DocumentBuilderFactory.newInstance().newDocumentBuilder(); Document doc = builder.newDocument(); Element root = doc.createElementNS("EnvelopeService","getDetail"); doc.appendChild(root); Element ele = doc.createElement("e1"); Node text = doc.createTextNode("myText"); ele.appendChild(text); root.appendChild(ele); SOAPBodyElement requestBody = new SOAPBodyElement(doc.getDocumentElement()); The exception is: java.lang.IllegalArgumentException: invalid QName local part at javax.xml.namespace.QName.<init>(QName.java:75) at javax.xml.namespace.QName.<init>(QName.java:60) at org.apache.axis.message.PrefixedQName.<init>(PrefixedQName.java:30) at org.apache.axis.message.MessageElement.copyNode(MessageElement.java:2044 ) at org.apache.axis.message.MessageElement.copyNode(MessageElement.java:1997 ) at org.apache.axis.message.MessageElement.<init>(MessageElement.java:195) at org.apache.axis.message.SOAPBodyElement.<init>(SOAPBodyElement.java:70) at axisdoc.Client.main(Client.java:66) This is the bit I really don't understand. Can you explain why the exception is being thrown? At line: Element root = doc.createElementNS("EnvelopeService","getDetail"); Should the second argument have something like "prefix:getDetail" (I am not sure how to handle name spaces at this point) And in the first argument (the name space uri)"EnvelopeService" matches the sever as specified in the WSDD document i.e. <service name="EnvelopeService" style="message"> is this correct? Once I understand this process, my intention is to send a simple xml doc that doesn't have namespace prefixes in it elements within the body of a SOAP message e.g. <e1> <e2>myText</e2> </e1> Thanks... Tom