我发送一个XML字符串,它从XML文件中提取到jax Web服务
我的XML是
<GTSRequest command="version">
<Authorization account="jrl" user="" password="123456"/>
</GTSRequest>
和Java代码
public static void main(String[] args) throws IOException {
// TODO code application logic here
String a = System.getProperty("user.dir") + "/XML/Get Current GTS Version.xml";
System.out.println(convertXMLFileToString(a));
// call web service
System.out.println(gtsServiceRequest(convertXMLFileToString(a)));
}
public static String convertXMLFileToString(String fileName) throws FileNotFoundException, IOException {
BufferedReader br = new BufferedReader(new FileReader(fileName));
String everything;
try {
StringBuilder sb = new StringBuilder();
String line = br.readLine();
while (line != null) {
sb.append(line);
sb.append(System.lineSeparator());
line = br.readLine();
}
everything = sb.toString();
} finally {
br.close();
}
return everything;
}
但是当字符串进入服务器时,字符串会改变
lt;?xml version="1.0" encoding="utf-8" ?>
<GTSRequest command="version">
<Authorization account="jrl" user="" password="123456"/>
</GTSRequest>
我的字符串转换为HTML acsii值,那么我怎么能阻止它?
答案 0 :(得分:1)
您可能会发现this有用,引用链接:
“你的方法返回一个String,这意味着生成的WSDL应该有一个类型的响应消息。我们知道,XML字符串必须将某些字符编码为字符实体引用(即”&lt;“变为”&amp; lt;“所以XML解析器将其视为字符串,而不是您想要的XML元素的开头。如果要返回XML文档,则必须在WSDL部分中定义XML结构,并将响应消息部分设置为适当的元素“。