gpt4 book ai didi

java - 在java中传递XML请求时出现问题

转载 作者:行者123 更新时间:2023-12-02 13:39:38 27 4
gpt4 key购买 nike

我需要向 Web 服务发送 xml 请求并接受来自该 Web 服务的 xml 响应。

下面是代码:

public static void main(String[] args) throws IOException {

String url ="http://XX.XXX.X.XX:80/test";
String urlParameters = "";
StringBuilder test = new StringBuilder(768);

test.append("<?xml version='1.0'?>\n"+
"<!DOCTYPE COMMAND PUBLIC '-//Ocam//DTD XML Command 1.0//EN' 'xml/command.dtd'>\n"+
"<COMMAND>\n"+

"<TYPE>EXUSRBALREQ</TYPE>\n"+
"<DATE>14-03-17</DATE>\n"+
"<EXTNWCODE>MD</EXTNWCODE>\n"+
"<MSISDN>57625960</MSISDN>\n"+
"<PIN>47565</PIN>\n"+
"<LOGINID></LOGINID>\n"+
"<PASSWORD></PASSWORD>\n"+
"<EXTCODE>AD10001</EXTCODE>\n"+
"<EXTREFNUM>12345</EXTREFNUM>\n"+
"</COMMAND>\n");

System.out.println(test);

URL obj = new URL(url);
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
con.setRequestProperty("Content_Type", "application/xml");
con.setDoOutput(true);
DataOutputStream wr = new DataOutputStream(con.getOutputStream());
wr.writeBytes(urlParameters);
wr.flush();
wr.close();

int responseCode = con.getResponseCode();
System.out.println("Sending post on the URL"+url);
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream(),"UTF-8"));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();

System.out.println(responseCode);
System.out.println(response);


}

每当我运行应用程序时,我都会收到 200 状态,但是下面是我得到的响应

回应:

Sending post on the URLhttp://XXX.XXX.X.XX:80/test
200
mclass^2&pid^61:6002:Your request is invalid. Please call 8900

有人可以帮我解决这个问题吗?

问候,

阿米特·古普塔

最佳答案

您的代码组装 XML 以在名为 testStringBuilder 中发送。

但是,您从未真正发送 test 的内容,因此服务器没有收到 XML 也就不足为奇了。请解决这个问题。

例如参见 Sending HTTP POST Request In Java了解如何在 Java 中发送 POST 请求。

关于java - 在java中传递XML请求时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42808330/

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