// Version 12.0.0
require_once '../library/fedex-common.php';
//The WSDL is not included with the sample code.
//Please include and reference in $path_to_wsdl variable.
$path_to_wsdl = "../wsdl/beta/ShipService_v17.wsdl";
ini_set("soap.wsdl_cache_enabled", "0");
$client = new SoapClient($path_to_wsdl, array('trace' => 1));
// Refer to http://us3.php.net/manual/en/ref.soap.php for more information
$request['WebAuthenticationDetail'] = array('ParentCredential' => array('Key' => getProperty('parentkey'), 'Password' => getProperty('parentpassword')), 'UserCredential' => array('Key' => getProperty('key'), 'Password' => getProperty('password')));
$request['ClientDetail'] = array('AccountNumber' => getProperty('shipaccount'), 'MeterNumber' => getProperty('meter'));
$request['TransactionDetail'] = array('CustomerTransactionId' => ' *** Cancel Shipment Request using PHP ***');
$request['Version'] = array('ServiceId' => 'ship', 'Major' => '17', 'Intermediate' => '0', 'Minor' => '0');
$request['ShipTimestamp'] = date('c');
$request['TrackingId'] = array('TrackingIdType' => 'GROUND', 'TrackingNumber' => getProperty('trackingnumber'));
$request['DeletionControl'] = 'DELETE_ONE_PACKAGE';
// Package/Shipment
try {
    if (setEndpoint('changeEndpoint')) {
        $newLocation = $client->__setLocation(setEndpoint('endpoint'));
    }
    $response = $client->deleteShipment($request);
    if ($response->HighestSeverity != 'FAILURE' && $response->HighestSeverity != 'ERROR') {
        printSuccess($client, $response);
    } else {
        printError($client, $response);
    }
    writeToLog($client);
    // Write to log file
} catch (SoapFault $exception) {
    printFault($exception, $client);
}
 /**
  * Sends the DeleteShipmentRequest and returns the response
  *
  * @param ComplexType\DeleteShipmentRequest $deleteShipmentRequest 
  * @return stdClass
  */
 public function getDeleteShipmentReply(ComplexType\DeleteShipmentRequest $deleteShipmentRequest)
 {
     return $this->_soapClient->deleteShipment($deleteShipmentRequest->toArray());
 }
Example #3
0
 function deleteLabel($method = 'FDXE', $tracking_number = '')
 {
     global $db, $messageStack;
     if (!$tracking_number) {
         $messageStack->add('Cannot delete shipment, tracking number was not provided!', 'error');
         return false;
     }
     $result = array();
     if (MODULE_SHIPPING_FEDEX_V7_TEST_MODE == 'Test') {
         $client = new SoapClient(PATH_TO_TEST_SHIP_WSDL, array('trace' => 1));
     } else {
         $client = new SoapClient(PATH_TO_SHIP_WSDL, array('trace' => 1));
     }
     $request = $this->FormatFedExDeleteRequest($method, $tracking_number);
     //echo 'request = '; print_r($request); echo '<br />';
     try {
         $response = $client->deleteShipment($request);
         //echo 'Request <pre>' . htmlspecialchars($client->__getLastRequest()) . '</pre>';
         //echo 'Response <pre>' . htmlspecialchars($client->__getLastResponse()) . '</pre>';
         if ($response->HighestSeverity != 'FAILURE' && $response->HighestSeverity != 'ERROR') {
             $messageStack->add(SHIPPING_FEDEX_V7_DEL_SUCCESS . $tracking_number, 'success');
         } else {
             foreach ($response->Notifications as $notification) {
                 if (is_object($notification)) {
                     $message .= ' (' . $notification->Severity . ') ' . $notification->Message;
                 } else {
                     $message .= ' ' . $notification;
                 }
             }
             $messageStack->add(SHIPPING_FEDEX_V7_DEL_ERROR . $message, 'error');
             return false;
         }
     } catch (SoapFault $exception) {
         //echo 'Request <pre>' . htmlspecialchars($client->__getLastRequest()) . '</pre>';
         //echo 'Response <pre>' . htmlspecialchars($client->__getLastResponse()) . '</pre>';
         $message = " ({$exception->faultcode}) {$exception->faultstring}";
         $messageStack->add(SHIPPING_FEDEX_CURL_ERROR . $message, 'error');
         return false;
     }
     return true;
 }