SOAP kargo bilgi gönderme

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
zynex
Üye
Mesajlar: 87
Kayıt: 02 Nis 2006 02:53
Konum: Çanakkale

SOAP kargo bilgi gönderme

Mesaj gönderen zynex »

kargo firmasının sistemine bilgileri göndermek için aşağıdaki servisi kullanmaya çalışıyorum ama başarılı olamadım yardımcı olursanız sevinirim.
kodum çalıştırırken hata vermiyor fakat butona tıkladığımda program hata veriyor. Nerde Hata Yaptığımı Bulamıyorum. yardımlarınızı bekliyorum.

Kod: Tümünü seç

procedure TForm1.Button2Click(Sender: TObject);
var
  Result        : ArrayOfDispatchResultInfo;
  shippingOrders: ArrayofShippingOrder;
  TempOrders    : ShippingOrder;
begin
  SetLength(shippingOrders, 1);
  TempOrders:= ShippingOrder.Create;
    with TempOrders do
    begin
      UserName         := 'password';
      Password         := 'username';;
      CargoKey         := 'GRM0001';    //irsaliye numarası
    //FInvoiceKey      := '';
      ReceiverCustName := 'Alıcı Kişi'; //alıcı adı
      ReceiverAddress  := '1. Mah. 1. Sok No:1 Lapseki/ ÇANAKKALE'; // adres
      ReceiverPhone1   := '02860000000';   //telefon
    //FReceiverPhone2
    //FReceiverPhone3
      CityName         := 'Çanakkale'; //il
      TownName         := 'Lapseki';  //ilçe
    //FCustProdId      :='';
    //FDesi
    //FKg
    //FCargoCount
    //FWaybillNo
    //FSpecialField1
    //FSpecialField2
    //FSpecialField3
    //FTtInvoiceAmount
    //FTtCollectionType
    //FTtDocumentSaveType
      OrgReceiverCustId := '100'; //müşteri kodu
    //FDescription
    //FTaxNumber
    //FTtDocumentId
    //FTaxOfficeId
    //FOrgGeoCode
    //FPrivilegeOrder
    //FLovPayortypeID
    //FUnitID
    //FDate
    //FAuthorizedPersonName
    //FAuthorizedPersonPhone
    //FAuthorizedPersonMobile
    //FRegionNumber
    //FIsExchangedOrder
     end;
    try

     shippingOrders[0] :=TempOrders;
     Result := Cargo.SetDispatch(shippingOrders, 'username', 'password');

         except on E : Exception do begin
           ShowMessage(E.Message);
             end;
             

Kod: Tümünü seç

// ************************************************************************ //
// The types declared in this file were generated from data read from the
// WSDL File described below:
// WSDL     : http://customerws.araskargo.com.tr/arascargoservice.asmx?wsdl
// Encoding : utf-8
// Version  : 1.0
// (08.01.2016 10:40:55 - 1.33.2.5)
// ************************************************************************ //

unit arascargoservice;

interface

uses InvokeRegistry, SOAPHTTPClient, Types, XSBuiltIns;

