我试图消耗SharePoint服务从ColdFusion通过cfinvoke('引起我不想处理(阅读:分析)的肥皂响应本身)。

肥皂响应包括一个字节以标记符号(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-8encoded流。从什么我可以告诉大家有没有办法改变,在IIS。XML parser,JRun(ColdFusion)默认使用的不处理物料清单符UTF-8encoded XML流。因此,它的出现,这种方法来解决这个问题是改变XML parser使用的JRun(http://www.bpurcell.org/blog/index.cfm?mode=entry&entry=942).

Adobe说,它不处理物料清单符(见的评论anoynomous和厅在可能的第2和5).
http://livedocs.adobe.com/coldfusion/8/htmldocs/Tags_g-h_09.html#comments

有帮助吗?

解决方案

我要说,在回答你的问题(这可能吗?) 是否定的。我不知道,明确,但柱谁评论就上述厅(在评论对这个页面)给了一个工作周围的问题--因此我认为它是能够处理当分析。

你说你正在使用CFInvoke因为你不想要处理的肥皂响应自己。它看起来像是你没有任何选择。

其他提示

正如亚当*塔特尔说已经解决办法是在页面链接到

<!--- Remove BOM from the start of the string, if it exists --->
<cfif Left(responseText, 1) EQ chr(65279)>
<cfset responseText = mid(xmlText, 2, len(responseText))>
</cfif>

这听起来像ColdFusion是使用Apache轴下的涵盖。

这并不适用于完全的解决方案,但我不得不处理与这个问题的前一次当消耗。网络服务与Apache轴/Java。唯一的解决办法我能找到(由于所有者的网络服务是不愿意改变任何东西,在他的结束)为编写一个处理程序类轴将插入管道将其删除BOM从消息,如果它的存在。

因此,或许这是可能的配置轴通过ColdFusion?如果是这样 你可以添加额外的处理程序的消息处理流程.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top