2012-05-23 90 views
1

我正在使用Play Framework 1.2.4并尝试解析SOAP响应。SAXParseException;无效的编码名称“UTF8”

的回应是:

<?xml version="1.0" encoding="UTF-8"?> 
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> 
<soap:Body> 
... 
</soap:Body> 
</soap:Envelope> 

当我试着使用play.libs.WS.HttpResponse.getXml()我得到一个致命的错误解析它:

[Fatal Error] :-1:-1: Invalid encoding name "UTF8". 

有趣的是,编码不“UTF8”“UTF-8”。那么为什么我得到这个异常呢?有任何想法吗?

在此先感谢..

+0

缺失“<”在第一行是一个错字,对吗? – martijno

+0

是的,它是复制粘贴错误;)其实它是正确的代码.. – huzeyfe

回答

0

我面临同样的问题,在我的XML-RPC服务器应用程序,因为发送UTF8非标准客户端。

正如我发现,那就是提高该异常Xerces和我修复绕过它是使用EncodingMap类用于登记作为UTF8 UTF8:

EncodingMap.putIANA2JavaMapping("UTF8", "UTF8"); 
EncodingMap.putJava2IANAMapping("UTF8", "UTF8");