我已經在Java中啓動了一個小型項目。
我必須創建一個客戶端,它會將xml發送到URL作爲HTTP POST請求。
我嘗試使用java.net.*
包(以下是一段代碼),但我如下收到錯誤:Webservice調用返回錯誤500
java.io.IOException: Server returned HTTP response code: 500 for URL: "target url"
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1441)
at newExample.main(newExample.java:36)
我的代碼如下:
try {
URL url = new URL("target url");
URLConnection connection = url.openConnection();
if(connection instanceof HttpURLConnection)
((HttpURLConnection)connection).setRequestMethod("POST");
connection.setRequestProperty("Content-Length", Integer.toString(requestXml.length()));
connection.setRequestProperty("Content-Type","text/xml; charset:ISO-8859-1;");
connection.setDoOutput(true);
connection.connect();
// Create a writer to the url
PrintWriter writer = new PrintWriter(new
OutputStreamWriter(connection.getOutputStream()));
// Get a reader from the url
BufferedReader reader = new BufferedReader(new
InputStreamReader(connection.getInputStream()));
writer.println();
writer.println(requestXml);
writer.println();
writer.flush();
String line = reader.readLine();
while(line != null) {
System.out.println(line);
line = reader.readLine();
}
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
請用合適的例子或幫助任何其他方式這樣做。
上述代碼或其他可能性中的錯誤/錯誤。
我的Web服務是在Spring框架
XML發送是在字符串格式:requestXml
HTTP錯誤500是「內部服務器錯誤」,當服務遇到錯誤或返回異常時返回的一般錯誤。您可能想要閱讀完整的響應主體並查看是否有任何其他信息 – 2011-03-01 08:12:02
錯誤代碼500是內部服務器錯誤。所以我專注於服務器而不是客戶端。 – sfussenegger 2011-03-01 08:13:11
如果你的URL是正確的(可以從瀏覽器中檢查),你可以做的事情不多。看起來像服務器端錯誤。 – Nishant 2011-03-01 08:13:42