当前访客身份:游客 [ 登录 | 加入开源中国 ]

问答

当前位置:
问答 » 支付宝专区 » Java

开程序员的淘宝店!寻找开源技术服务伙伴!>>> »  

做的一个电商网站,用的担保交易,按照文档填的参数,现在付款方面都很正常,但是买家付款后,商家有个发货,点了发货后,老是失败。前面曾经有一天成功过,但是不知道为什么。

发货按钮是提交到后台一个controller,我把controller 方法主体发出来吧。

public class AdminSendGoodsController extends Controller{
private static String failedUrl="http://182.92.103.164:8080/BPPost/xmlfailed";
private static String successUrl="http://182.92.103.164:8080/BPPost/xmlsuccess";
/**
* <%=request.getContextPath()%>/admin/SendGoods/
*/
public void index(){
boolean flag =false;
byte[] xmlbyte = "测试测试".getBytes();
URL url;
try {
url = new URL(successUrl);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setConnectTimeout(20000);
conn.setDoOutput(true);// 允许输出
conn.setDoInput(true);
conn.setUseCaches(false);// 不使用缓存
conn.setRequestMethod("POST");
conn.setRequestProperty("Connection", "Keep-Alive");// 维持长连接
conn.setRequestProperty("Charset", "UTF-8");
conn.setRequestProperty("Content-Length", String.valueOf(xmlbyte.length));
conn.setRequestProperty("Content-Type", "text/xml; charset=UTF-8");
conn.getOutputStream().write(xmlbyte);
conn.getOutputStream().flush();
conn.getOutputStream().close();

if(200 == conn.getResponseCode()){
InputStream inputStream = conn.getInputStream();
System.out.println(PostXmlParseUtils.xmlParse(inputStream));
flag = true;
}
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (ProtocolException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} catch (XmlPullParserException e) {
e.printStackTrace();
}

if(flag){
//如果正常,则发货成功


//更新物流方式
int indentId = getParaToInt("indentId");
int transportId = getParaToInt("transport");
Indent indent = Indent.me.findById(indentId);
indent.set("TransportId", transportId);
indent.set("Status", 2);
flag = indent.update();

renderJson("{\"flag\": \"success\"}");
}else{
//否则,发货失败
renderJson("{\"flag\": \"error\"}");
}
}

就这样,然后结果是一直发货失败。 

查看eclipse的console,报的异常是

java.net.ConnectException: Connection refused: connect

at java.net.DualStackPlainSocketImpl.waitForConnect(Native Method).....

这个应该是sengoods里的方法发送链接请求失败,昨天的时候是请求超时,我不知道为什么变了,那个方法里的网址是干什么的也没搞懂,(这个是别人写的代码,那人联系不到了,现在我接手修改的,我刚学编程几个月,新人一个)。 

在网页里审查元素,网页向sendgoods这个方法发送请求返回值是200,说明请求已经到达这个方法了,现在就是这个方法向successURL发送请求的时候失败了,我的理解大概就这样,就不知道怎么解决这儿问题,求解求解,非常感谢。@JFinal

zxc__ zxc__
发帖于 1年前
2回/284阅

按默认排序  显示最新回答   共有2个回答 (最后回答: 1年前 )

    0
  • JFinal
      具体报什么异常,返回的数据有何不正确?  先把问题精准定位再解决事半功倍
    评论(0)| 引用此答案| 举报 (2016-01-06 15:23)
  • 0
  • HeartArea
    是不是对方的服务没启动或者端口开放又问题啊,你先试试 “telnet  182.92.103.164 8080 ”能不能连接上
    评论(0)| 引用此答案| 举报 (2016-01-06 17:45)
最新热门职位
更多开发者职位上 开源中国·招聘


回答案顶部 | 回页面顶部
有什么技术问题吗? 我要提问