type

  // ************************************************************************ //
  // The following types, referred to in the WSDL document are not being represented
  // in this file. They are either aliases[@] of other types represented or were referred
  // to but never[!] declared in the document. The types from the latter category
  // typically map to predefined/known XML or Borland types; however, they could also 
  // indicate incorrect WSDL documents that failed to declare or import a schema type.
  // ************************************************************************ //
  // !:string          - "http://www.w3.org/2001/XMLSchema"
  // !:int             - "http://www.w3.org/2001/XMLSchema"
  // !:decimal         - "http://www.w3.org/2001/XMLSchema"
  // !:Barcodes        - "http://www.w3.org/2001/XMLSchema"
  // !:double          - "http://www.w3.org/2001/XMLSchema"
  // !:long            - "http://www.w3.org/2001/XMLSchema"
  // !:dateTime        - "http://www.w3.org/2001/XMLSchema"
  // !:base64Binary    - "http://www.w3.org/2001/XMLSchema"

  DispatchResultInfo   = class;                 { "http://tempuri.org/" }
  GetUndeliveredCargoSearchResult = class;      { "http://tempuri.org/" }
  GetWaitingCargoListResult = class;            { "http://tempuri.org/" }
  GetDeliveryListResult = class;                { "http://tempuri.org/" }
  GetCargoSendListResult = class;               { "http://tempuri.org/" }
  GetParentUnitAddressResult = class;           { "http://tempuri.org/" }
  GetUnitAddressResult = class;                 { "http://tempuri.org/" }
  GetUnitCardResult    = class;                 { "http://tempuri.org/" }
  GetDurationResult    = class;                 { "http://tempuri.org/" }
  GetDeliveryList2Result = class;               { "http://tempuri.org/" }
  GetCargoPieceListResult = class;              { "http://tempuri.org/" }
  GetPriceCalculationResult = class;            { "http://tempuri.org/" }
  GetServiceListResult = class;                 { "http://tempuri.org/" }
  GetServiceTypeResult = class;                 { "http://tempuri.org/" }
  GetRedirectionListResult = class;             { "http://tempuri.org/" }
  GetBackListResult    = class;                 { "http://tempuri.org/" }
  GetCargoReturnResult = class;                 { "http://tempuri.org/" }
  GetCargoInfoResult   = class;                 { "http://tempuri.org/" }
  GetCityListResult    = class;                 { "http://tempuri.org/" }
  GetTownResult        = class;                 { "http://tempuri.org/" }
  GetUnitResult        = class;                 { "http://tempuri.org/" }
  GetUnitBranchResult  = class;                 { "http://tempuri.org/" }
  GetRegionsResult     = class;                 { "http://tempuri.org/" }
  GetCargoSearchResult = class;                 { "http://tempuri.org/" }
  GetCargoSearchByCodeResult = class;           { "http://tempuri.org/" }
  GetSortedCargoInfoResult = class;             { "http://tempuri.org/" }
  GetCargoTransactionResult = class;            { "http://tempuri.org/" }
  GetCargoTransactionByWaybillIdResult = class;   { "http://tempuri.org/" }
  ShippingOrder        = class;                 { "http://tempuri.org/" }
  PieceDetail          = class;                 { "http://tempuri.org/" }
  OrderInfo            = class;                 { "http://tempuri.org/" }
  OrderResultInfo      = class;                 { "http://tempuri.org/" }
  Piece                = class;                 { "http://tempuri.org/" }
  OrderUpdateDto       = class;                 { "http://tempuri.org/" }
  Order                = class;                 { "http://tempuri.org/" }
  AddressDto           = class;                 { "http://tempuri.org/" }
  AddressResultDto     = class;                 { "http://tempuri.org/" }
  CancelNewDoc         = class;                 { "http://tempuri.org/" }
  DeliveryInfo         = class;                 { "http://tempuri.org/" }
  IncomingCargoInfo    = class;                 { "http://tempuri.org/" }
  CanceledShipmentInfo = class;                 { "http://tempuri.org/" }
  BarcodeResult        = class;                 { "http://tempuri.org/" }
  MeasurementDto       = class;                 { "http://tempuri.org/" }
  CustomerAddress      = class;                 { "http://tempuri.org/" }



  // ************************************************************************ //
  // Namespace : http://tempuri.org/
  // ************************************************************************ //
  DispatchResultInfo = class(TRemotable)
  private
    FResultCode: WideString;
    FResultMessage: WideString;
    FCargoKey: WideString;
  published
    property ResultCode: WideString read FResultCode write FResultCode;
    property ResultMessage: WideString read FResultMessage write FResultMessage;
    property CargoKey: WideString read FCargoKey write FCargoKey;
  end;



  // ************************************************************************ //
  // Namespace : http://tempuri.org/
  // ************************************************************************ //
  GetUndeliveredCargoSearchResult = class(TRemotable)
  private
  published
  end;



  // ************************************************************************ //
  // Namespace : http://tempuri.org/
  // ************************************************************************ //
  GetWaitingCargoListResult = class(TRemotable)
  private
  published
  end;



  // ************************************************************************ //
  // Namespace : http://tempuri.org/
  // ************************************************************************ //
  GetDeliveryListResult = class(TRemotable)
  private
  published
  end;



  // ************************************************************************ //
  // Namespace : http://tempuri.org/
  // ************************************************************************ //
  GetCargoSendListResult = class(TRemotable)
  private
  published
  end;



  // ************************************************************************ //
  // Namespace : http://tempuri.org/
  // ************************************************************************ //
  GetParentUnitAddressResult = class(TRemotable)
  private
  published
  end;



  // ************************************************************************ //
  // Namespace : http://tempuri.org/
  // ************************************************************************ //
  GetUnitAddressResult = class(TRemotable)
  private
  published
  end;



  // ************************************************************************ //
  // Namespace : http://tempuri.org/
  // ************************************************************************ //
  GetUnitCardResult = class(TRemotable)
  private
  published
  end;



  // ************************************************************************ //
  // Namespace : http://tempuri.org/
  // ************************************************************************ //
  GetDurationResult = class(TRemotable)
  private
  published
  end;



  // ************************************************************************ //
  // Namespace : http://tempuri.org/
  // ************************************************************************ //
  GetDeliveryList2Result = class(TRemotable)
  private
  published
  end;



  // ************************************************************************ //
  // Namespace : http://tempuri.org/
  // ************************************************************************ //
  GetCargoPieceListResult = class(TRemotable)
  private
  published
  end;



  // ************************************************************************ //
  // Namespace : http://tempuri.org/
  // ************************************************************************ //
  GetPriceCalculationResult = class(TRemotable)
  private
  published
  end;



  // ************************************************************************ //
  // Namespace : http://tempuri.org/
  // ************************************************************************ //
  GetServiceListResult = class(TRemotable)
  private
  published
  end;



  // ************************************************************************ //
  // Namespace : http://tempuri.org/
  // ************************************************************************ //
  GetServiceTypeResult = class(TRemotable)
  private
  published
  end;



  // ************************************************************************ //
  // Namespace : http://tempuri.org/
  // ************************************************************************ //
  GetRedirectionListResult = class(TRemotable)
  private
  published
  end;



  // ************************************************************************ //
  // Namespace : http://tempuri.org/
  // ************************************************************************ //
  GetBackListResult = class(TRemotable)
  private
  published
  end;



  // ************************************************************************ //
  // Namespace : http://tempuri.org/
  // ************************************************************************ //
  GetCargoReturnResult = class(TRemotable)
  private
  published
  end;



  // ************************************************************************ //
  // Namespace : http://tempuri.org/
  // ************************************************************************ //
  GetCargoInfoResult = class(TRemotable)
  private
  published
  end;



  // ************************************************************************ //
  // Namespace : http://tempuri.org/
  // ************************************************************************ //
  GetCityListResult = class(TRemotable)
  private
  published
  end;



  // ************************************************************************ //
  // Namespace : http://tempuri.org/
  // ************************************************************************ //
  GetTownResult = class(TRemotable)
  private
  published
  end;



  // ************************************************************************ //
  // Namespace : http://tempuri.org/
  // ************************************************************************ //
  GetUnitResult = class(TRemotable)
  private
  published
  end;



  // ************************************************************************ //
  // Namespace : http://tempuri.org/
  // ************************************************************************ //
  GetUnitBranchResult = class(TRemotable)
  private
  published
  end;



  // ************************************************************************ //
  // Namespace : http://tempuri.org/
  // ************************************************************************ //
  GetRegionsResult = class(TRemotable)
  private
  published
  end;



  // ************************************************************************ //
  // Namespace : http://tempuri.org/
  // ************************************************************************ //
  GetCargoSearchResult = class(TRemotable)
  private
  published
  end;



  // ************************************************************************ //
  // Namespace : http://tempuri.org/
  // ************************************************************************ //
  GetCargoSearchByCodeResult = class(TRemotable)
  private
  published
  end;



  // ************************************************************************ //
  // Namespace : http://tempuri.org/
  // ************************************************************************ //
  GetSortedCargoInfoResult = class(TRemotable)
  private
  published
  end;



  // ************************************************************************ //
  // Namespace : http://tempuri.org/
  // ************************************************************************ //
  GetCargoTransactionResult = class(TRemotable)
  private
  published
  end;



  // ************************************************************************ //
  // Namespace : http://tempuri.org/
  // ************************************************************************ //
  GetCargoTransactionByWaybillIdResult = class(TRemotable)
  private
  published
  end;



  // ************************************************************************ //
  // Namespace : http://tempuri.org/
  // ************************************************************************ //
  ShippingOrder = class(TRemotable)
  private
    FUserName: WideString;
    FPassword: WideString;
    FCargoKey: WideString;
    FInvoiceKey: WideString;
    FReceiverCustName: WideString;
    FReceiverAddress: WideString;
    FReceiverPhone1: WideString;
    FReceiverPhone2: WideString;
    FReceiverPhone3: WideString;
    FCityName: WideString;
    FTownName: WideString;
    FCustProdId: WideString;
    FDesi: Double;
    FKg: Double;
    FCargoCount: Integer;
    FWaybillNo: WideString;
    FSpecialField1: WideString;
    FSpecialField2: WideString;
    FSpecialField3: WideString;
    FTtInvoiceAmount: Double;
    FTtCollectionType: WideString;
    FTtDocumentSaveType: WideString;
    FOrgReceiverCustId: WideString;
    FDescription: WideString;
    FTaxNumber: WideString;
    FTtDocumentId: Int64;
    FTaxOfficeId: Int64;
    FOrgGeoCode: WideString;
    FPrivilegeOrder: WideString;
    FLovPayortypeID: TXSDecimal;
    FUnitID: TXSDecimal;
    FDate: TXSDateTime;
    FAuthorizedPersonName: WideString;
    FAuthorizedPersonPhone: WideString;
    FAuthorizedPersonMobile: WideString;
    FRegionNumber: WideString;
    FIsExchangedOrder: Integer;
  public
    destructor Destroy; override;
  published
    property UserName: WideString read FUserName write FUserName;
    property Password: WideString read FPassword write FPassword;
    property CargoKey: WideString read FCargoKey write FCargoKey;
    property InvoiceKey: WideString read FInvoiceKey write FInvoiceKey;
    property ReceiverCustName: WideString read FReceiverCustName write FReceiverCustName;
    property ReceiverAddress: WideString read FReceiverAddress write FReceiverAddress;
    property ReceiverPhone1: WideString read FReceiverPhone1 write FReceiverPhone1;
    property ReceiverPhone2: WideString read FReceiverPhone2 write FReceiverPhone2;
    property ReceiverPhone3: WideString read FReceiverPhone3 write FReceiverPhone3;
    property CityName: WideString read FCityName write FCityName;
    property TownName: WideString read FTownName write FTownName;
    property CustProdId: WideString read FCustProdId write FCustProdId;
    property Desi: Double read FDesi write FDesi;
    property Kg: Double read FKg write FKg;
    property CargoCount: Integer read FCargoCount write FCargoCount;
    property WaybillNo: WideString read FWaybillNo write FWaybillNo;
    property SpecialField1: WideString read FSpecialField1 write FSpecialField1;
    property SpecialField2: WideString read FSpecialField2 write FSpecialField2;
    property SpecialField3: WideString read FSpecialField3 write FSpecialField3;
    property TtInvoiceAmount: Double read FTtInvoiceAmount write FTtInvoiceAmount;
    property TtCollectionType: WideString read FTtCollectionType write FTtCollectionType;
    property TtDocumentSaveType: WideString read FTtDocumentSaveType write FTtDocumentSaveType;
    property OrgReceiverCustId: WideString read FOrgReceiverCustId write FOrgReceiverCustId;
    property Description: WideString read FDescription write FDescription;
    property TaxNumber: WideString read FTaxNumber write FTaxNumber;
    property TtDocumentId: Int64 read FTtDocumentId write FTtDocumentId;
    property TaxOfficeId: Int64 read FTaxOfficeId write FTaxOfficeId;
    property OrgGeoCode: WideString read FOrgGeoCode write FOrgGeoCode;
    property PrivilegeOrder: WideString read FPrivilegeOrder write FPrivilegeOrder;
    property LovPayortypeID: TXSDecimal read FLovPayortypeID write FLovPayortypeID;
    property UnitID: TXSDecimal read FUnitID write FUnitID;
    property Date: TXSDateTime read FDate write FDate;
    property AuthorizedPersonName: WideString read FAuthorizedPersonName write FAuthorizedPersonName;
    property AuthorizedPersonPhone: WideString read FAuthorizedPersonPhone write FAuthorizedPersonPhone;
    property AuthorizedPersonMobile: WideString read FAuthorizedPersonMobile write FAuthorizedPersonMobile;
    property RegionNumber: WideString read FRegionNumber write FRegionNumber;
    property IsExchangedOrder: Integer read FIsExchangedOrder write FIsExchangedOrder;
  end;

  ArrayOfShippingOrder = array of ShippingOrder;   { "http://tempuri.org/" }
  ArrayOfDispatchResultInfo = array of DispatchResultInfo;   { "http://tempuri.org/" }


  // ************************************************************************ //
  // Namespace : http://tempuri.org/
  // ************************************************************************ //
  PieceDetail = class(TRemotable)
  private
    FVolumetricWeight: WideString;
    FWeight: WideString;
    FBarcodeNumber: WideString;
    FProductNumber: WideString;
    FDescription: WideString;
  published
    property VolumetricWeight: WideString read FVolumetricWeight write FVolumetricWeight;
    property Weight: WideString read FWeight write FWeight;
    property BarcodeNumber: WideString read FBarcodeNumber write FBarcodeNumber;
    property ProductNumber: WideString read FProductNumber write FProductNumber;
    property Description: WideString read FDescription write FDescription;
  end;

  ArrayOfPieceDetail = array of PieceDetail;    { "http://tempuri.org/" }


  // ************************************************************************ //
  // Namespace : http://tempuri.org/
  // ************************************************************************ //
  OrderInfo = class(TRemotable)
  private
    FUserName: WideString;
    FPassword: WideString;
    FCargoKey: WideString;
    FInvoiceKey: WideString;
    FReceiverCustName: WideString;
    FReceiverAddress: WideString;
    FReceiverPhone1: WideString;
    FReceiverPhone2: WideString;
    FReceiverPhone3: WideString;
    FCityName: WideString;
    FTownName: WideString;
    FCustProdId: WideString;
    FDesi: WideString;
    FKg: WideString;
    FCargoCount: WideString;
    FWaybillNo: WideString;
    FSpecialField1: WideString;
    FSpecialField2: WideString;
    FSpecialField3: WideString;
    FTtInvoiceAmount: WideString;
    FTtCollectionType: WideString;
    FTtDocumentSaveType: WideString;
    FOrgReceiverCustId: WideString;
    FDescription: WideString;
    FTaxNumber: WideString;
    FTtDocumentId: WideString;
    FTaxOfficeId: WideString;
    FOrgGeoCode: WideString;
    FPrivilegeOrder: WideString;
    FCountry: WideString;
    FCountryCode: WideString;
    FCityCode: WideString;
    FTownCode: WideString;
    FDistrict: WideString;
    FQuarter: WideString;
    FAvenue: WideString;
    FStreet: WideString;
    FLovPayortypeID: WideString;
    FWorldWide: WideString;
    FCustomerCollection: WideString;
    FAddressVersionID: WideString;
    FUnitID: WideString;
    FPieceDetails: ArrayOfPieceDetail;
  public
    destructor Destroy; override;
  published
    property UserName: WideString read FUserName write FUserName;
    property Password: WideString read FPassword write FPassword;
    property CargoKey: WideString read FCargoKey write FCargoKey;
    property InvoiceKey: WideString read FInvoiceKey write FInvoiceKey;
    property ReceiverCustName: WideString read FReceiverCustName write FReceiverCustName;
    property ReceiverAddress: WideString read FReceiverAddress write FReceiverAddress;
    property ReceiverPhone1: WideString read FReceiverPhone1 write FReceiverPhone1;
    property ReceiverPhone2: WideString read FReceiverPhone2 write FReceiverPhone2;
    property ReceiverPhone3: WideString read FReceiverPhone3 write FReceiverPhone3;
    property CityName: WideString read FCityName write FCityName;
    property TownName: WideString read FTownName write FTownName;
    property CustProdId: WideString read FCustProdId write FCustProdId;
    property Desi: WideString read FDesi write FDesi;
    property Kg: WideString read FKg write FKg;
    property CargoCount: WideString read FCargoCount write FCargoCount;
    property WaybillNo: WideString read FWaybillNo write FWaybillNo;
    property SpecialField1: WideString read FSpecialField1 write FSpecialField1;
    property SpecialField2: WideString read FSpecialField2 write FSpecialField2;
    property SpecialField3: WideString read FSpecialField3 write FSpecialField3;
    property TtInvoiceAmount: WideString read FTtInvoiceAmount write FTtInvoiceAmount;
    property TtCollectionType: WideString read FTtCollectionType write FTtCollectionType;
    property TtDocumentSaveType: WideString read FTtDocumentSaveType write FTtDocumentSaveType;
    property OrgReceiverCustId: WideString read FOrgReceiverCustId write FOrgReceiverCustId;
    property Description: WideString read FDescription write FDescription;
    property TaxNumber: WideString read FTaxNumber write FTaxNumber;
    property TtDocumentId: WideString read FTtDocumentId write FTtDocumentId;
    property TaxOfficeId: WideString read FTaxOfficeId write FTaxOfficeId;
    property OrgGeoCode: WideString read FOrgGeoCode write FOrgGeoCode;
    property PrivilegeOrder: WideString read FPrivilegeOrder write FPrivilegeOrder;
    property Country: WideString read FCountry write FCountry;
    property CountryCode: WideString read FCountryCode write FCountryCode;
    property CityCode: WideString read FCityCode write FCityCode;
    property TownCode: WideString read FTownCode write FTownCode;
    property District: WideString read FDistrict write FDistrict;
    property Quarter: WideString read FQuarter write FQuarter;
    property Avenue: WideString read FAvenue write FAvenue;
    property Street: WideString read FStreet write FStreet;
    property LovPayortypeID: WideString read FLovPayortypeID write FLovPayortypeID;
    property WorldWide: WideString read FWorldWide write FWorldWide;
    property CustomerCollection: WideString read FCustomerCollection write FCustomerCollection;
    property AddressVersionID: WideString read FAddressVersionID write FAddressVersionID;
    property UnitID: WideString read FUnitID write FUnitID;
    property PieceDetails: ArrayOfPieceDetail read FPieceDetails write FPieceDetails;
  end;

  ArrayOfOrderInfo = array of OrderInfo;        { "http://tempuri.org/" }


  // ************************************************************************ //
  // Namespace : http://tempuri.org/
  // ************************************************************************ //
  OrderResultInfo = class(TRemotable)
  private
    FResultCode: WideString;
    FResultMessage: WideString;
    FInvoiceKey: WideString;
    FOrgReceiverCustId: WideString;
  published
    property ResultCode: WideString read FResultCode write FResultCode;
    property ResultMessage: WideString read FResultMessage write FResultMessage;
    property InvoiceKey: WideString read FInvoiceKey write FInvoiceKey;
    property OrgReceiverCustId: WideString read FOrgReceiverCustId write FOrgReceiverCustId;
  end;

  ArrayOfOrderResultInfo = array of OrderResultInfo;   { "http://tempuri.org/" }


  // ************************************************************************ //
  // Namespace : http://tempuri.org/
  // ************************************************************************ //
  Piece = class(TRemotable)
  private
    FVolumetricWeight: WideString;
    FWeight: WideString;
    FBarcodeNumber: WideString;
    FProductNumber: WideString;
    FDescription: WideString;
    FIntegrationCode: WideString;
    FTotalPieceCount: WideString;
  published
    property VolumetricWeight: WideString read FVolumetricWeight write FVolumetricWeight;
    property Weight: WideString read FWeight write FWeight;
    property BarcodeNumber: WideString read FBarcodeNumber write FBarcodeNumber;
    property ProductNumber: WideString read FProductNumber write FProductNumber;
    property Description: WideString read FDescription write FDescription;
    property IntegrationCode: WideString read FIntegrationCode write FIntegrationCode;
    property TotalPieceCount: WideString read FTotalPieceCount write FTotalPieceCount;
  end;



  // ************************************************************************ //
  // Namespace : http://tempuri.org/
  // ************************************************************************ //
  OrderUpdateDto = class(TRemotable)
  private
    FUserName: WideString;
    FPassword: WideString;
    FIntegrationCode: WideString;
    FTradingWaybillNumber: WideString;
    FInvoiceNumber: WideString;
  published
    property UserName: WideString read FUserName write FUserName;
    property Password: WideString read FPassword write FPassword;
    property IntegrationCode: WideString read FIntegrationCode write FIntegrationCode;
    property TradingWaybillNumber: WideString read FTradingWaybillNumber write FTradingWaybillNumber;
    property InvoiceNumber: WideString read FInvoiceNumber write FInvoiceNumber;
  end;



  // ************************************************************************ //
  // Namespace : http://tempuri.org/
  // ************************************************************************ //
  Order = class(TRemotable)
  private
    FUserName: WideString;
    FPassword: WideString;
    FTradingWaybillNumber: WideString;
    FInvoiceNumber: WideString;
    FReceiverName: WideString;
    FReceiverAddress: WideString;
    FReceiverPhone1: WideString;
    FReceiverPhone2: WideString;
    FReceiverPhone3: WideString;
    FReceiverCityName: WideString;
    FReceiverTownName: WideString;
    FVolumetricWeight: WideString;
    FWeight: WideString;
    FPieceCount: WideString;
    FSpecialField1: WideString;
    FSpecialField2: WideString;
    FSpecialField3: WideString;
    FCodAmount: WideString;
    FCodCollectionType: WideString;
    FCodBillingType: WideString;
    FIntegrationCode: WideString;
    FDescription: WideString;
    FTaxNumber: WideString;
    FTtDocumentId: WideString;
    FTaxOffice: WideString;
    FPrivilegeOrder: WideString;
    FCountry: WideString;
    FCountryCode: WideString;
    FCityCode: WideString;
    FTownCode: WideString;
    FReceiverDistrictName: WideString;
    FReceiverQuarterName: WideString;
    FReceiverAvenueName: WideString;
    FReceiverStreetName: WideString;
    FPayorTypeCode: WideString;
    FIsWorldWide: WideString;
    FIsCod: WideString;
    FUnitID: WideString;
    FPieceDetails: ArrayOfPieceDetail;
    FSenderAccountAddressId: WideString;
  public
    destructor Destroy; override;
  published
    property UserName: WideString read FUserName write FUserName;
    property Password: WideString read FPassword write FPassword;
    property TradingWaybillNumber: WideString read FTradingWaybillNumber write FTradingWaybillNumber;
    property InvoiceNumber: WideString read FInvoiceNumber write FInvoiceNumber;
    property ReceiverName: WideString read FReceiverName write FReceiverName;
    property ReceiverAddress: WideString read FReceiverAddress write FReceiverAddress;
    property ReceiverPhone1: WideString read FReceiverPhone1 write FReceiverPhone1;
    property ReceiverPhone2: WideString read FReceiverPhone2 write FReceiverPhone2;
    property ReceiverPhone3: WideString read FReceiverPhone3 write FReceiverPhone3;
    property ReceiverCityName: WideString read FReceiverCityName write FReceiverCityName;
    property ReceiverTownName: WideString read FReceiverTownName write FReceiverTownName;
    property VolumetricWeight: WideString read FVolumetricWeight write FVolumetricWeight;
    property Weight: WideString read FWeight write FWeight;
    property PieceCount: WideString read FPieceCount write FPieceCount;
    property SpecialField1: WideString read FSpecialField1 write FSpecialField1;
    property SpecialField2: WideString read FSpecialField2 write FSpecialField2;
    property SpecialField3: WideString read FSpecialField3 write FSpecialField3;
    property CodAmount: WideString read FCodAmount write FCodAmount;
    property CodCollectionType: WideString read FCodCollectionType write FCodCollectionType;
    property CodBillingType: WideString read FCodBillingType write FCodBillingType;
    property IntegrationCode: WideString read FIntegrationCode write FIntegrationCode;
    property Description: WideString read FDescription write FDescription;
    property TaxNumber: WideString read FTaxNumber write FTaxNumber;
    property TtDocumentId: WideString read FTtDocumentId write FTtDocumentId;
    property TaxOffice: WideString read FTaxOffice write FTaxOffice;
    property PrivilegeOrder: WideString read FPrivilegeOrder write FPrivilegeOrder;
    property Country: WideString read FCountry write FCountry;
    property CountryCode: WideString read FCountryCode write FCountryCode;
    property CityCode: WideString read FCityCode write FCityCode;
    property TownCode: WideString read FTownCode write FTownCode;
    property ReceiverDistrictName: WideString read FReceiverDistrictName write FReceiverDistrictName;
    property ReceiverQuarterName: WideString read FReceiverQuarterName write FReceiverQuarterName;
    property ReceiverAvenueName: WideString read FReceiverAvenueName write FReceiverAvenueName;
    property ReceiverStreetName: WideString read FReceiverStreetName write FReceiverStreetName;
    property PayorTypeCode: WideString read FPayorTypeCode write FPayorTypeCode;
    property IsWorldWide: WideString read FIsWorldWide write FIsWorldWide;
    property IsCod: WideString read FIsCod write FIsCod;
    property UnitID: WideString read FUnitID write FUnitID;
    property PieceDetails: ArrayOfPieceDetail read FPieceDetails write FPieceDetails;
    property SenderAccountAddressId: WideString read FSenderAccountAddressId write FSenderAccountAddressId;
  end;

  ArrayOfOrder = array of Order;                { "http://tempuri.org/" }


  // ************************************************************************ //
  // Namespace : http://tempuri.org/
  // ************************************************************************ //
  AddressDto = class(TRemotable)
  private
    FReceiverName: WideString;
    FReceiverAddress: WideString;
    FReceiverPhone1: WideString;
    FReceiverPhone2: WideString;
    FReceiverPhone3: WideString;
    FReceiverCityName: WideString;
    FReceiverTownName: WideString;
    FAddressId: WideString;
    FCountry: WideString;
    FCountryCode: WideString;
    FCityCode: WideString;
    FTownCode: WideString;
    FReceiverDistrictName: WideString;
    FReceiverQuarterName: WideString;
    FReceiverAvenueName: WideString;
    FReceiverStreetName: WideString;
  published
    property ReceiverName: WideString read FReceiverName write FReceiverName;
    property ReceiverAddress: WideString read FReceiverAddress write FReceiverAddress;
    property ReceiverPhone1: WideString read FReceiverPhone1 write FReceiverPhone1;
    property ReceiverPhone2: WideString read FReceiverPhone2 write FReceiverPhone2;
    property ReceiverPhone3: WideString read FReceiverPhone3 write FReceiverPhone3;
    property ReceiverCityName: WideString read FReceiverCityName write FReceiverCityName;
    property ReceiverTownName: WideString read FReceiverTownName write FReceiverTownName;
    property AddressId: WideString read FAddressId write FAddressId;
    property Country: WideString read FCountry write FCountry;
    property CountryCode: WideString read FCountryCode write FCountryCode;
    property CityCode: WideString read FCityCode write FCityCode;
    property TownCode: WideString read FTownCode write FTownCode;
    property ReceiverDistrictName: WideString read FReceiverDistrictName write FReceiverDistrictName;
    property ReceiverQuarterName: WideString read FReceiverQuarterName write FReceiverQuarterName;
    property ReceiverAvenueName: WideString read FReceiverAvenueName write FReceiverAvenueName;
    property ReceiverStreetName: WideString read FReceiverStreetName write FReceiverStreetName;
  end;

  ArrayOfAddressDto = array of AddressDto;      { "http://tempuri.org/" }


  // ************************************************************************ //
  // Namespace : http://tempuri.org/
  // ************************************************************************ //
  AddressResultDto = class(TRemotable)
  private
    FResultCode: WideString;
    FResultMessage: WideString;
    FAddressId: WideString;
  published
    property ResultCode: WideString read FResultCode write FResultCode;
    property ResultMessage: WideString read FResultMessage write FResultMessage;
    property AddressId: WideString read FAddressId write FAddressId;
  end;

  ArrayOfAddressResultDto = array of AddressResultDto;   { "http://tempuri.org/" }
  ArrayOfString = array of WideString;          { "http://tempuri.org/" }


  // ************************************************************************ //
  // Namespace : http://tempuri.org/
  // ************************************************************************ //
  CancelNewDoc = class(TRemotable)
  private
    FOrgCustID: WideString;
    FOrgDocNumber: WideString;
    FOrgInvNumber: WideString;
    FDocID: WideString;
    FDocNumber: WideString;
    FDepartureUnitID: WideString;
    FDepartureUnitName: WideString;
    FDocumentDate: WideString;
    FDocumentTime: WideString;
    FInvCustID: WideString;
    FARASScannerNo: WideString;
    FTotalPriceVat: Double;
    FTotalPrice: Double;
    FTotalCargo: Integer;
    FTotalDesiKg: Double;
    FArrivalUnitName: WideString;
    FEstimatedDeliveryTime: WideString;
    FDeliveryAddressStatus: WideString;
  published
    property OrgCustID: WideString read FOrgCustID write FOrgCustID;
    property OrgDocNumber: WideString read FOrgDocNumber write FOrgDocNumber;
    property OrgInvNumber: WideString read FOrgInvNumber write FOrgInvNumber;
    property DocID: WideString read FDocID write FDocID;
    property DocNumber: WideString read FDocNumber write FDocNumber;
    property DepartureUnitID: WideString read FDepartureUnitID write FDepartureUnitID;
    property DepartureUnitName: WideString read FDepartureUnitName write FDepartureUnitName;
    property DocumentDate: WideString read FDocumentDate write FDocumentDate;
    property DocumentTime: WideString read FDocumentTime write FDocumentTime;
    property InvCustID: WideString read FInvCustID write FInvCustID;
    property ARASScannerNo: WideString read FARASScannerNo write FARASScannerNo;
    property TotalPriceVat: Double read FTotalPriceVat write FTotalPriceVat;
    property TotalPrice: Double read FTotalPrice write FTotalPrice;
    property TotalCargo: Integer read FTotalCargo write FTotalCargo;
    property TotalDesiKg: Double read FTotalDesiKg write FTotalDesiKg;
    property ArrivalUnitName: WideString read FArrivalUnitName write FArrivalUnitName;
    property EstimatedDeliveryTime: WideString read FEstimatedDeliveryTime write FEstimatedDeliveryTime;
    property DeliveryAddressStatus: WideString read FDeliveryAddressStatus write FDeliveryAddressStatus;
  end;

  ArrayOfCancelNewDoc = array of CancelNewDoc;   { "http://tempuri.org/" }


  // ************************************************************************ //
  // Namespace : http://tempuri.org/
  // ************************************************************************ //
  DeliveryInfo = class(TRemotable)
  private
    FOrgDocNumber: WideString;
    FDocID: WideString;
    FDeliveryUnitName: WideString;
    FArrivalDate: WideString;
    FDeliveryDate: WideString;
    FDeliveryTime: WideString;
    FDeliveryAddress: WideString;
    FDeliveryPerson: WideString;
    FDeliveryAddressStatus: WideString;
    FDeliveryStatus: WideString;
    FStatusFlag: WideString;
    FLastWarehouseDate: WideString;
    FWarehouseDescription: WideString;
    FWarehouseReason: WideString;
    FAtzDateTime: WideString;
    FDeliverySmsCreate: WideString;
    FDeliverySmsSend: WideString;
    FNotDeliveredSmsCreate: WideString;
    FNotDeliveredSmsSend: WideString;
    FNotDeliveredReason: WideString;
    FCallDate: WideString;
    FCallDesc: WideString;
    FCallResult: WideString;
  published
    property OrgDocNumber: WideString read FOrgDocNumber write FOrgDocNumber;
    property DocID: WideString read FDocID write FDocID;
    property DeliveryUnitName: WideString read FDeliveryUnitName write FDeliveryUnitName;
    property ArrivalDate: WideString read FArrivalDate write FArrivalDate;
    property DeliveryDate: WideString read FDeliveryDate write FDeliveryDate;
    property DeliveryTime: WideString read FDeliveryTime write FDeliveryTime;
    property DeliveryAddress: WideString read FDeliveryAddress write FDeliveryAddress;
    property DeliveryPerson: WideString read FDeliveryPerson write FDeliveryPerson;
    property DeliveryAddressStatus: WideString read FDeliveryAddressStatus write FDeliveryAddressStatus;
    property DeliveryStatus: WideString read FDeliveryStatus write FDeliveryStatus;
    property StatusFlag: WideString read FStatusFlag write FStatusFlag;
    property LastWarehouseDate: WideString read FLastWarehouseDate write FLastWarehouseDate;
    property WarehouseDescription: WideString read FWarehouseDescription write FWarehouseDescription;
    property WarehouseReason: WideString read FWarehouseReason write FWarehouseReason;
    property AtzDateTime: WideString read FAtzDateTime write FAtzDateTime;
    property DeliverySmsCreate: WideString read FDeliverySmsCreate write FDeliverySmsCreate;
    property DeliverySmsSend: WideString read FDeliverySmsSend write FDeliverySmsSend;
    property NotDeliveredSmsCreate: WideString read FNotDeliveredSmsCreate write FNotDeliveredSmsCreate;
    property NotDeliveredSmsSend: WideString read FNotDeliveredSmsSend write FNotDeliveredSmsSend;
    property NotDeliveredReason: WideString read FNotDeliveredReason write FNotDeliveredReason;
    property CallDate: WideString read FCallDate write FCallDate;
    property CallDesc: WideString read FCallDesc write FCallDesc;
    property CallResult: WideString read FCallResult write FCallResult;
  end;

  ArrayOfDeliveryInfo = array of DeliveryInfo;   { "http://tempuri.org/" }


  // ************************************************************************ //
  // Namespace : http://tempuri.org/
  // ************************************************************************ //
  IncomingCargoInfo = class(TRemotable)
  private
    FDocCargoID: WideString;
    FDocID: WideString;
    FDocNumber: WideString;
    FCargoType: WideString;
    FDepartureUnitID: Integer;
    FDepartureUnitName: WideString;
    FDocumentDate: WideString;
    FDocumentTime: WideString;
    FDeliveryUnitID: Integer;
    FDeliveryUnitName: WideString;
    FDeliveryDate: WideString;
    FDeliveryTime: WideString;
    FDeliveryPerson: WideString;
    FTotalDesiKg: Double;
    FTotalCargo: Integer;
    FTotalPrice: Double;
    FTotalVat: Double;
    FTotalPriceVat: Double;
    FOrgReceiverCustID: WideString;
    FSenderCustID: WideString;
    FSenderCustName: WideString;
    FSenderCustAddress: WideString;
    FPaymentType: WideString;
    FCustName: WideString;
  published
    property DocCargoID: WideString read FDocCargoID write FDocCargoID;
    property DocID: WideString read FDocID write FDocID;
    property DocNumber: WideString read FDocNumber write FDocNumber;
    property CargoType: WideString read FCargoType write FCargoType;
    property DepartureUnitID: Integer read FDepartureUnitID write FDepartureUnitID;
    property DepartureUnitName: WideString read FDepartureUnitName write FDepartureUnitName;
    property DocumentDate: WideString read FDocumentDate write FDocumentDate;
    property DocumentTime: WideString read FDocumentTime write FDocumentTime;
    property DeliveryUnitID: Integer read FDeliveryUnitID write FDeliveryUnitID;
    property DeliveryUnitName: WideString read FDeliveryUnitName write FDeliveryUnitName;
    property DeliveryDate: WideString read FDeliveryDate write FDeliveryDate;
    property DeliveryTime: WideString read FDeliveryTime write FDeliveryTime;
    property DeliveryPerson: WideString read FDeliveryPerson write FDeliveryPerson;
    property TotalDesiKg: Double read FTotalDesiKg write FTotalDesiKg;
    property TotalCargo: Integer read FTotalCargo write FTotalCargo;
    property TotalPrice: Double read FTotalPrice write FTotalPrice;
    property TotalVat: Double read FTotalVat write FTotalVat;
    property TotalPriceVat: Double read FTotalPriceVat write FTotalPriceVat;
    property OrgReceiverCustID: WideString read FOrgReceiverCustID write FOrgReceiverCustID;
    property SenderCustID: WideString read FSenderCustID write FSenderCustID;
    property SenderCustName: WideString read FSenderCustName write FSenderCustName;
    property SenderCustAddress: WideString read FSenderCustAddress write FSenderCustAddress;
    property PaymentType: WideString read FPaymentType write FPaymentType;
    property CustName: WideString read FCustName write FCustName;
  end;

  ArrayOfIncomingCargoInfo = array of IncomingCargoInfo;   { "http://tempuri.org/" }


  // ************************************************************************ //
  // Namespace : http://tempuri.org/
  // ************************************************************************ //
  CanceledShipmentInfo = class(TRemotable)
  private
    FSuccessFlag: WideString;
    FOperationCode: WideString;
    FLastOperationDate: WideString;
    FLastOperationTime: WideString;
    FCargoKey: WideString;
    FInvoiceKey: WideString;
    FOperationMessage: WideString;
    FCanceledDescription: WideString;
  published
    property SuccessFlag: WideString read FSuccessFlag write FSuccessFlag;
    property OperationCode: WideString read FOperationCode write FOperationCode;
    property LastOperationDate: WideString read FLastOperationDate write FLastOperationDate;
    property LastOperationTime: WideString read FLastOperationTime write FLastOperationTime;
    property CargoKey: WideString read FCargoKey write FCargoKey;
    property InvoiceKey: WideString read FInvoiceKey write FInvoiceKey;
    property OperationMessage: WideString read FOperationMessage write FOperationMessage;
    property CanceledDescription: WideString read FCanceledDescription write FCanceledDescription;
  end;

  ArrayOfCanceledShipmentInfo = array of CanceledShipmentInfo;   { "http://tempuri.org/" }
  ArrayOfBase64Binary = array of TByteDynArray;   { "http://tempuri.org/" }


  // ************************************************************************ //
  // Namespace : http://tempuri.org/
  // ************************************************************************ //
  BarcodeResult = class(TRemotable)
  private
    FImages: ArrayOfBase64Binary;
    FZebraZpl: ArrayOfString;
    FZebraEpl: ArrayOfString;
    FMessage: WideString;
    FResultCode: Integer;
  published
    property Images: ArrayOfBase64Binary read FImages write FImages;
    property ZebraZpl: ArrayOfString read FZebraZpl write FZebraZpl;
    property ZebraEpl: ArrayOfString read FZebraEpl write FZebraEpl;
    property Message: WideString read FMessage write FMessage;
    property ResultCode: Integer read FResultCode write FResultCode;
  end;



  // ************************************************************************ //
  // Namespace : http://tempuri.org/
  // ************************************************************************ //
  MeasurementDto = class(TRemotable)
  private
    FWidth: TXSDecimal;
    FHeight: TXSDecimal;
    FLength: TXSDecimal;
    FVolume: TXSDecimal;
    FWeight: TXSDecimal;
    FVolumentricWeight: TXSDecimal;
  public
    destructor Destroy; override;
  published
    property Width: TXSDecimal read FWidth write FWidth;
    property Height: TXSDecimal read FHeight write FHeight;
    property Length: TXSDecimal read FLength write FLength;
    property Volume: TXSDecimal read FVolume write FVolume;
    property Weight: TXSDecimal read FWeight write FWeight;
    property VolumentricWeight: TXSDecimal read FVolumentricWeight write FVolumentricWeight;
  end;



  // ************************************************************************ //
  // Namespace : http://tempuri.org/
  // ************************************************************************ //
  CustomerAddress = class(TRemotable)
  private
    FAdres: WideString;
    FSube: WideString;
    FBolge: WideString;
    FOlusturmaTarihi: TXSDateTime;
    FAddressId: WideString;
  public
    destructor Destroy; override;
  published
    property Adres: WideString read FAdres write FAdres;
    property Sube: WideString read FSube write FSube;
    property Bolge: WideString read FBolge write FBolge;
    property OlusturmaTarihi: TXSDateTime read FOlusturmaTarihi write FOlusturmaTarihi;
    property AddressId: WideString read FAddressId write FAddressId;
  end;

  ArrayOfCustomerAddress = array of CustomerAddress;   { "http://tempuri.org/" }

  // ************************************************************************ //
  // Namespace : http://tempuri.org/
  // soapAction: http://tempuri.org/%operationName%
  // transport : http://schemas.xmlsoap.org/soap/http
  // binding   : ServiceSoap
  // service   : Service
  // port      : ServiceSoap
  // URL       : http://customerws.araskargo.com.tr/arascargoservice.asmx
  // ************************************************************************ //
  ServiceSoap = interface(IInvokable)
  ['{77573149-9C57-FA51-F11F-EFD527C91BD9}']
    function  SetCargoLineInfo(const username: WideString; const password: WideString; const unitcode: Integer; const tti_barcode: WideString; const barcode: WideString; const integration_code: WideString; const contents_description: WideString; const refcode1: WideString; const refcode2: WideString): WideString; stdcall;
    function  CancelCargoLineInfo(const username: WideString; const password: WideString; const barcode: WideString): WideString; stdcall;
    function  GetUndeliveredCargoSearch(const username: WideString; const password: WideString; const integrationCode: WideString): GetUndeliveredCargoSearchResult; stdcall;
    function  GetWaitingCargoList(const username: WideString; const password: WideString; const customerCode: WideString): GetWaitingCargoListResult; stdcall;
    function  GetDeliveryList(const username: WideString; const password: WideString; const customerCode: WideString; const tarih: WideString): GetDeliveryListResult; stdcall;
    function  GetCargoSendList(const username: WideString; const password: WideString; const customerCode: WideString; const tarih: WideString): GetCargoSendListResult; stdcall;
    function  GetParentUnitAddress(const username: WideString; const password: WideString): GetParentUnitAddressResult; stdcall;
    function  GetUnitAddress(const username: WideString; const password: WideString; const sube: WideString; const il: WideString; const ilce: WideString): GetUnitAddressResult; stdcall;
    function  GetUnitCard(const username: WideString; const password: WideString): GetUnitCardResult; stdcall;
    function  GetDuration(const username: WideString; const password: WideString; const gonderici_ilkodu: WideString; const alici_ilkodu: WideString): GetDurationResult; stdcall;
    function  GetDeliveryList2(const username: WideString; const password: WideString; const customerCode: WideString; const testarih: WideString): GetDeliveryList2Result; stdcall;
    function  GetCargoPieceList(const username: WideString; const password: WideString; const customerCode: WideString; const tarih: WideString): GetCargoPieceListResult; stdcall;
    function  GetPriceCalculation(const username: WideString; const password: WideString; const desi: TXSDecimal; const gonderici_ilkodu: WideString; const alici_ilkodu: WideString; const serviceid: WideString; const ekserviceid: WideString; const ek1serviceid: WideString; const ek2serviceid: WideString; const ek3serviceid: WideString; 
                                  const ek4serviceid: WideString; const ek5serviceid: WideString; const ek6serviceid: WideString; const ek7serviceid: WideString): GetPriceCalculationResult; stdcall;
    function  GetServiceList(const username: WideString; const password: WideString): GetServiceListResult; stdcall;
    function  GetServiceType(const username: WideString; const password: WideString; const service: TXSDecimal): GetServiceTypeResult; stdcall;
    function  GetRedirectionList(const username: WideString; const password: WideString; const customerCode: WideString; const tarih: WideString): GetRedirectionListResult; stdcall;
    function  GetBackList(const username: WideString; const password: WideString; const customerCode: WideString; const tarih: WideString): GetBackListResult; stdcall;
    function  GetCargoReturn(const username: WideString; const password: WideString; const customerCode: WideString; const ukod: Integer; const integrationCode: WideString): GetCargoReturnResult; stdcall;
    function  GetCargoInfo(const username: WideString; const password: WideString; const customerCode: WideString; const integrationCode: WideString): GetCargoInfoResult; stdcall;
    function  GetCityList(const username: WideString; const password: WideString): GetCityListResult; stdcall;
    function  GetTown(const username: WideString; const password: WideString; const il: WideString): GetTownResult; stdcall;
    function  GetUnit(const username: WideString; const password: WideString): GetUnitResult; stdcall;
    function  GetUnitBranch(const username: WideString; const password: WideString): GetUnitBranchResult; stdcall;
    function  GetRegions(const username: WideString; const password: WideString): GetRegionsResult; stdcall;
    function  GetCargoSearch(const username: WideString; const password: WideString; const seri: WideString; const document_no: WideString; const ref_code: WideString): GetCargoSearchResult; stdcall;
    function  GetCargoSearchByCode(const username: WideString; const password: WideString; const code: WideString): GetCargoSearchByCodeResult; stdcall;
    function  GetSortedCargoInfo(const username: WideString; const password: WideString; const barcode: WideString): GetSortedCargoInfoResult; stdcall;
    function  SetSortedBag(const username: WideString; const password: WideString; const TargetUnitID: Integer; const BagBarcode: WideString; const pDateTime: WideString; const ProcessType: WideString; const operatorID: Integer; const ReadPieceCount: Integer; const Barcodes: WideString): WideString; stdcall;
    function  SetSortedBag2(const username: WideString; const password: WideString; const TargetUnitID: Integer; const ShutID: Integer; const ShutName: WideString; const pDateTime: WideString; const ProcessType: WideString; const operatorID: Integer; const ReadPieceCount: Integer; const BagBarcode: WideString; 
                            const Barcodes: WideString): WideString; stdcall;
    function  SetSortedBag3(const username: WideString; const password: WideString; const TargetUnitID: Integer; const ShutID: Integer; const ShutName: WideString; const pDateTime: WideString; const ProcessType: WideString; const operatorID: Integer; const ReadPieceCount: Integer; const BagBarcode: WideString; 
                            const Barcodes: WideString): WideString; stdcall;
    function  GetCargoTransaction(const username: WideString; const password: WideString; const code: WideString; const integrationCode: WideString): GetCargoTransactionResult; stdcall;
    function  GetCargoTransactionByWaybillId(const username: WideString; const password: WideString; const waybillId: WideString): GetCargoTransactionByWaybillIdResult; stdcall;
    function  SetDispatchXML(const shippingOrders: ArrayOfShippingOrder; const userName: WideString; const password: WideString): WideString; stdcall;
    function  CancelDispatch(const userName: WideString; const password: WideString; const integrationCode: WideString): DispatchResultInfo; stdcall;
    function  SetDispatch(const shippingOrders: ArrayOfShippingOrder; const userName: WideString; const password: WideString): ArrayOfDispatchResultInfo; stdcall;
    function  SetDispatch2(const orderInfo: ArrayOfOrderInfo; const userName: WideString; const password: WideString): ArrayOfOrderResultInfo; stdcall;
    function  SetOrderPiece(const piece: Piece; const userName: WideString; const password: WideString): OrderResultInfo; stdcall;
    function  UpdateInvoiceWaybillNumber(const orderUpdateDto: OrderUpdateDto): OrderResultInfo; stdcall;
    function  SetOrder(const orderInfo: ArrayOfOrder; const userName: WideString; const password: WideString): ArrayOfOrderResultInfo; stdcall;
    function  SetAddress(const addressDtoList: ArrayOfAddressDto; const userName: WideString; const password: WideString): ArrayOfAddressResultDto; stdcall;
    function  GetDispatch(const userName: WideString; const password: WideString; const Date: WideString): ArrayOfShippingOrder; stdcall;
    function  GetOrder(const userName: WideString; const password: WideString; const Date: WideString): ArrayOfOrder; stdcall;
    function  GetDispatchWithIntegrationCode(const userName: WideString; const password: WideString; const integrationCode: WideString): ArrayOfShippingOrder; stdcall;
    function  GetOrderWithIntegrationCode(const userName: WideString; const password: WideString; const integrationCode: WideString): ArrayOfOrder; stdcall;
    function  GetCancelNewDoc(const userName: WideString; const password: WideString; const language: WideString; const actionType: WideString; const recordCount: WideString; const departureID: ArrayOfString): ArrayOfCancelNewDoc; stdcall;
    function  GetDeliveryInfo(const userName: WideString; const password: WideString; const language: WideString; const recordCount: WideString): ArrayOfDeliveryInfo; stdcall;
    function  GetMissingNewDoc(const userName: WideString; const password: WideString; const language: WideString; const keyValue: ArrayOfString): ArrayOfCancelNewDoc; stdcall;
    function  GetDeliveryInfodocID(const userName: WideString; const password: WideString; const language: WideString; const docID: ArrayOfString): ArrayOfDeliveryInfo; stdcall;
    function  GetIncomingCargoInfoBarcode(const userName: WideString; const password: WideString; const language: WideString; const unitID: WideString; const docID: ArrayOfString): ArrayOfIncomingCargoInfo; stdcall;
    function  SetCanceledShipment(const userName: WideString; const password: WideString; const language: WideString; const cargoKey: ArrayOfString; const canceledDescription: WideString): ArrayOfCanceledShipmentInfo; stdcall;
    function  GetBarcode(const Username: WideString; const Password: WideString; const integrationCode: WideString): BarcodeResult; stdcall;
    procedure SetMeasurementSimulation(const username: WideString; const password: WideString; const measurementDto: MeasurementDto); stdcall;
    function  GetAddressList(const userName: WideString; const password: WideString): ArrayOfCustomerAddress; stdcall;
  end;

