Sorry for not taking the time to read your long code, but the best approach is usually to use the standard login module, and add your won code in a login handler class, whose method loginUser() will be called automatically by eZ when a user tries to login.
You can take a look at the csv and ldap login handlers that come with eZ for inspiration (the ldap one does the create-ez-user-if-it-does-not-exist-locally thing).
Oh, and you can take a look at ggwebservices extension, too. Since version 0.3 it has nice soap support.
Principal Consultant International Business
Member of the Community Project Board
You must be logged in to post messages in this topic!