需求:通过SOAP完成注册功能。
业务流程:
一、客户端发送注册信息到服务端。
二、服务器端返回给客户端带认证的401包响应。
三、客户端再次发送带有认证头的请求包(用户名、密码)。
四、服务端根据请求中的认证信息(用户名、密码)判断是否正确,再发回一个响应的数据包。第一次请求的数据:
POST /ipcam/soapservice HTTP/1.1
Host: www.liveipc.com
User-Agent: fSOAP/1.0
Content-Type: text/xml; charset=utf-8
Content-Length: 801
Connection: keep-alive
SOAPAction: "http://www.liveipc.com/UserService/UserOperation"<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" 
xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
xmlns:ns1="http://www.liveipc.com/UserService/">
<SOAP-ENV:Body><ns1:UserOperation>
<WSRequest>
<Version>1.0.0</Version>
<CharSet>GBK</CharSet>
<TransactionName>UserRegistration</TransactionName>
<Random>65e9920d1c2912c5a822565953601306</Random>
<SoapConfigData></SoapConfigData>
<OEMID>0</OEMID>
<UserName>test09</UserName>
<Password>123456</Password>
<ConfirmPassword>123456</ConfirmPassword>
<EMailBox>[email protected]</EMailBox>
<Name></Name>
<DevAttr></DevAttr>
</WSRequest>
</ns1:UserOperation>
</SOAP-ENV:Body></SOAP-ENV:Envelope>第二次请求的数据:
POST /ipcam/soapservice HTTP/1.1
Host: www.liveipc.com
User-Agent: fSOAP/1.0
Content-Type: text/xml; charset=utf-8
Content-Length: 801
Connection: keep-alive
Authorization: Digest realm="www.fkhl.sh.cn", username="FHL3301009", nonce="MTM3MTc5Njg3Mjg3NjpkN2RmYmE4ZDFmMzNiZGQ0ZTAxMDJjMTNjZjI3MDQ2ZQ==", uri="/ipcam/soapservice", nc=00000001, cnonce="51c3f331ca5600006784", response="dc0f6160daa71c7e86416e0f1cb63d59", qop="auth"
SOAPAction: "http://www.liveipc.com/UserService/UserOperation"<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" 
xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
xmlns:ns1="http://www.liveipc.com/UserService/">
<SOAP-ENV:Body><ns1:UserOperation>
<WSRequest>
<Version>1.0.0</Version>
<CharSet>GBK</CharSet>
<TransactionName>UserRegistration</TransactionName>
<Random>65e9920d1c2912c5a822565953601306</Random>
<SoapConfigData></SoapConfigData><OEMID>0</OEMID>
<UserName>test09</UserName>
<Password>123456</Password>
<ConfirmPassword>123456</ConfirmPassword>
<EMailBox>[email protected]</EMailBox>
<Name></Name>
<DevAttr></DevAttr>
</WSRequest>
</ns1:UserOperation>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>请问我要怎样用PHP构建这个http请求?