function GetServiceSoap(UseWSDL: Boolean=System.False; Addr: string=''; HTTPRIO: THTTPRIO = nil): ServiceSoap;


implementation

function GetServiceSoap(UseWSDL: Boolean; Addr: string; HTTPRIO: THTTPRIO): ServiceSoap;
const
  defWSDL = 'http://customerws.araskargo.com.tr/arascargoservice.asmx?wsdl';
  defURL  = 'http://customerws.araskargo.com.tr/arascargoservice.asmx';
  defSvc  = 'Service';
  defPrt  = 'ServiceSoap';
var
  RIO: THTTPRIO;
begin
  Result := nil;
  if (Addr = '') then
  begin
    if UseWSDL then
      Addr := defWSDL
    else
      Addr := defURL;
  end;
  if HTTPRIO = nil then
    RIO := THTTPRIO.Create(nil)
  else
    RIO := HTTPRIO;
  try
    Result := (RIO as ServiceSoap);
    if UseWSDL then
    begin
      RIO.WSDLLocation := Addr;
      RIO.Service := defSvc;
      RIO.Port := defPrt;
    end else
      RIO.URL := Addr;
  finally
    if (Result = nil) and (HTTPRIO = nil) then
      RIO.Free;
  end;
end;

....
end.
Kullanıcı avatarı
vkamadan
Kıdemli Üye
Mesajlar: 1935
Kayıt: 17 Mar 2004 03:52
Konum: Adapazarı
İletişim:

