<?php

  require_once 'DCLWebService.php';

  $SESSION_ID = "";

 

  $ws = new DCLWebService();

   

  // Perform login and store session_id

  $arg = new Login();

  $arg->strUser = 'Type Your Username';

  $arg->strPwd = 'Type Your Password';

 

  $LoginResponse = $ws->Login($arg);

  $SESSION_ID = $LoginResponse->LoginResult;

   

  // Login() return a SESSION_ID if success, empty string otherwise

  if (strlen($SESSION_ID) == 0)

  {

    echo "User not authorized.\r\n";

    return;

  }

 

  // -------------------------------------------------------------

  // Sample 'GetRMAStatus2'

    // -------------------------------------------------------------

  $arg = new GetRMAStatus2();

  $arg->SessionID = $SESSION_ID;

  $arg->RMANumber = 'RMA001';

  //var_dump($arg);

 

  $GetRMAStatus2Response = $ws->GetRMAStatus2($arg);

  if ($GetRMAStatus2Response->GetRMAStatus2Result->ResultStatus->Error != 0) {

    // Show the error

    echo $GetRMAStatus2Response->GetRMAStatus2Result->ResultStatus->ErrorStr;

  }

  else {

    $RMA = $GetRMAStatus2Response->GetRMAStatus2Result;

    echo 'Account Number: ' . $RMA->AccountNumber . "\n";

    echo 'RMA Number: ' . $RMA->RMANumber . "\n";

    echo 'RMA Type: ' . $RMA->RMAType . "\n";

    echo 'Issued On: ' . $RMA->IssuedOn . "\n";

    echo 'Cancelled On: ' . $RMA->CancelledOn . "\n";

    echo 'Original Order Number: ' . $RMA->OriginalOrderNumber . "\n";

    if (!is_null($RMA->ReceivedFrom)) {

      echo 'Received From: ' . "\n";

      echo '  Name: ' . $RMA->ReceivedFrom->Name . "\n";

      echo '  Address 1: ' . $RMA->ReceivedFrom->Address1 . "\n";

      echo '  Address 2: ' . $RMA->ReceivedFrom->Address2 . "\n";

      echo '  City: ' . $RMA->ReceivedFrom->City . "\n";

      echo '  State: ' . $RMA->ReceivedFrom->State . "\n";

      echo '  Postal Code: ' . $RMA->ReceivedFrom->PostalCode . "\n";

      echo '  Country: ' . $RMA->ReceivedFrom->Country . "\n";

    }

    $total_items = count($RMA->ReceivedItemArray);

    if ($total_items > 0) {

      echo "Received Items:\n";

      for ($nitem = 0; $nitem < $total_items; $nitem++) {

        $item = $RMA->ReceivedItemArray->RMAReceivedItem[$nitem];

        echo '  Item Number: ' .  $item->ItemNumber . "\n";

        echo '  Quantity: ' .  $item->Quantity . "\n";

        echo '  Serial Number: ' .  $item->SerialNumber . "\n";

        echo '  Received On: ' .  $item->ReceivedOn . "\n";

        echo '  Condition: ' .  $item->Condition . "\n";

        echo '  Disposition: ' .  $item->Disposition . "\n";

      }

    }

    $ReplacementOrder = $RMA->ReplacementOrder;

    if (!is_null($ReplacementOrder)) {

      echo "Replacement Order:\n";

      echo '  Order Number: ' .  $ReplacementOrder->OrderNumber . "\n";

      $total_shipments = count($ReplacementOrder->ShipmentInfoArray);

      if ($total_shipments > 0) {

        echo "  Shipments:\n"; 

        for ($nship = 0; $nship < $total_shipments; $nship++) {

          $shipment = $ReplacementOrder->ShipmentInfoArray->ShipmentInfo[$nship];

          echo '    Ship Date: ' .  $shipment->ShipDate . "\n";

          echo '    Carrier: ' .  $shipment->ShipCarrier . "\n";

          echo '    Service: ' .  $shipment->ShipService . "\n";

          echo '    Tracking Number: ' .  $shipment->TrackingNumber . "\n";

          echo "    Ship To:\n";

          $address = $shipment->ShipTo;

          echo '      Name: ' .  $address->Name . "\n";

          echo '      Company: ' .  $address->Company . "\n";

          echo '      Address 1: ' .  $address->Address1 . "\n";

          echo '      Address 2: ' .  $address->Address2 . "\n";

          echo '      City: ' .  $address->City . "\n";

          echo '      State/Province: ' .  $address->StateProvince . "\n";

          echo '      Postal Code: ' .  $address->PostalCode . "\n";

          echo '      Country: ' .  $address->Country . "\n";

          echo "    Shipped Items:\n";

          $total_shipped_items = count($shipment->ShippedItemArray);

          for ($nitem = 0; $nitem < $total_shipped_items; $nitem++) {

            $shipped_item = $shipment->ShippedItemArray->ShippedItemType01Object[$nitem];

            echo '      Item Number: ' .  $shipped_item->ItemNumber . "\n";

            echo '      Description: ' .  $shipped_item->Description . "\n";

            echo '      Quantity: ' .  $shipped_item->Quantity . "\n";

            $total_serials = count($shipped_item->SerialNumberArray);

            if ($total_serials > 0) {

              echo "      Serial Numbers\n";

              for ($s = 0; $s < $total_serials; $s++) {

                $serial = $shipped_item->SerialNumberArray[$s];

                echo '        Serial Number: ' .  $serial . "\n";

              }

            }

          }

        }

      }

    }

  } 

?>