Server returned HTTP response code: 500 for URL: http.......错误

21 篇文章 0 订阅

在前不久做一个项目需要调用第三方接口,但一直报Server returned HTTP response code: 500 for URL: http.......错误,经过调试接口可正常调用并返回结果,如下是我改之前与之后的代码:

之前:

URL wsUrl2 = new URL(wsUrl);
				HttpURLConnection conn = (HttpURLConnection) wsUrl2.openConnection();
				conn.setDoInput(true);
				conn.setDoOutput(true);
				conn.setRequestMethod("POST");
				conn.setConnectTimeout(5*1000);
				conn.setRequestProperty("Content-Type", "text/xml;charset=UTF-8");
				conn.setRequestProperty("SOAPAction",wsUrl);
				
				OutputStream os = conn.getOutputStream();
				<span style="color:#FF0000;"><span style="background-color: rgb(204, 204, 204);">os.write(xml.getBytes());</span></span>
				System.out.println("conn.getInputStream()===="+conn);
				InputStream is = conn.getInputStream();
				byte[] b = new byte[1024];
				int len = 0;
				String s = "";
				while((len = is.read(b)) != -1){
					String ss = new String(b,0,len,"UTF-8");
					s += ss;
				}
				is.close();
				os.close();
				conn.disconnect();

修改之后:

URL wsUrl2 = new URL(wsUrl);
				HttpURLConnection conn = (HttpURLConnection) wsUrl2.openConnection();
				conn.setDoInput(true);
				conn.setDoOutput(true);
				conn.setRequestMethod("POST");
				conn.setConnectTimeout(5*1000);
				conn.setRequestProperty("Content-Type", "text/xml;charset=UTF-8");
				conn.setRequestProperty("SOAPAction",wsUrl);
				
				OutputStream os = conn.getOutputStream();
				<span style="color:#FF0000;"><span style="color:#FF0000;">os.write(xml.getBytes("UTF-8"));</span></span>
				System.out.println("conn.getInputStream()===="+conn);
				InputStream is = conn.getInputStream();
				byte[] b = new byte[1024];
				int len = 0;
				String s = "";
				while((len = is.read(b)) != -1){
					String ss = new String(b,0,len,"UTF-8");
					s += ss;
				}
				is.close();
				os.close();
				conn.disconnect();


<span style="color:#FF0000;"><span style="color:#FF0000;">os.write(xml.getBytes("UTF-8"));</span></span>  为我更改的内容。

原因分析:因为我调用接口时所传输的参数有中文,所以在调用的过程中内容变为乱码,不能返回数据。更改后乱码问题即可解决。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值