我想通过cfinvoke(因为我不想处理(读取:解析)SOAP响应本身)从ColdFusion消费SharePoint webservice。物料清单预计在CF但由IIS/SharePoint发送
的SOAP响应包括字节顺序标记字符(BOM),其产生以下异常在CF:
"Cannot perform web service invocation GetList.
The fault returned when invoking the web service operation is:
'AxisFault
faultCode: {http://www.w3.org/2003/05/soap-envelope}Server.userException
faultSubcode:
faultString: org.xml.sax.SAXParseException: Content is not allowed in prolog."
为UTF-8编码的标准任选包括BOM字符(http://unicode.org/faq/utf_bom.html#29)。 Microsoft几乎普遍包含具有UTF-8编码流的BOM字符。从我所能告诉的是,无法在IIS中更改它。 JRun(ColdFusion)默认使用的XML解析器不处理UTF-8编码的XML流的BOM字符。所以,解决这个问题的方法似乎是更改JRun使用的XML解析器(http://www.bpurcell.org/blog/index.cfm?mode=entry&entry=942)。
Adobe表示它不处理BOM字符(请参阅5月2日和5日的来自anoynomous和halL的评论)。
http://livedocs.adobe.com/coldfusion/8/htmldocs/Tags_g-h_09.html#comments
我有完全相同的问题,使用WebSphere 6.1 Web服务的页面上。 – djangofan 2012-05-31 18:12:39