首页 / 知识
关于Web服务:CF中不需要BOM,但由IIS / SharePoint发送
2023-04-14 23:52:00

BOM not expected in CF but sent by IIS/SharePoint我正在尝试通过cfinvoke从ColdFusion使用SharePoint Web服务(因为我不想处理(读取:解析)SOAP响应本身)。 SOAP响应包含一个字节顺序标记字符(BOM),该字符在CF中产生以下异常:
用于UTF-8编码的标准可选地包括BOM字符(http://unicode.org/faq/utf_bom.html#29)。 Microsoft几乎普遍将BOM字符包含在UTF-8编码流中。据我所知,无法在IIS中进行更改。默认情况下,JRun(ColdFusion)使用的XML解析器不处理UTF-8编码的XML流的BOM字符。因此,似乎解决此问题的方法是更改??JRun使用的XML解析器(http://www.bpurcell.org/blog/index.cfm?mode=entry 正如亚当·塔特尔(Adam Tuttle)所说的那样,解决方法在您链接到的页面上
我要说的是您的问题的答案(可能吗?)不是。我不确定,但是在halL上方(在此页面的注释中)发表评论的海报提供了解决该问题的方法-因此,我认为手动解析时可以进行处理。 您说您正在使用CFInvoke,因为您不想自己处理肥皂响应。看来您别无选择。 听起来像ColdFusion在后台使用Apache Axis。 这并不完全适用于您的解决方案,但是在使用Apache Axis / Java使用.NET Web服务之前,我不得不处理一次此问题。我能够找到的唯一解决方案(由于Web服务的所有者不愿意在其末端更改任何内容)是编写一个Handler类,Axis将其插入管道中,如果存在的话,该类将从消息中删除BOM。 那么也许可以通过ColdFusion配置Axis?如果是这样,则可以将其他处理程序添加到消息处理流程。 |
最新内容
相关内容
linux重新服务命令?
linux重新服务命令?,服务,系统,网络,标准,工作,设备,命令,名称,信息,网络服务,linux重启命令Linux的五个重启命令为:shutdown、poweroff、initlinux服务器基本命令?
linux服务器基本命令?,地址,系统,设备,网络,工作,标准,信息,电脑,命令,密码,linux如何查看ip地址命令(linux如何查看ip地址)1、目录方法1:使用Ulinux命令读取前十个?
linux命令读取前十个?,时间,系统,最新,文件,名称,标准,密码,工作,适当,信息,linux写脚本,需要ls只显示前10个文件,怎么实现?在linux中如果用lslinux服务器下载命令?
linux服务器下载命令?,服务,密码,系统,档案,工具,网络,公共,百度,地址,认证,linux下lftp连接ftp服务器上传下载命令连接ftp服务器 格式:ftp [holinux命令怎么停服务?
linux命令怎么停服务?,服务,系统,状态,代码,跨行,软件,情况,第一,名称,命令,linux下nginx停止命令首先,连接相应linux主机,进入到linux命令行状linux中不能识别命令?
linux中不能识别命令?,系统,服务,设备,数据,软件,工具,第一,在线,地方,电脑,mysqld命令在linux下怎么不识别1、linux命令模式下查看pdf文件需linux服务端退出命令?
linux服务端退出命令?,档案,命令,环境,异常,标准,网络,模式,终端,编辑,文件,linux的telnet退出命令1、Telnet测试一般使用的是TelnetIP(主机)linux中启动服务命令?
linux中启动服务命令?,服务,系统,命令,信息,工作,设备,网络,标准,名称,密码,linux如何启动服务1、具体步骤如下:首先,我们需要修改mysql的配置文linux读取码值命令?
linux读取码值命令?,系统,工作,地址,证书,命令,工具,档案,文件,设计,信息,基本linux命令1、linux系统常用操作命令如下:ls:全拼list,功能是列出目linux服务器常用命令?
linux服务器常用命令?,工作,系统,地址,信息,命令,目录,管理,标准,设备,功能,重启服务器的linux命令1、首先我首要把linux开机, 命令 rebot 这个linux筛选服务命令?
linux筛选服务命令?,服务,系统,状态,软件,环境,主体,技术,号码,发行,名称,查看linux开启了哪些服务查看客户机IP,看到已经是DHCP 服务器里面设linux服务器保存命令?
linux服务器保存命令?,时间,状态,档案,电脑,命令,信息,位置,编辑,文件,模式,Linux的vi编辑后如何保存?1、按ESC键回到命令模式,输入:w保存即可,或