Någon som vet hur man bör göra för att skicka en XML-request till en websida? Med t.ex. curl gör jag som följer och det fungerar fint:
PHP:
curl --user foobar:foobar -skd 'req=<export version="1.0.0" seq="2"><Request><Sess /></Request></export>' http://1.2.3.4/export/
Men om jag försöker göra samma sak för Android med en URLConnection så får jag ett felmeddelande tillbaka. Lite exempelkod:
PHP:
public void makeConnection() {
String xmlGetSessions = new String("<export version=\"1.0.0\" seq=\"2\"><Request><Sess /></Request></export>");
// Finns definerad längre ner
Authenticator.setDefault(new MyAuthenticator());
try {
URL url = new URL(address.getText().toString());
URLConnection conn = url.openConnection();
conn.setDoOutput(true);
conn.setRequestProperty("METHOD", "POST");
OutputStreamWriter wr = new OutputStreamWriter(conn.getOutputStream());
wr.write(xmlGetSessions);
wr.flush();
BufferedReader rd = new BufferedReader(new InputStreamReader(conn.getInputStream()));
Log.i(getClass().getSimpleName(), ("Response:" + rd.readLine()));
Log.i(getClass().getSimpleName(), ("Response:" + rd.readLine()));
Log.i(getClass().getSimpleName(), ("Response:" + rd.readLine()));
rd.close();
} catch (Exception e) {
Log.i(getClass().getSimpleName(), ("Connection failed: " + e.getMessage()));
}
}
Tips mottages tacksamt.