org.mule.module.magento.api.DefaultAxisPortProvider.java Source code

Java tutorial

Introduction

Here is the source code for org.mule.module.magento.api.DefaultAxisPortProvider.java

Source

/**
 * Copyright (c) MuleSoft, Inc. All rights reserved. http://www.mulesoft.com
 *
 * The software in this package is published under the terms of the CPAL v1.0
 * license, a copy of which has been included with this distribution in the
 * LICENSE.md file.
 */

package org.mule.module.magento.api;

import com.magento.api.Mage_Api_Model_Server_V2_HandlerPortType;
import com.magento.api.MagentoServiceLocator;
import org.apache.commons.lang.Validate;

import javax.validation.constraints.NotNull;
import javax.xml.rpc.ServiceException;
import java.rmi.RemoteException;

public class DefaultAxisPortProvider implements AxisPortProvider {
    private final String username;
    private final String password;
    private final String address;

    /**
     * Creates the port provider
     * 
     * @param username
     * @param password
     * @param address
     */
    public DefaultAxisPortProvider(@NotNull String username, @NotNull String password, @NotNull String address) {
        Validate.notNull(username);
        Validate.notNull(password);
        Validate.notNull(address);
        this.username = username;
        this.password = password;
        this.address = address;
    }

    public Mage_Api_Model_Server_V2_HandlerPortType getPort() throws RemoteException {
        MagentoServiceLocator serviceLocator = new MagentoServiceLocator();
        serviceLocator.setMage_Api_Model_Server_V2_HandlerPortEndpointAddress(address);
        try {
            return serviceLocator.getMage_Api_Model_Server_V2_HandlerPort();
        } catch (ServiceException e) {
            throw new RemoteException("A Service exception occured while trying to create the port", e);
        }
    }

    /**
     * Need to authenticate before every call
     * 
     * @return Magento session ID
     * @throws Exception
     */
    public String getSessionId() throws RemoteException {
        return getPort().login(username, password);
    }
}