Actually you can check / log in using SOAP in app / code / core / local / Envato / Masterapi / etc / api.xml
<?xml version="1.0"?> <config> <api> <resources> <masterapi_loginmodel translate="title" module="masterapi"> <model>masterapi/loginmodel_api</model> <title>Demo Custommoduleapi API</title> <acl>masterapi/loginmodel</acl> <methods> <customerlogin translate="title" module="masterapi"> <title>List of masterapi</title> </customerlogin> </methods> </masterapi_loginmodel> </resources> <resources_alias> <loginmodel>masterapi_loginmodel</loginmodel> </resources_alias> <v2> <resources_function_prefix> <loginmodel>masterapiLoginmodel</loginmodel> </resources_function_prefix> </v2> <acl> <resources> <masterapi translate="title" module="masterapi"> <title>Loginmodel</title> <sort_order>5</sort_order> <loginmodel translate="title" module="masterapi"> <title>loginmodel data</title> </loginmodel> </masterapi> </resources> </acl> </api> </config>
In app / code / core / local / Envato / Masterapi / etc / config.xml
<?xml version="1.0"?> <config> <modules> <Mycustom_Masterapi> <version>1.0</version> </Mycustom_Masterapi> </modules> <global> <models> <masterapi> <class>Mycustom_Masterapi_Model</class> </masterapi> </models> <helpers> <masterapi> <class>Mycustom_Masterapi_Helper</class> </masterapi> </helpers> </global> </config>
In app / code / core / local / Envato / Masterapi / etc / wsdl.xml
<?xml version="1.0" encoding="UTF-8"?> <definitions xmlns:typens="urn:{{var wsdl.name}}" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns="http://schemas.xmlsoap.org/wsdl/" name="{{var wsdl.name}}" targetNamespace="urn:{{var wsdl.name}}"> <types> <schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="urn:Magento"> <import namespace="http://schemas.xmlsoap.org/soap/encoding/" schemaLocation="http://schemas.xmlsoap.org/soap/encoding/" /> <complexType name="fieldInfo"> <sequence> <element name="entity_id" type="xsd:string"/> <element name="name" type="xsd:string"/> </sequence> </complexType> <complexType name="fieldInfoArray"> <complexContent> <restriction base="soapenc:Array"> <attribute ref="soapenc:arrayType" wsdl:arrayType="typens:fieldInfo[]" /> </restriction> </complexContent> </complexType> </schema> </types> <message name="masterapiLoginmodelListRequest"> <part name="sessionId" type="xsd:string" /> <part name="user" type="xsd:string" /> <part name="pass" type="xsd:string" /> </message> <message name="masterapiLoginmodelListResponse"> <part name="customlogin" type="xsd:string" /> </message> <portType name="{{var wsdl.handler}}PortType"> <operation name="masterapiLoginmodelCustomerlogin"> <documentation>List of masterapi</documentation> <input message="typens:masterapiLoginmodelListRequest" /> <output message="typens:masterapiLoginmodelListResponse" /> </operation> </portType> <binding name="{{var wsdl.handler}}Binding" type="typens:{{var wsdl.handler}}PortType"> <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http" /> <operation name="masterapiLoginmodelCustomerlogin"> <soap:operation soapAction="urn:{{var wsdl.handler}}Action" /> <input> <soap:body namespace="urn:{{var wsdl.name}}" use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" /> </input> <output> <soap:body namespace="urn:{{var wsdl.name}}" use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" /> </output> </operation> </binding> <service name="{{var wsdl.name}}Service"> <port name="{{var wsdl.handler}}Port" binding="typens:{{var wsdl.handler}}Binding"> <soap:address location="{{var wsdl.url}}" /> </port> </service> </definitions>
In app / code / local / Mycustom / Masterapi / Model / Loginmodel / Api.php
<?php // app/code/local/Mycustom/Masterapi/Model/Loginmodel/Api.php class Mycustom_Masterapi_Model_Loginmodel_Api { public function customerlogin($user,$pass) { /** @var $session Mage_Customer_Model_Session */ $session = Mage::getSingleton( 'customer/session' ); Mage::app()->getStore()->setWebsiteId(1); try { $session->login( $user, $pass); $customer = $session->getCustomer(); return json_encode(array('status' => 'valid', 'userData' => $customer->getId())); } catch( Exception $e ) { return json_encode(array('status' => 'invalid', 'userData' => $e->getMessage())); } } }
In / app / code / local / Mycustom / Masterapi / Model / Loginmodel / Api / V2.php
<?php //app/code/local/Envato/Customapimodule/Model/Product/Api/V2.php class Mycustom_Masterapi_Model_Loginmodel_Api_V2 extends Mycustom_Masterapi_Model_Loginmodel_Api { }
Towards android: call soap:
properties.put("sessionId", sessionId); properties.put("user", " qbc@fgfg.com "); properties.put("pass","pass"); request = new SoapObject(NAMESPACE, "masterapiLoginmodelCustomerlogin"); env.setOutputSoapObject(request); androidHttpTransport = new HttpTransportSE(URL); androidHttpTransport.call("", env);