Re: SOAP kargo bilgi gönderme

Mesaj gönderen vkamadan »

Merhaba ,
servisin interface ini oluşturtmadığınız görüyorum ,
var bölüme servis : ServiceSoap; şeklinde bir değişken daha ekleyin ve
Result := Cargo.SetDispatch(shippingOrders, 'username', 'password'); satırınızdan hemen önce

Kod: Tümünü seç

servis:= GetServiceSoap(False,'',nil);
ekleyin ve son olarak
Result := Cargo.SetDispatch(shippingOrders, 'username', 'password'); satırınızı aşağıdaki gibi değiştirin

Kod: Tümünü seç

Result := servis.SetDispatch(shippingOrders, 'username', 'password');
kolay gelsin.
Volkan KAMADAN
www.polisoft.com.tr
Kullanıcı avatarı
zynex
Üye
Mesajlar: 87
Kayıt: 02 Nis 2006 02:53
Konum: Çanakkale

Re: SOAP kargo bilgi gönderme

Mesaj gönderen zynex »

Abi cevabınız için teşekkür ederim. Bende private bölümünde Cargo: ServiceSoap ; olarak tanımlamışım.
fakat

Kod: Tümünü seç

Cargo:= GetServiceSoap(False,'',nil);
şeklinde yapınca diğer hatadan kurtuldum. fakat kullanıcı adı ve şifre bilgilerimi doğru yazmama rağmen aşağıdaki hatayı alıyorum biraz araştırdım ama delphi tarafında çözüme ulaşan olmamış galiba yardımlarınızı bekliyorum.

