PHP XML error parsing SOAP payload on line 1_php技巧_脚本之家

WebService,想必大家都相比较熟知,是由“服务提供方”向“服务调用方”提供服务的生机勃勃种方式。里面有几项首要的技艺:
XML:描述数据的业内方法 SOAP:轻便对象访谈左券,用于消息沟通WSDL:Web服务描述语言
UDDI:通用描述、发掘与集成,它是豆蔻梢头种独立于阳台的,基于XML语言的用于在互联英特网呈报商务的协商。
SOAP暗中同意传输的都以UTF-8的编码,那也调节了暗许意况下WebService用的也是UTF-8编码。
今后爱戴的特别项目是三个PHP项目,编码用的全部都以GBK,在调用自己提供的WebService方法时,就能境遇编码难点了。PHP页面调用WebService,而这一个WebService又调用的是另四个调用COM组件的PHP类。大致场景便是如此。
复制代码 代码如下: PHP页面 ->
WebService在未相见难题在此之前,一切都以水静无波的,有如此过了不菲年。有一天,集团收购了此外同盟社,为了整合服务,客商音信也构成到联合了,原集团负有客商的帐户都是由法语字符加数字构成的,而收购的那个公司并未做那样的范围,帐户有汉字的情状。整合之后,难题应际而生了,“error
in msg parsing: XML error parsing SOAP payload on line 1: Invalid
character [detail]”!
PHP刚接触不久,不是甚熟,何况NetBeans的调治将养灰常不好整。所以就开采VS,援用WebService,开端测验。重回的结果,找不到顾客,并且是乱码,OK,看了生龙活虎晃事后,由于WebService的UTF-8编码传给PHP类时,编码不平等所导致!转变为GBK再传过去,收到数量后,找到客户,但仍旧乱码。将再次回到过来的数据重复员和转业移为UTF-8之后,一切OK!VS下测量试验一切符合规律!上测试机!开首测试!张开之后,乱码!仍为“error
in msg parsing: XML error parsing SOAP payload on line 1: Invalid
character [detail]”囧!
调整心态,继续解析!应该是PHP页面调用WebService时所导致!VS上边包车型客车非常测验页面是UTF-8的,他们之间从未难点,但PHP的那个页面是GBK的。再度校正后,一切又重作冯妇平静了。
复制代码 代码如下:
调用:PHP页面,参数调换为UTF-8 -> Web瑟维斯,调换为GBK后 -> PHP类
重临:PHP类 -> Web瑟维斯,收到后转变为UTF-8 -> PHP页面,转变为GBK

相关文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图