将XML发送到webservice

时间:2014-07-14 09:18:40

标签: java xml string web-services

我发送一个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=&quot;1.0&quot; encoding=&quot;utf-8&quot; ?&gt;&#xD;
&lt;GTSRequest command=&quot;version&quot;&gt;&#xD;
&lt;Authorization account=&quot;jrl&quot; user=&quot;&quot; password=&quot;123456&quot;/&gt;&#xD;
&lt;/GTSRequest&gt

我的字符串转换为HTML acsii值,那么我怎么能阻止它?

1 个答案:

答案 0 :(得分:1)

您可能会发现this有用,引用链接:

  

“你的方法返回一个String,这意味着生成的WSDL应该有一个类型的响应消息。我们知道,XML字符串必须将某些字符编码为字符实体引用(即”&lt;“变为”&amp; lt;“所以XML解析器将其视为字符串,而不是您想要的XML元素的开头。如果要返回XML文档,则必须在WSDL部分中定义XML结构,并将响应消息部分设置为适当的元素“。