Nasıl bir Java uygulaması XML göndermek ve HTTP POST kullanarak, sunucu üzerinde PHP ile yazdırabilirsiniz?

0 Cevap java

Ben POST veri almak Genellikle bir HTML formundan göndermek bulunuyor ve parametreler yani <input type="text" name="yourname" />, sonra echo $_POST['yourname']; php ile bu verileri alabilir ve yazdırabilirsiniz gelen isimler vardır.

Şimdi belirli bir URL'ye XML formatında veri POST gereken bir Java uygulaması uygulama duyuyorum. Ben POST verileri için deneyebilirsiniz basit bir PHP sayfası yazdım, ancak veriler yazdırılır. Ve herhangi bir parametre isim yok çünkü ben PHP ile yazdırabilirsiniz gerektiğini bilmiyorum.

Ben sunucuya basit XML göndermeye denedim ve server MESSAGE: <XML> ile yanıt vermelidir, fakat bunun sadece tepki MESSAGE:. Ben yanlış ne yapıyorum?

İşte sunucuda benim PHP-kodu:

<?php 
echo 'MESSAGE:';
print_r($_POST); ?>

Ve burada istemci benim Java kodu:

String xmlRequestStatus = "<?xml version=\"1.0\" encoding=\"ISO-8859-1\"?>
    <test></test>";
String contentType = "text/xml";
String charset = "ISO-8859-1";
String request = null;
try {
    request = String.format("%s",
        URLEncoder.encode(xmlRequestStatus, charset));
} catch (UnsupportedEncodingException e1) {
    e1.printStackTrace();
}
URL url = null;
URLConnection connection = null;
OutputStream output = null;
InputStream response = null;
try {
    url = new URL("http://skogsfrisk.se/test/");
} catch (MalformedURLException e) {
    e.printStackTrace();
}

try {
    connection = url.openConnection();
    connection.setDoOutput(true);
    connection.setRequestProperty("Accept-Charset", charset);
    connection.setRequestProperty("Content-Type", contentType);
    output = connection.getOutputStream();
    output.write(request.getBytes("ISO-8859-1"));
    if(output != null) try { output.close(); } catch (IOException e) {}

    response = connection.getInputStream();
    ...
} catch (IOException e) {
    e.printStackTrace();
}

0 Cevap