我有以下代码来调用 URL:http://10.105.0.120/24online/servlet/ClientRegistrationResponse?action=response&phone=919638983856&actioncode=0000
代码 :
StringBuffer request=new StringBuffer();
request.append(xml);
URL url = new URL(url);
HttpURLConnection obj = null;
obj = (HttpURLConnection)url.openConnection(); //create a SSL connection object server-to-server
((URLConnection)obj).setDoInput(true);
((URLConnection)obj).setDoOutput(true);
((URLConnection)obj).setUseCaches(false);
// ((URLConnection)obj).setReadTimeout(10);
((URLConnection)obj).setRequestProperty("Content-Type","application/x-www-form-urlencoded");
obj.setRequestMethod("POST");
obj.setRequestProperty("charset", "US-ASCII");
//obj.setConnectTimeout(PropertyReader.IN_REQUEST_TIMEOUT);
//obj.setReadTimeout(PropertyReader.IN_REQUEST_TIMEOUT);
// Here the HTTPS request URL is created
DataOutputStream dataoutputstream = new DataOutputStream(((URLConnection)obj).getOutputStream());
dataoutputstream.writeBytes(request.toString()); //request
//dataoutputstream.flush();
dataoutputstream.close(); //connection closed
BufferedReader bufferedreader = new BufferedReader(new InputStreamReader(((URLConnection)obj).getInputStream()));
String res = "";
while ( (res = bufferedreader.readLine()) != null ) {
conresponse += res;
}
bufferedreader.close();
但我收到以下错误:
java.io.IOException: Server returned HTTP response code: 500 for URL: http://10.105.0.120/24online/servlet/ClientRegistrationResponse?action=response&phone=919638983856&actioncode=0000
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1313)
at cyberoam.corporate.integration.XMLSenderReceiver.sendFileData1(XMLSenderReceiver.java:70)
at cyberoam.corporate.modes.TopupRequestThread.sendTopupRequest(TopupRequestThread.java:56)
at cyberoam.corporate.modes.TopupRequestThread.run(TopupRequestThread.java:31)
org.jdom.input.JDOMParseException: Error on line -1: Premature end of file.
at org.jdom.input.SAXBuilder.build(SAXBuilder.java:504)
at cyberoam.corporate.integration.XMLProcessor.parseXML(XMLProcessor.java:392)
at cyberoam.corporate.modes.TopupRequestThread.sendTopupRequest(TopupRequestThread.java:62)
at cyberoam.corporate.modes.TopupRequestThread.run(TopupRequestThread.java:31)
Caused by: org.xml.sax.SAXParseException: Premature end of file.
at org.apache.xerces.util.ErrorHandlerWrapper.createSAXParseException(Unknown Source)
at org.apache.xerces.util.ErrorHandlerWrapper.fatalError(Unknown Source)
at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source)
at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source)
at org.apache.xerces.impl.XMLVersionDetector.determineDocVersion(Unknown Source)
at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
at org.jdom.input.SAXBuilder.build(SAXBuilder.java:489)
... 3 more
Caused by: org.xml.sax.SAXParseException: Premature end of file.
at org.apache.xerces.util.ErrorHandlerWrapper.createSAXParseException(Unknown Source)
at org.apache.xerces.util.ErrorHandlerWrapper.fatalError(Unknown Source)
at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source)
at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source)
at org.apache.xerces.impl.XMLVersionDetector.determineDocVersion(Unknown Source)
at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
at org.jdom.input.SAXBuilder.build(SAXBuilder.java:489)
at cyberoam.corporate.integration.XMLProcessor.parseXML(XMLProcessor.java:392)
at cyberoam.corporate.modes.TopupRequestThread.sendTopupRequest(TopupRequestThread.java:62)
at cyberoam.corporate.modes.TopupRequestThread.run(TopupRequestThread.java:31)
Caused by: org.xml.sax.SAXParseException: Premature end of file.
at org.apache.xerces.util.ErrorHandlerWrapper.createSAXParseException(Unknown Source)
at org.apache.xerces.util.ErrorHandlerWrapper.fatalError(Unknown Source)
at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source)
at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source)
at org.apache.xerces.impl.XMLVersionDetector.determineDocVersion(Unknown Source)
at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
at org.jdom.input.SAXBuilder.build(SAXBuilder.java:489)
at cyberoam.corporate.integration.XMLProcessor.parseXML(XMLProcessor.java:392)
at cyberoam.corporate.modes.TopupRequestThread.sendTopupRequest(TopupRequestThread.java:62)
at cyberoam.corporate.modes.TopupRequestThread.run(TopupRequestThread.java:31)
2012-07-12 18:52:49,416 - PIPE_COMM: In Receiving Object for /usr/local/nas/pipes/raam_to_gui_pipe
******************SMPPThread constructor called*****************
这个错误的原因是什么?就像我直接从浏览器调用 URL 一样,它工作得很好。