Exemplo n.º 1
0
	$response = $client ->track($request);

    if ($response -> HighestSeverity != 'FAILURE' && $response -> HighestSeverity != 'ERROR'){
		if($response->HighestSeverity != 'SUCCESS'){
			echo '<table border="1">';
			echo '<tr><th>Track Reply</th><th>&nbsp;</th></tr>';
			trackDetails($response->Notifications, '');
			echo '</table>';
		}else{
	    	if ($response->CompletedTrackDetails->HighestSeverity != 'SUCCESS'){
				echo '<table border="1">';
			    echo '<tr><th>Shipment Level Tracking Details</th><th>&nbsp;</th></tr>';
			    trackDetails($response->CompletedTrackDetails, '');
				echo '</table>';
			}else{
				echo '<table border="1">';
			    echo '<tr><th>Package Level Tracking Details</th><th>&nbsp;</th></tr>';
			    trackDetails($response->CompletedTrackDetails->TrackDetails, '');
				echo '</table>';
			}
		}
        printSuccess($client, $response);
    }else{
        printError($client, $response);
    } 
    
    writeToLog($client);    // Write to log file   
} catch (SoapFault $exception) {
    printFault($exception, $client);
}
?>
try 
{
	if(setEndpoint('changeEndpoint'))
	{
		$newLocation = $client->__setLocation(setEndpoint('endpoint'));
	}
	
	$response = $client ->getRates($request);
        
    if ($response -> HighestSeverity != 'FAILURE' && $response -> HighestSeverity != 'ERROR')
    {  	
    	$rateReply = $response -> RateReplyDetails;
    	echo '<table border="1">';
    	echo '<tr><th>Rate Details</th><th>&nbsp;</th></tr>';
        trackDetails($rateReply, '');
		echo '</table>';
       
        printSuccess($client, $response);
    }
    else
    {
        printError($client, $response);
    } 
    
    writeToLog($client);    // Write to log file   

} catch (SoapFault $exception) {
   printFault($exception, $client);        
}
Exemplo n.º 3
0
function trackDetails($details, $spacer)
{
    foreach ($details as $key => $value) {
        if (is_array($value) || is_object($value)) {
            $newSpacer = $spacer . '&nbsp;&nbsp;&nbsp;&nbsp;';
            echo '<tr><td>' . $spacer . $key . '</td><td>&nbsp;</td></tr>';
            trackDetails($value, $newSpacer);
        } elseif (empty($value)) {
            echo '<tr><td>' . $spacer . $key . '</td><td>&nbsp;</td></tr>';
        } else {
            echo '<tr><td>' . $spacer . $key . '</td><td>' . $value . '</td></tr>';
        }
    }
}
 $request['WebAuthenticationDetail'] = array('UserCredential' => array('Key' => getProperty('key'), 'Password' => getProperty('password')));
 $request['ClientDetail'] = array('AccountNumber' => getProperty('shipaccount'), 'MeterNumber' => getProperty('meter'));
 $request['TransactionDetail'] = array('CustomerTransactionId' => '*** Track Request using PHP ***');
 $request['Version'] = array('ServiceId' => 'trck', 'Major' => '10', 'Intermediate' => '0', 'Minor' => '0');
 $request['SelectionDetails'] = array('PackageIdentifier' => array('Type' => 'TRACKING_NUMBER_OR_DOORTAG', 'Value' => $trackNum));
 $request['ProcessingOptions'] = 'INCLUDE_DETAILED_SCANS';
 try {
     if (setEndpoint('changeEndpoint')) {
         $newLocation = $client->__setLocation(setEndpoint('endpoint'));
     }
     $response = $client->track($request);
     if ($response->HighestSeverity != 'FAILURE' && $response->HighestSeverity != 'ERROR') {
         if ($response->HighestSeverity != 'SUCCESS') {
             echo '<table border="1">';
             echo '<tr><th>Track Reply</th><th>&nbsp;</th></tr>';
             trackDetails($response->Notifications, '');
             echo '</table>';
         } else {
             if ($response->CompletedTrackDetails->HighestSeverity != 'SUCCESS') {
                 echo "completedTrackDetails != SUCCESS";
             } else {
                 $responseString = $client->__getLastResponse();
                 $responseString = preg_replace('/<\\/?SOAP-ENV:Body>/', '', $responseString);
                 $xml = simplexml_load_string($responseString);
                 $json = json_encode($xml);
                 $standard = json_decode($json, true);
                 $htmlString = '<p>Tracking Number: ' . $trackNum . '</p>';
                 //The following lines left in place for debugging errors -- uncomment to print response array and investigate
                 //echo '<pre>';
                 //print_r($standard);
                 //echo '</pre>';