Kod: Tümünü seç

Server was unable to process request ---> Kullanıcı Adı Yada Şifreniz yanlış.
Kullanıcı avatarı
zynex
Üye
Mesajlar: 87
Kayıt: 02 Nis 2006 02:53
Konum: Çanakkale

Re: SOAP kargo bilgi gönderme

Mesaj gönderen zynex »

Biraz daha araştırma yaptım ve formumun on create olayına

Kod: Tümünü seç

InvRegistry.RegisterInvokeOptions(TypeInfo(ServiceSoap), ioDocument);
bu kodu ekledim artık hata dönmüyor fakat

Kod: Tümünü seç

 Result        : ArrayOfDispatchResultInfo;
sonuç bu değişken tipinde ben dönen sonucu nasıl görüntüleyeceğimi anlayamadım. herkese teşekkürler.
Kullanıcı avatarı
zynex
Üye
Mesajlar: 87
Kayıt: 02 Nis 2006 02:53
Konum: Çanakkale

Re: SOAP kargo bilgi gönderme

Mesaj gönderen zynex »

Sorunumu Çözdüm İhtiyacı olan olursa diye şöyle şuraya iliştireyim @vkamadan teşekkürler
enektar kelimeleride yazalımda google amca indexler :)
Aras Kargo Soap SetDispatch Metodu Delphi Örneği

