gpt4 book ai didi

java.io.IOException : Server returned HTTP response code: 500 for URL

转载 作者:行者123 更新时间:2023-12-01 15:17:22 33 4
gpt4 key购买 nike

我有以下代码来调用 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 时,效果非常好。

最佳答案

有问题吗?

您向服务器发送了错误的请求,并且服务器正在响应内部服务器错误(代码 500)。合乎逻辑的做法是检查您的 HTTP 服务器日志(它是一个 10.* IP 地址,因此它是您的本地地址)。

此外,JDOM 异常位于不同的线程或其他东西中......您显示的代码中没有与 JDOM 相关的代码,并且异常堆栈跟踪没有以任何方式链接到具有 500 状态响应的 IOException。或者,您忽略 status-500 响应 (IOException),然后期望同一线程中的 JDOM 代码解析来自服务器的错误响应(可能为空)(这无疑会导致过早结束)文件)。

您需要:

  • 检查您的服务器日志
  • 适当处理所有异常
  • 可以添加一些调试代码,以便您能够检查发送到服务器或从服务器检索的数据。

关于java.io.IOException : Server returned HTTP response code: 500 for URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11452967/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com