我需要将3件事从我的应用程序发送到Web服务:用户名+密码以及包含更多XML的消息。request.addProperty("username", username);request.addProperty("password", password);request.addProperty("message", UitVoer); // uitvoer is a String that contains XML我使用的ksoap2 librabry对于android web服务一直很有效,但是atm我不确定它是否仍然可以满足我的需求。当我检查我的envelope.bodyOut时,所有标记和符号看起来都应该看起来像。但是随后我从Web服务收到一条带有我发送的XML的错误消息,它显示了这些标志的HTML代码。ksoap2是否可以替换标志,我是否应该使用其他方式将我的东西发送到Web服务,还是Web服务方面有问题?(我无法控制Web服务,因此我不知道它在那方面做了什么。) (adsbygoogle = window.adsbygoogle || []).push({}); 最佳答案 这是构建xml请求的方式;希望这可以帮助:)DocumentBuilderFactory documentBuilderFactory = DocumentBuilderFactory.newInstance();DocumentBuilder documentBuilder = documentBuilderFactory.newDocumentBuilder();Document document = documentBuilder.newDocument();Element rootElement = document.createElement("map");document.appendChild(rootElement);Element em = document.createElement("string");em.setAttribute("name", "FirstName");em.appendChild(document.createTextNode("Rita"));rootElement.appendChild(em);em = document.createElement("string");em.setAttribute("name", "LastName");em.appendChild(document.createTextNode("Roy"));rootElement.appendChild(em);TransformerFactory factory = TransformerFactory.newInstance(); Transformer transformer = factory.newTransformer(); Properties outFormat = new Properties(); outFormat.setProperty(OutputKeys.INDENT, "yes"); outFormat.setProperty(OutputKeys.METHOD, "xml"); outFormat.setProperty(OutputKeys.OMIT_XML_DECLARATION, "no"); outFormat.setProperty(OutputKeys.VERSION, "1.0"); outFormat.setProperty(OutputKeys.ENCODING, "UTF-8"); transformer.setOutputProperties(outFormat); DOMSource domSource = new DOMSource(document.getDocumentElement()); OutputStream output = new ByteArrayOutputStream(); StreamResult result = new StreamResult(output); transformer.transform(domSource, result); strXMLInput = output.toString(); (adsbygoogle = window.adsbygoogle || []).push({});
07-26 09:01