Kod: Tümünü seç

//  http://customerws.araskargo.com.tr/arascargoservice.asmx?WSDL

uses arascargoservice, InvokeRegistry ;

procedure TForm1.Button1Click(Sender: TObject);
var
  Result        : ArrayOfDispatchResultInfo;
  shippingOrders: ArrayofShippingOrder;
  TempOrders    : ShippingOrder;
  cargo         : ServiceSoap;
  I             : Integer;
begin
  SetLength(shippingOrders, 1);
  TempOrders:= ShippingOrder.Create;
    with TempOrders do
    begin
      UserName         := 'username';
      Password         := 'password';;
      CargoKey         := 'GRM0001';    //irsaliye numarası
    //FInvoiceKey      := '';
      ReceiverCustName := 'Alıcı Kişi'; //alıcı adı
      ReceiverAddress  := '1. Mah. 1. Sok No:1 Biga/ ÇANAKKALE'; // adres
      ReceiverPhone1   := '02860000000';   //telefon
    //FReceiverPhone2
    //FReceiverPhone3
      CityName         := 'Çanakkale'; //il
      TownName         := 'Biga';  //ilçe
    //FCustProdId      :='';
    //FDesi
    //FKg
    //FCargoCount
    //FWaybillNo
    //FSpecialField1
    //FSpecialField2
    //FSpecialField3
    //FTtInvoiceAmount
    //FTtCollectionType
    //FTtDocumentSaveType
      OrgReceiverCustId := '100'; //müşteri kodu
    //FDescription
    //FTaxNumber
    //FTtDocumentId
    //FTaxOfficeId
    //FOrgGeoCode
    //FPrivilegeOrder
    //FLovPayortypeID
    //FUnitID
    //FDate
    //FAuthorizedPersonName
    //FAuthorizedPersonPhone
    //FAuthorizedPersonMobile
    //FRegionNumber
    //FIsExchangedOrder
     end;
     cargo:= GetServiceSoap(False,'',nil);
     shippingOrders[0] :=TempOrders;
     Result := Cargo.SetDispatch(shippingOrders, 'username', 'password');
      for I:= 0 to Length(Result) - 1 do
      Listbox1.Items.Append(Result[I].ResultCode  + Result[I].ResultMessage + Result[I].CargoKey);

