%PDF- %PDF-
| Direktori : /home1/lightco1/www/plugins/vmcalculation/avalara/classes/ |
| Current File : //home1/lightco1/www/plugins/vmcalculation/avalara/classes/AddressServiceSoap.class.php |
<?php
/**
* AddressServiceSoap.class.php
*/
/**
* Proxy interface for the Avalara Address Web Service.
*
* AddressServiceSoap reads its configuration values from static variables defined
* in ATConfig.class.php. This file must be properly configured with your security credentials.
*
* <p>
* <b>Example:</b>
* <pre>
* $addressService = new AddressServiceSoap();
* </pre>
*
* @author Avalara
* @copyright � 2004 - 2011 Avalara, Inc. All rights reserved.
* @package Address
*
*/
if(!class_exists('AvalaraSoapClient')) require (VMAVALARA_CLASS_PATH.DS.'AvalaraSoapClient.class.php');
class AddressServiceSoap extends AvalaraSoapClient
{
static private $servicePath = '/Address/AddressSvc.asmx';
static protected $classmap = array(
'Validate' => 'Validate',
'BaseRequest' => 'BaseRequest',
'ValidateRequest' => 'ValidateRequest',
'BaseAddress' => 'BaseAddress',
'ValidAddress' => 'ValidAddress',
'TextCase' => 'TextCase',
'ValidateResult' => 'ValidateResult',
'BaseResult' => 'BaseResult',
'SeverityLevel' => 'SeverityLevel',
'Message' => 'Message',
'Profile' => 'Profile',
'Ping' => 'Ping',
'PingResult' => 'PingResult',
'IsAuthorized' => 'IsAuthorized',
'IsAuthorizedResult' => 'IsAuthorizedResult');
/**
* Construct a proxy for Avalara's Address Web Service using the default URL as coded in the class or programatically set.
*
* <b>Example:</b>
* <pre>
* $port = new AddressServiceSoap();
* $port->ping();
* </pre>
*
* @see AvalaraSoapClient
* @see TaxServiceSoap
*/
public function __construct($configurationName = 'Default')
{
$config = new ATConfig($configurationName);
if(!class_exists('DynamicSoapClient')) require (VMAVALARA_CLASS_PATH.DS.'DynamicSoapClient.class.php');
$this->client = new DynamicSoapClient (
$config->addressWSDL,
array
(
'location' => $config->url.$config->addressService,
'trace' => $config->trace,
'classmap' => AddressServiceSoap::$classmap
),
$config
);
}
/**
* Checks authentication of and authorization to one or more
* operations on the service.
*
* This operation allows pre-authorization checking of any
* or all operations. It will return a comma delimited set of
* operation names which will be all or a subset of the requested
* operation names. For security, it will never return operation
* names other than those requested (no phishing allowed).
*
* <b>Example:</b><br>
* <code> isAuthorized("GetTax,PostTax")</code>
*
* @param string $operations a comma-delimited list of operation names
*
* @return IsAuthorizedResult
* @throws SoapFault
*/
public function isAuthorized($operations)
{
return $this->client->IsAuthorized(array('Operations' => $operations))->IsAuthorizedResult;
}
/**
* Verifies connectivity to the web service and returns version
* information about the service.
*
* <b>NOTE:</b>This replaces TestConnection and is available on
* every service.
*
* @param string $message for future use
* @return PingResult
* @throws SoapFault
*/
public function ping($message = '')
{
return $this->client->Ping(array('Message' => $message))->PingResult;
}
/**
* Validates an address and returns a normalized address or error.
* {@link ValidAddress} objects in a {@link ValidateResult} object.
*
* Takes an {@link Address}, an optional {@link TextCase}
* property that determines the casing applied to a validated
* address. It defaults to TextCase::$Default.
* <b>Example:</b><br>
* <pre>
* $port = new AddressServiceSoap();
*
* $address = new Address();
* $address->setLine1("900 Winslow Way");
* $address->setLine2("Suite 130");
* $address->setCity("Bainbridge Is");
* $address->setRegion("WA");
* $address->setPostalCode("98110-2450");
*
* $result = $port->validate(new ValidateRequest($address,TextCase::$Upper));
* </pre>
*
* @param ValidateRequest
* @return ValidateResult
*
* @throws SoapFault
*/
public function validate($validateRequest)
{
return $this->client->Validate(array('ValidateRequest' => $validateRequest))->ValidateResult;
}
}
?>