1

I am trying to create a test pickup request using Estes web services. This particular service requires Basic Authentication using my login credentials. However, I can't seem to figure out how to perform the authentication using PHP and SoapClient. I keep getting the following error:

PHP Fatal error: Uncaught SoapFault exception: [soapenv:Client] [ISS.0088.9164] Access to WSDescriptor estesrtpickup.base.ws.provider.soapws:pickupRequestSSL denied.

My last attempt I tried to pass the credentials into WSDL address, but to no avail. Like so:

$client_pickup = new SoapClient('https://USERNAME:PASSWORD@apitest.estes-express.com/tools/pickup/request/v1.0?wsdl');

Here is my current block of PHP code for the Pickup Webservice:

public static function estesFreightPickupRequest($option) {

    self::$ShipToCity = preg_replace("/[^a-zA-Z0-9\s]/", "", $option->ShipToCity);
    self::$ShipToStateProvinceCode = preg_replace("/[^a-zA-Z0-9\s]/", "", $option->ShipToStateProvinceCode);
    self::$ShipToPostalCode = (string)$option->ShipToPostalCode;
    self::$ShipToPostalCode = substr(trim(self::$ShipToPostalCode), 0, 5);
    self::$ShipToPostalCode = str_pad(self::$ShipToPostalCode, 5, "0", STR_PAD_LEFT);
    self::$ShipToAddressLine = preg_replace("/[^a-zA-Z0-9\s]/", "", $option->ShipToAddressLine);

    $Weight = $option->weight;
    $d = strtotime("tomorrow");
    $request_date =  date("Y-m-d", $d);
    $path_to_wsdl_pickup = "https://apitest.estes-express.com/tools/pickup/request/v1.0?wsdl";

    ini_set("soap.wsdl_cache_enabled", "0");

    $client_pickup = new SoapClient('https://USERNAME:PASSWORD@apitest.estes-express.com/tools/pickup/request/v1.0?wsdl');

    ini_set("soap.wsdl_cache_enabled", "0");

    $header_pickup = new SoapHeader('http://www.estes-express.com/tools/pickup');   

    $client_pickup->__setSoapHeaders($header_pickup);
    //Enter the body data for WSDL
     $request_pickup = array(

        'requestNumber' => date("Y-m-d"),
        'shipper' => array(
            'shipperName' => 'COMPANY NAME',
            'accountCode' => 'ACCOUNT CODE',
            'shipperAddress' => array(
                'addressInfo' => array( 
                    'addressLine1' => '1620 TEST CT',
                    'city' => 'SOMETOWN',
                    'stateProvince' => 'MO',
                    'postalCode' => '65222',
                    'countryAbbrev' => 'US'
                )
            )
        ),
        'requestAction' => 'LL',
        'pickupDate'=> date("Y-m-d"),
        'pickupStartTime' => '1200',
        'pickupEndTime' => '1500',
        'totalPieces' => '1',
        'totalWeight' => '100',
        'totalHandlingUnits' => '1',
        'whoRequested' => 'S'

    );

    try {

        $response_pickup = $client_pickup->createPickupRequestWS($request_pickup);

        //Error log the request and response

        error_log($client->__getLastRequest());
        error_log($client->__getLastResponse());            


        //$rateReply = $response->quoteInfo->quote->pricing->totalPrice;

        //Get the response data

        $result_array = array();
        $result_array['totalPrice'] = $estes_total_rate_amount;


        return $result_array;


    } catch (SoapFault $exception) {
       error_log('ERROR LOG::' . $exception, $client);        
    }
}
dbc
  • 104,963
  • 20
  • 228
  • 340
B. Brown
  • 11
  • 2

0 Answers0