1

アプリから Web サービスに 3 つのものを送信する必要があります: ユーザー名 + パスワードと、より多くの XML を含むメッセージです。

request.addProperty("username", username);
request.addProperty("password", password);
request.addProperty("message", UitVoer); // uitvoer is a String that contains XML

私は常にAndroid <-> Webサービスでうまく機能するksoap2ライブラリを使用していますが、必要なものに対してまだ機能するかどうかはわかりません。

私の をチェックするとenvelope.bodyOut、すべてのタグと < > 記号が正しいように見えます。しかし、送信した XML を含む Web サービスからエラー メッセージが表示され、それらの兆候の HTML コードが表示されます。

ksoap2 は標識を置き換えますか? Web サービスにコンテンツを送信するために別の方法を使用する必要がありますか、それとも Web サービス側に何か問題がありますか? (私は Web サービスを制御できないので、その側で何をするのかわかりません。)

4

1 に答える 1

2

これは、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();
于 2012-08-24T09:18:33.540 に答える