2010-12-06 11 views
1

Ich bin ein ColdFusion-Entwickler, aber ich habe eine Joomla-Website (PHP) mit einer Login-Seite übergeben. Die Übermittlung des Anmeldeformulars muss einen Login-Webservice aufrufen.Joomla PHP SOAP Web-Service

Also, ich habe das Joomla-Login-Modul aktiviert und überlege mir, wie man es mit dem Webservice verbinden kann. Ich habe einen Tag damit verbracht, einige Informationen zu finden und ohne Erfolg zu helfen.

Der Login-Webservice gibt SessionID zurück - ein Schlüssel, der zusammen mit anderen Webservice-Aufrufen auf der Website übergeben werden muss. Also, die Anmeldung ist der Ausgangspunkt.

Der Webservice Anfrage und Antwort wie folgt aussehen:

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> 

Im Moment arbeitet das System auf einer ASP-Setup mit DLLs, aber ich bin es auf eine Joomla-Website zu portieren. Ich weiß nicht, wie schwierig das ist. Es ist alles neu für mich. Ich werde jemanden dafür bezahlen, wenn es nötig ist, oder mich auf deine Amazon-Wunschliste hinweisen und ich werde etwas für dich kaufen. Im Wesentlichen muss ich wissen, wie man diesen Webservice in einer Joomla-Vorlage in PHP aufruft und der Webservice die SessionID zurückgibt.

Antwort

0

eine Datei ist joomla_root\libraries\joomla\user\user.php

Die Daten von Login-Formular kommt schließlich da. In dieser Datei befindet sich eine Funktion bind. Ich denke, Sie müssen Ihre Web-Service-Anfrage dort hängen.

Wenn das nicht für Sie funktioniert, empfehle ich Ihnen, joomla development list beizutreten. Dort gibt es viele Joomla-Experten.

+0

Ich sehe jetzt andere Möglichkeiten, aber danke für die Hilfe. – user460114