我尝试通过以下代码执行 HTTP DELETE,但总是收到状态 400 的错误消息,我想知道我是否做错了。我不太确定是否需要使用 'httpCon.getInputStream();'
import java.io.IOException;
import java.net.HttpURLConnection;
import java.net.URL;
public class test {
public static void main(String[] args) throws IOException {
URL url = new URL("http://testurl.svc/web/testrequests/"+893488);
StringBuffer xmlString = new StringBuffer();
xmlString.append("<TestRequest>");
xmlString.append("<DateRequested>2011-12-23</DateRequested>");
xmlString.append("<ID>893488</ID>");
xmlString.append("<Version>1</Version>");
xmlString.append("<TestID>19104</TestID>");
xmlString.append("<ProjectName>LTS</ProjectName>");
xmlString.append("<RequestedBy>ktmq331</RequestedBy>");
xmlString.append("<SampleNumber>SN1033646000</SampleNumber>");
xmlString.append("<Status>Requested</Status>");
xmlString.append("</TestRequest>");
System.out.println("xmlString :" + xmlString.toString());
System.out.println("URL : " + url);
try {
System.out.println("URL : " + url);
HttpURLConnection httpCon = (HttpURLConnection) url.openConnection();
httpCon.setDoOutput(true);
httpCon.setRequestProperty("Content-Type", "text/xml");
httpCon.setRequestMethod("DELETE");
httpCon.connect();
httpCon.getInputStream();
int responseCode = httpCon.getResponseCode();
System.out.print("Response Code: "+responseCode);
String responseString = httpCon.getResponseMessage();
System.out.print("Response Message: "+responseString);
} catch (Exception e) {
e.printStackTrace();
}
}
}