2010-12-06 5 views
1

Je suis développeur Coldfusion mais j'ai reçu un site Joomla (PHP) avec une page de connexion. La soumission du formulaire de connexion doit appeler un service Web de connexion. J'ai donc activé le module de connexion Joomla et je réfléchis à la manière de le connecter au service Web. J'ai passé une journée à essayer de trouver des informations et de l'aide sans succès. Le service Web de connexion renvoie SessionID - une clé qui doit être transmise avec tous les autres appels de service Web sur le site Web. Donc, la connexion est le point de départ.Joomla PHP SOAP web service

La demande de webservice et l'apparence de réponse comme ceci:

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> 

À l'heure actuelle, le système fonctionne sur une configuration ASP avec DLL, mais je le portage vers un site Joomla. Je ne sais pas à quel point c'est difficile. Tout est nouveau pour moi. Je paierai quelqu'un pour m'aider avec ceci si nécessaire ou me diriger vers votre liste de souhaits d'amazone et j'achèterai quelque chose là-dessus pour vous. Essentiellement, j'ai besoin de savoir comment appeler ce webservice dans un template Joomla en PHP et que le webservice retourne le SessionID.

Répondre

0

il y a un fichier joomla_root\libraries\joomla\user\user.php

Les données de formulaire de connexion vient finalement là. Dans ce fichier, il y a une fonction bind. Je pense que vous devez brancher votre demande de service Web là.

Si cela ne fonctionne pas pour vous, je vous suggère de rejoindre joomla development list. Il y a beaucoup d'experts de joomla là.

+0

Je regarde d'autres avenues pour cela maintenant, mais merci pour l'aide. – user460114