// 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()); }
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; }