VB.NET - integracja z systemem Sendit

1

Witam serdecznie,

Mam do wykonania integrację z systemem SenditAPI. Po krótce o co chodzi - mam swoją bazę sklepu i chcę przesłać dane klienta (z tej bazy) do wysyłki (czyli właśnie do systemu SenditAPI). Robił może ktoś coś podobnego?

To co mam na dzień dzisiejszy to połączenie z bazą MySQL tego sklepu i dodanie referencji do SenditAPI poprzez web services. No i teraz stoję w miejscu bo kompletnie nie wiem co dalej. Nigdy jeszcze takiego czegoś nie robiłem więc piszę z prośbą o pomoc tutaj na forum.

Pozdrawiam serdecznie!

2

czyli masz już 90% kodu ;]. Teraz pod jakimś tam klikiem pobierasz dane klienta z bazy przepisujesz je do obiektu z referencji do serwisu i wywołujesz metodę w obiekcie - proxy do serwisu teraz mi się nie chce podpinać pod ten konkretny serwis żeby nazwy klas i metod ci napisać ale może jutro.

1

Wielkie dzięki za odpowiedź! :)

Napotkałem na problem przy logowaniu się do SenditAPI (w środowisku Sandbox). A mianowicie gdy wywołuję metodę SIUserLogin napotykam błąd o treści: "Połączenie podstawowe zostało zakończone: Wystąpił nieoczekiwany błąd przy odbiorze."

Niestety takiego błędu nie ma w dokumentacji Sendita. Klucz API, login i hasło (zakodowane) są prawidłowe. Nie mam pojęcia co może oznaczać ten błąd i jak go rozwiązać.

Pozdrawiam!

EDIT:
Postępowałem zgodnie z http://stackoverflow.com/questions/21728773/the-underlying-connection-was-closed-an-unexpected-error-occurred-on-a-receiv lecz dalej to samo.

3

Ten błąd wskazuje na problem z:

  1. konfiguracją - sprawdź czy w web/app.configu znajdują się wpisy określające z jakim adresem i jakim protokołem masz się łączyć. Jeżeli referencję do ww serwisu dodałeś w projekcie class library to mógł zostać utworzony app.config w tym właśnie projekcie. I odpowiednie wpisy należy przenieść do głównego web/app.configa, pamiętaj żeby na czas developmentu łączyć się do wersji "sandbox"
  2. problem sieciowy - Jakiś firewall cię nie dopuszcza do API.
  3. problem z samą usługą - WSDL się u mnie wyświetla więc raczej mało prawdopodobne
1

Rzeczywiście. Błąd był w adresie z którym ma się łączyć w pliku app.config :) Zamiast https było http i to się okazało problemem. Tylko kolejny błąd informuje o tym że klucz API wygasł, no ale to już muszę poinformować mojego szefa u którego mam praktyki i w ramach których robię tę funkcjonalność.

Dzięki wielkie! :) Jak będą jeszcze jakieś niejasności to na pewno się Ciebie poradzę.

1

Nie rozumiem czegoś. A mianowicie:

Wywołuję sobie dla próby metodkę SIPackCategory() która na podstawie podanych wymiarów zwraca strukturę category (w niej znajduje się przede wszystkim nazwa operatora i kategoria paczki). I chcę te dane przechwycić pod zmienną.

A więc tworzę zmienną typu tej struktury:

Dim kategoria As New SenditAPI.categoryPack

A następnie próbuję przypisać do tej zmiennej zwracaną przez metodę strukturę:

kategoria = x.SIPackCategory(apiKey, UserHash, 40, 30, 30, 10, "PL", "pl").category

I otrzymuję taki komunikat: Value of type '1-dimensional array of BazyPolaczenia.SenditAPI.categoryPack' cannot be converted to 'BazyPolaczenia.SenditAPI.categoryPack'.

Nie rozumiem dlaczego, bo przecież zgodnie z dokumentacją zwracane wartości są takie same więc nie powinno być błędu :/

EDIT: Jednak doczytałem że przy tworzeniu obiektu powinno być:

Dim kategoria As SenditAPI.categoryPack()

i teraz jest okej :)

0 użytkowników online, w tym zalogowanych: 0, gości: 0