end;
procedure TForm1.FormCreate(Sender: TObject);
begin
InvRegistry.RegisterInvokeOptions(TypeInfo(ServiceSoap), ioDocument);

end;
osiso
Üye
Mesajlar: 46
Kayıt: 02 Eki 2007 05:56
Konum: İSTANBUL
İletişim:

Re: SOAP kargo bilgi gönderme

Mesaj gönderen osiso »

http://customerservicestest.araskargo.c ... rvice.asmx

adresindeki SetAddress metoduna veri göndermek istiyorum kullanıcı adı neodyum kullanıcı şifresi nd2580

yazdığım kod

Kod: Tümünü seç

function TForm1.setadress():String;       //setadress
var
Servis : ServiceSoap;
sa:AddressDto;     //sa set adress
AdresList:ArrayOfAddressDto;
AResult :ArrayOfAddressResultDto;
TResult: AddressResultDto;
begin
  sa:=AddressDto.Create;
  sa.ReceiverName:='Özkan EROL';      //alıcı adı zorunlu
  sa.ReceiverAddress:='Cumhuriyet Mah. Erata Cad. No:105 D:173';    //alıcı adresi zorunlu
  sa.ReceiverPhone1:='5427802884';     //telefon zorunlu
  sa.ReceiverCityName:='İSTANBUL';    //İl-Şehir Adı zorunlu
  sa.ReceiverTownName:='AVCILAR';     //ilçe adı zorunlu

  SetLength(AdresList,1);
  AdresList[0]:=sa;

  Servis:= GetServiceSoap(False,'',nil);
  AResult := Servis.SetAddress(AdresList, 'neodyum', 'nd2580');

 Result := '';
 if Length(AResult) > 0 then Result := AResult[0].ResultMessage;
