【发布时间】:2010-12-06 04:10:53
【问题描述】:
我是一名 Coldfusion 开发人员,但我收到了一个带有登录页面的 Joomla 网站 (PHP)。登录表单提交必须调用登录 Web 服务。
所以,我已经激活了 Joomla 登录模块,并且正在考虑如何将它连接到网络服务。我花了一天时间试图找到一些信息和帮助,但没有成功。
登录 web 服务返回 SessionID - 必须与网站上的任何其他 web 服务调用一起传递的密钥。所以,登录是起点。
webservice 请求和响应如下所示:
POST /proxy/dataaccess.asmx HTTP/1.1
Host: portal.compass.net.nz
Content-Type: application/soap+xml; charset=utf-8
Content-Length: length
<?xml version="1.0" encoding="utf-8"?>
<soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">
<soap12:Body>
<Login xmlns="http://portal/dataaccess.asmx">
<LogonType>int</LogonType>
<UserName>string</UserName>
<Password>string</Password>
</Login>
</soap12:Body>
</soap12:Envelope>
HTTP/1.1 200 OK
Content-Type: application/soap+xml; charset=utf-8
Content-Length: length
<?xml version="1.0" encoding="utf-8"?>
<soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">
<soap12:Body>
<LoginResponse xmlns="http://portal/dataaccess.asmx">
<LoginResult>
<IsValid>boolean</IsValid>
<ResponseCode>int</ResponseCode>
<ResponseText>string</ResponseText>
<SessionID>string</SessionID>
<StaffID>int</StaffID>
<PortalID>int</PortalID>
<Roles>string</Roles>
<Name>string</Name>
<UserName>string</UserName>
</LoginResult>
</LoginResponse>
</soap12:Body>
</soap12:Envelope>
目前,系统正在使用 DLL 进行 ASP 设置,但我正在将其移植到 Joomla 站点。 我不知道这有多难。这对我来说都是新的。如有必要,我会花钱请人帮助我,或者将我指向您的亚马逊愿望清单,我会在上面为您买些东西。本质上,我需要知道如何在 PHP 中的 Joomla 模板中调用此 Web 服务并让 Web 服务返回 SessionID。
【问题讨论】:
标签: php web-services joomla