gpt4 book ai didi

java - 在 jax-rs webservice 中传递特殊字符

转载 作者:行者123 更新时间:2023-12-01 12:23:52 25 4
gpt4 key购买 nike

我有两个 jax-rs Web 服务:WS1WS2

我还有一个 html 表单,用户可以添加一些文本,当单击提交按钮时,调用 WS1 或 WS2 并通过 post 发送 xml 文件。

xml 文件如下所示:

<documents>
<document> some text 1 </document>
<document> some text 2 </document>
</documents>

当我从 html 表单调用 ws1ws2 时,xml 文件可以顺利通过。

但是当我尝试从ws2调用ws1时,我无法发送元素“document”中包含特殊字符的xml文件。 (不要发送所有xml文件)

所以我的问题是如何传递包含特殊字符的 xml 文件或如何替换所有特殊字符?

调用 wb1

 public String sendPost(String value) throws Exception {
String url = "http://localhost:8084//wb1";
URL obj = new URL(url);
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
String urlParameters = "xmlinput=" + value;

// Send post request
con.setDoOutput(true);
java.io.BufferedOutputStream wr = new BufferedOutputStream(con.getOutputStream());
wr.write(urlParameters.getBytes());
wr.flush();
wr.close();

//response
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();

while ((inputLine = in.readLine()) != null) {
System.out.println(inputLine);
response.append(inputLine);
}
in.close();


return response.toString();
}

wb1:

 @POST
@Produces("application/xml")
public String getXml(@FormParam("xmlinput") String xmlinput) throws Exception {
//some code
}

编辑:

例如我有这个字符串:

RT @CEJA: CEJA President @BartoliniMatteo with S&amp;D COMAGRI coordinator @paolodecastro. @EP_Agriculture @TheProgressives http://t.co/65xi4

我想替换 &与黑色空间。

我尝试使用 String.replaceAll("\W", ""); 但 1) 仅替换 &;等2)我想保留链接而不修改

最佳答案

尝试 Apache Commons Lang org.apache.commons.lang.StringEscapeUtils#escapeXml用于请求,#unescapeXml 用于响应。

关于java - 在 jax-rs webservice 中传递特殊字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26491726/

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