end;

aldığım hata görüntüsü ektedir.



ARAS KARGO SEVKİYAT ENTEGRASYONU
WEB SERVİS DÖKÜMANI

Tanım Bilgisi

Aras Kargo kurumsal müşterilerinin gönderilerine ait alıcı ve alıcı adres bilgilerini Aras Kargo’ya online olarak iletmesi adına hazırlanmış bir web servis metodudur.
Aras Kargo sistemi ve şube personeli gelen kayıtlara ait adreslerin Varış Merkezilerini belirler.

Servis Linkleri:

Test Link:
http://customerservicestest.araskargo.c ... rvice.asmx
Kullanılacak Metod İsmi : SetAddress
Servis Parametreleri

Servise ait giriş parametreleri aşağıdaki tabloda belirtilmiştir.

Kargonun alıcısına ait bilgilerinin gönderildiği metottur.
Kargoya ait Varış Merkezi Belireme İşleminin yapılması için gereken bilgilerin gönderilmesi adına kullanılmaktadır.


İSİM TİPİ AÇIKLAMA ZORUNLU
UserName String Web Servis Kullanıcı Adınız Evet
Password String Web Servis Kullanıcı Şifreniz Evet
AddressId String(32) Gönderi Sevk Adres Kodu Hayır
ReceiverName String(200) Alıcı Adı Evet
ReceiverAddress String(250) Alıcı Adresi (String şeklinde toplu adres bilgisi) Evet
ReceiverPhone1 String(10) Telefon-1 Evet
ReceiverPhone2 String(10) Telefon-2 Hayır
ReceiverPhone3 String(10) Telefon-3 Hayır
ReceiverCityName String(40) İl-Şehir Adı Evet
ReceiverTownName String(10) İlçe Adı Evet
CityCode String(32) İl Kodu Hayır
TownCode String(32) İlçe Kodu Hayır
ReceiverDistrictName String(64) Semt Hayır
ReceiverQuarterName String(64) Mahalle Hayır
ReceiverAvenueName String(64) Cadde Hayır
ReceiverStreetName String(64) Sokak Hayır


Servis Sonuç Kodları ;

0 Başarılı
935 ReceiverPhone1 alanı boş olmaz
936 Güncelleme hatası
938 Alıcı Adresini Girmeniz Gerekmektedir
939 Alıcı Adını Girmeniz Gerekmektedir
940 Şehir Adını Girmeniz Gerekmektedir
941 İlçe Adını Girmeniz Gerekmektedir
1000 Kullanıcı Adı ve Şifreniz Yanlıştır
1001 Entegrasyon bilgileriniz güncellenirken bir hata oluşmuştur. Müşteri Temsilcinizle görüşünüz
1002 Aras Şube Bilginiz Tanımlı Değildir. Müşteri Temsilcinizle görüşünüz
70018 ReceiverAddress alanı en fazla 250 karakter olabilir
Dosya ekleri
aras hata set adress.jpg
aras hata set adress.jpg (1.69 KiB) 1877 kere görüntülendi
Vurulup Tertemiz Alnından uzanmış Yatıyor
Bir Hilal Uğruna Ya Rab, Ne Güneşler Batıyor!
osiso
Üye
Mesajlar: 46
Kayıt: 02 Eki 2007 05:56
Konum: İSTANBUL
İletişim:

Re: SOAP kargo bilgi gönderme

Mesaj gönderen osiso »

Kod: Tümünü seç

procedure TForm1.Button7Click(Sender: TObject);       //setadrsess

var
data:AddressDto;
AdresList:ArrayOfAddressDto;
soapbaglanti:ServiceSoap;
AResult :ArrayOfAddressResultDto;
ladres:string;
Uid: TGuid;
Result: HResult;
begin
  try

  data:=AddressDto.Create;
  ladres:='http://customerservicestest.araskargo.com.tr/arascargoservice/arascargoservice.asmx?wsdl';
  soapbaglanti := GetServiceSoap(false,ladres,nil);
  data.ReceiverName:='Özkan EROL';
  data.ReceiverAddress:='Cumhuriyet Mah. Erata Cad. No:105 D:173';
  data.ReceiverPhone1:='5427802884';
  data.ReceiverCityName:='İstanbul';
  data.ReceiverTownName:='Beylikdüzü';
  Result:=CreateGuid(Uid);
  data.ImportCargoInfoId:=GuidToString(Uid);
  SetLength(AdresList,1);
  AdresList[0]:=data;
  AResult:=soapbaglanti.SetAddress(AdresList,'neodyum','nd2580');
  if Length(AResult) > 0 then Memo1.lines.add(AResult[0].ResultMessage);
  finally

  end;

end;
bu şekilde çözüldü inşallah faydasını gören olur.
Vurulup Tertemiz Alnından uzanmış Yatıyor
Bir Hilal Uğruna Ya Rab, Ne Güneşler Batıyor!
Cevapla