Witajcie,
Próbuję napisać aplikację, która połączy się z Web Servis'em FedEx (taka firma kurierska dla tych, którzy nie kojarzą). Od samego początku był z tym problem gdyż delphi 7, z którego korzystam miało problem nawet z pobraniem WSDL (nie tworzyły się typy) finalnie użyłem delphi 2009 i cała klasa się w delphi wygenerowała. Powiedzmy, że ten etap mam zrobiony. Teraz uzupełniam dane np tak:
procedure TForm1.Button1Click(Sender: TObject);
var
ws : IklService;
l: list;
p: paczka;
pArray: paczki;
begin
p := paczka.Create;
p.typ := 'PC';
p.waga := '20';
p.gab1 := '1';
p.gab2 := '2';
p.gab3 := '3';
p.nrExtPp := '9400000042450';
p.ksztalt :='0';
setLength(pArray,1);
pArray[0] := p;
l := list.Create;
l.nrPrzesylki := '';
l.nrExt := '';
l.formaPlatnosci := 'P';
l.rodzajPrzesylki := 'K';
l.placi := '1';
l.nadawca := kontrahentNadawca.Create;
l.nadawca.numer := '500565871';
l.nadawca.imie := '';
l.nadawca.nazwisko := '';
l.nadawca.nazwa := '';
l.nadawca.telKontakt := '';
l.nadawca.emailKontakt := '';
l.odbiorca := kontrahentOdbiorca.Create;
l.odbiorca.nrExt := '16';
l.odbiorca.nazwa := 'WWO';
l.odbiorca.czyFirma := 'T';
l.odbiorca.miasto := 'KATOWICE';
l.odbiorca.kod := '40-018';
l.odbiorca.ulica := 'Graniczna';
l.odbiorca.nrDom := '33';
l.odbiorca.nrLokal := '25';
l.uslugi := uslugi.Create;
l.uslugi.ubezpieczenie := ubezpieczenie.Create;
l.uslugi.ubezpieczenie.kwotaUbezpieczenia := '5000';
l.uslugi.zwrotDokumentow := '0';
l.uslugi.zwrotKopiListu := '0';
l.uslugi.doreczeniaAdresPrywatny := '0';
l.uslugi.doreczeniaSiecHandlowa := '0';
l.uslugi.potwDostEmail := '0';
l.uslugi.potwNadEmail := '0';
l.uslugi.ud01 := '0';
l.uslugi.ud03 := '0';
l.uslugi.ud04 := '0';
l.paczki := pArray;
ws := GetIklService(false,'',HTTPRIO1);
l := ws.zapiszList('xxxx',l);
end;
xxx to unikalny klucz klienta (mam klucz testowy jeśli ktoś jest zainteresowany pomocą podam go na priv).
No i tutaj po tym etapie mam dwa problemy.
Pierwszy to plik, który generuje mi delphi (XML) różni się nieco od tego, który otrzymałem od FedEx (załączniki fedex_request_new.txt jest prawidłowy ten drugi generuje mi delphi i jest błędne).
Druga sprawa to cały czas dostaję komunikat o błędnym kluczu mimo iż klucz jest poprawny (ten xxx) - jest to potwierdzone przez FedEx.
Problemem prawdopodobnie jest to, że fedex używa innej wersji protokołu SOAP niż delphi 7 jest w stanie obsłużyć. Czy jesteście w stanie powiedzieć mi jak plik poprawny (wygenerowany przez FedEx) mogę wypchnąć do nich przy użyciu zwykłego HTTP.POST?
Finalnie plik w postaci XML będę generował innym mechanizmem i przygotowywanie całej klasy w delphi nie jest mi potrzebne. Potrzebuję jedynie mechanizm, który wypluje to bezpośrednio do FedEx.
Będę wdzięczny za każdą pomoc