gpt4 book ai didi

Java - 如何在 rest post 方法中传递 XML 请求正文

转载 作者:搜寻专家 更新时间:2023-11-01 03:03:22 24 4
gpt4 key购买 nike

我需要通过传递 XML 请求正文来调用 rest POST 方法。我通过 VB.net 实现了同样的目标。在 VB.net 中,我使用 XElement 来传递请求正文。

例如:

Dim xml As XElement = <Request xmlns="request"><ID>181</ID><Password>String content</Password><Service>service name</Service><UserName>username</UserName></Request>. 

在Java中如何通过上面的XML请求体来调用rest post方法。

最佳答案

这是如何操作的示例代码,或者您可以找到一些 Java 库,例如 commons-httpclient,这会比这更容易。

 String xmlString = "<?xml version='1.0' encoding='gb2312'?>"
+ "<Req>"
+ "<EventContentReq>"
+ "<EventID>101</EventID >"
+ "</EventContentReq>"
+ "</Req>";

byte[] xmlData = xmlString.getBytes();

String urlStr = "http://124.128.62.164:7001/test";

DataInputStream input = null;

java.io.ByteArrayOutputStream out = null;

try {

URL url = new URL(urlStr);

URLConnection urlCon = url.openConnection();

urlCon.setDoOutput(true);
urlCon.setDoInput(true);
urlCon.setUseCaches(false);


urlCon.setRequestProperty("Content-Type", "text/xml");
urlCon.setRequestProperty("Content-length", String.valueOf(xmlData.length));

input = new DataInputStream(urlCon.getInputStream());
out = new java.io.ByteArrayOutputStream();

byte[] bufferByte = new byte[256];
int l = -1;

while ((l = input.read(bufferByte)) > -1) {
out.write(bufferByte, 0, l);
out.flush();
}

} catch (Exception e) {

e.printStackTrace();

} finally {

try {

out.close();

input.close();

} catch (Exception ex) {

}

}

关于Java - 如何在 rest post 方法中传递 XML 请求正文,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30862275/

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