Я пытаюсь использовать веб-службу SharePoint из ColdFusion через cfinvoke (потому что я не хочу иметь дело (читай: анализировать) сам ответ SOAP).
Ответ 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 почти повсеместно включает символ BOM в потоки в кодировке UTF-8. Насколько я могу судить, изменить это в IIS невозможно. Анализатор XML, который JRun (ColdFusion) использует по умолчанию, не обрабатывает символ спецификации для XML-потоков в кодировке UTF-8. Таким образом, похоже, что способ исправить это — изменить синтаксический анализатор XML, используемый JRun (http://www.bpurcell.org/blog/index.cfm?mode=entry&entry=942).
Adobe заявляет, что не обрабатывает символ BOM (см. комментарии anoynomous и hall от 2 и 5 мая).
http://livedocs.adobe.com/coldfusion/8/htmldocs/Tags_g-h_09.html#comments