使用soap web service实现输入用户名和密码,返回用户名及其信息
时间: 2023-05-15 17:06:39 浏览: 149
可以使用以下代码实现:
```
// 定义 SOAP 请求
$soap_request = '<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ser="http://example.com/soap/user">
<soapenv:Header/>
<soapenv:Body>
<ser:getUser>
<ser:username>用户名</ser:username>
<ser:password>密码</ser:password>
</ser:getUser>
</soapenv:Body>
</soapenv:Envelope>';
// 发送 SOAP 请求
$soap_client = new SoapClient('http://example.com/soap/user?wsdl');
$soap_response = $soap_client->__doRequest($soap_request, 'http://example.com/soap/user', 'SOAPAction');
// 解析 SOAP 响应
$soap_response_xml = simplexml_load_string($soap_response);
$username = (string) $soap_response_xml->Body->getUserResponse->username;
$userinfo = (string) $soap_response_xml->Body->getUserResponse->userinfo;
// 输出结果
echo '用户名:' . $username . '<br>';
echo '用户信息:' . $userinfo;
```
这段代码使用了 PHP 的 SoapClient 类来发送 SOAP 请求,并解析了 SOAP 响应。其中,`http://example.com/soap/user?wsdl` 是 SOAP 服务的 WSDL 地址,`http://example.com/soap/user` 是 SOAPAction 的值,`<ser:getUser>` 是 SOAP 请求的方法名,`<ser:username>` 和 `<ser:password>` 是 SOAP 请求的参数。最后,将解析出的用户名和用户信息输出即可。
阅读全文