【发布时间】:2015-04-30 19:50:37
【问题描述】:
请教关于yii2使用SoapClient的问题,谢谢。
这是一个java webservice,地址:http://122.114.18.101/MyWebServicesPort?wsdl
我想调用validateFalseInfo 方法服务器。
这是服务器要求我提交的实际字符串
PFJFUVVFU1Q + PFVTRVI + Q0cyMDAwMDAxPC9VU0VSPjxQQVNTV09SRD5mNmFhNTY4NDNhOTRjNWFlNjBkNjMxNzVkZTZlZTQ4MTY3MDcxOWZlMmU2MjdiYTZjM2RmNTA5ZDkxOWZjNDI5PC9QQVNTV09SRD48Q09ORElUSU9OPjxTSlJYTT48L1NKUlhNPjxaSkhNPjIxMDEwNDE5ODUwNjAyMDA5eDwvWkpITT48L0NPTkRJVElPTj48L1JFUVVFU1Q +
问题是:我是用c#调用方法,同样提交get是
PFJFU1VMVD48REFUQS8 + PFNUQVRFPjEwMTwvU1RBVEU + PC9SRVNVTFQ +
base64解密后
<RESULT><DATA/><STATE>101</STATE></RESULT>
但是当我在 yii2 中使用 php SoapClient 或使用 https://github.com/mongosoft/yii2-soap-client 时。返回值全部解密
<RESULT><DATA/><STATE>301</STATE></RESULT>
不知道为什么php得到相同内容的301结果。 服务器返回的信息
101 = 成功,301 = 异常
这里有一些网络信息
php5.5.11 SoapClient网络信息
<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:ns1="http://webservice.com/">
<SOAP-ENV:Body>
<ns1:validateFalseInfo/>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
c#SoapClient网络信息
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<validateFalseInfo xmlns="http://webservice.com/">
<arg0 xmlns="">PFJFUVVFU1Q+PFVTRVI+Q0cyMDAwMDAxPC9VU0VSPjxQQVNTV09SRD5mNmFhNTY4NDNhOTRjNWFlNjBkNjMxNzVkZTZlZTQ4MTY3MDcxOWZlMmU2MjdiYTZjM2RmNTA5ZDkxOWZjNDI5PC9QQVNTV09SRD48Q09ORElUSU9OPjxTSlJYTT48L1NKUlhNPjxaSkhNPjIxMDEwNDE5ODUwNjAyMDA5eDwvWkpITT48L0NPTkRJVElPTj48L1JFUVVFU1Q+</arg0>
</validateFalseInfo>
</soap:Body>
</soap:Envelope>
希望得到帮助,谢谢。
【问题讨论】:
标签: php yii2 xml-namespaces soap-client