当前位置: 首页 > 知识库问答 >
问题:

JAVA木卫一。IOException:服务器返回了URL:“SoapEndPoint URL”的HTTP响应代码:500

祖麻雀
2023-03-14

我的肥皂API在localHost上运行。当我从浏览器或肥皂用户界面访问它时,它工作正常。但是当我从我的java客户端访问它时,它会抛出500个错误

我试图调试代码,但找不到任何东西。服务器日志也不会打印任何内容。只有tomcat访问日志显示请求的响应代码

public class PostSoapRequest {
    String soapEndpointUrl = "http://10.142.240.103:8082/notification-adaptor/services/ChangeTrigger";

    public void postRequest(ChangeDeviceTrigger_Element changeDeviceTrigger) {
        try {
            URL obj = new URL(soapEndpointUrl);
            HttpURLConnection con = (HttpURLConnection) obj.openConnection();
            con.setRequestMethod("POST");
            con.setRequestProperty("Content-Type", "text/xml;charset=UTF-8");
            con.setRequestProperty("SOAPAction", "http://dpa.nokia.com/ChangeDeviceTrigger/");
            con.setRequestProperty("Connection", "Keep-Alive");
            con.setRequestProperty("User-Agent","Apache-HttpClient/4.1.1");
            String xml = RequestXml.getXmlRequest();
            con.setDoOutput(true);
            DataOutputStream wr = new DataOutputStream(con.getOutputStream());
            wr.writeBytes(xml);
            wr.flush();
            wr.close();
            String responseStatus = con.getResponseMessage();
            System.out.println("responseStatus :" + responseStatus);
            System.out.println("getResponseCode :" + con.getResponseCode());
            BufferedReader reader = null;

            if (con.getResponseCode() == 200) {
                reader = new BufferedReader(new InputStreamReader(con.getInputStream()));
                String inputLine;
                StringBuffer response = new StringBuffer();
                while ((inputLine = reader.readLine()) != null) {
                    response.append(inputLine);
            }
                reader.close();
                System.out.println("response:" + response.toString());
            }else {
                reader = new BufferedReader(new InputStreamReader(con.getErrorStream()));
            }
            System.out.println(reader.read());

            BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream()));
            String inputLine;
            StringBuffer response = new StringBuffer();
            while ((inputLine = in.readLine()) != null) {
                response.append(inputLine);
            }
            in.close();
            System.out.println("response:" + response.toString());
        } catch (Exception e) {
            e.printStackTrace();
        }

    }

例外:java。木卫一。IOException:服务器为URL返回了HTTP响应代码500:http://10.142.240.103:8082/notification-sun的适配器/服务/变更触发器。反映国家结构附件MPL。sun上的newInstance0(本机方法)。反映国家结构附件MPL。sun上的newInstance(NativeConstructorAccessorI mpl.java:62)。反映删除构造函数或AccessorImpl。java上的newInstance(DelegatingConstructorAccessorImpl.java:45)。朗。反思。构造器。sun上的newInstance(Constructor.java:423)。网www.protocol。http。HttpURLConnection$10。在sun上运行(HttpURLConnection.java:1944)。网www.protocol。http。HttpURLConnection$10。在java上运行(HttpURLConnection.java:1939)。安全访问控制器。在sun的doPrivileged(本机方法)。网www.protocol。http。HttpURLConnection。sun上的getChainedException(HttpURLConnection.java:1938)。网www.protocol。http。HttpURLConnection。sun上的getInputStream0(HttpURLConnection.java:1508)。网www.protocol。http。HttpURLConnection。com上的getInputStream(HttpURLConnection.java:1492)。诺基亚。dpa。更换设备装配工。邮递PostSoapRequest。com上的postRequest(PostSoapRequest.java:49)。诺基亚。dpa。更换设备装配工。邮递PostSoapRequest。main(PostSoapRequest.java:65)由:java引起。木卫一。IOException:服务器为URL返回了HTTP响应代码500:http://10.142.240.103:8082/notification-sun的适配器/服务/变更触发器。网www.protocol。http。HttpURLConnection。sun上的getInputStream0(HttpURLConnection.java:1894)。网www.protocol。http。HttpURLConnection。java上的getInputStream(HttpURLConnection.java:1492)。网HttpURLConnection。java上的getResponseCode(HttpURLConnection.java:480)。网HttpURLConnection。com上的getResponseMessage(HttpURLConnection.java:546)。诺基亚。dpa。更换设备装配工。邮递PostSoapRequest。postRequest(PostSoapRequest.java:30)

共有1个答案

芮承运
2023-03-14

我发现发布到服务endpoint的肥皂请求xml是错误的。请求中有一个额外的“\”字符。问题还没解决

 类似资料:
  • 我正在做一个GET请求,这段代码适用于我们所有现有的测试,对于一个新endpoint,它给出了400个错误。我可以在《邮差》中很好地达到终点。conn.getErrorStream()不打印任何内容。代码似乎在url.openConnection处失败(没有引发异常)。如果我在那行之后执行conn.getResponseCode(),它返回400。我想可能它不喜欢查询中的管道字符,而是通过URLE

  • 我得到这个错误: java。木卫一。IOException:服务器为URL返回了HTTP响应代码400:https://graph.facebook.com/search?q=java 对于这个代码: 我不明白为什么?

  • 我可以访问网站kissmanga.com但我不能通过程序访问它。我修正了错误403,我之前得到的,但现在我得到错误503。 好的,这段代码可以解决一个小问题。我没有得到完整的html,但只有2/3。

  • 问题内容: 我想从URL打开一个链接:“ http://www.kohls.com/search.jsp?search=jacket&submit- search=web-regular ”,有时我得到: java.io.IOException:服务器返回URL的HTTP响应代码:403。但是使用浏览器打开网址是可以的。以下是我的代码的一部分: 错误详情 线程“主”中的异常java.io.IOEx

  • 这个错误的原因是什么?当我直接从浏览器调用URL时,它的工作非常完美。

  • 我正在开发一个线程java应用程序,它通过点击url发送sms消息 问题是我在NTLM代理服务器后面,我搜索了一天的大部分时间,尝试了许多解决方案,但没有成功。应用程序给出了标题错误,当我试图打印错误响应时,我发现错误页面来自代理服务器 这是击打密码 我得到了喘息的机会 任何帮助都很感激谢谢