Protokół
(Różnice między wersjami)
Linia 13: | Linia 13: | ||
*Pierwsza sekcja w której zawarte będą wszystkie zadania (koniecznie nazwa Net47):<pre><Net47></pre>Zaczynamy właściwą transakcję (przykład logowania): | *Pierwsza sekcja w której zawarte będą wszystkie zadania (koniecznie nazwa Net47):<pre><Net47></pre>Zaczynamy właściwą transakcję (przykład logowania): | ||
**Podajemy SessionID (oczywiście przed zalogowaniem go nie posiadamy) [ char[32] ]<pre> <SessionID></SessionID></pre> | **Podajemy SessionID (oczywiście przed zalogowaniem go nie posiadamy) [ char[32] ]<pre> <SessionID></SessionID></pre> | ||
− | **Sekcja Request, w niej zawierają się wszystkie zlecane zadania<pre> | + | **Sekcja Request, w niej zawierają się wszystkie zlecane zadania<pre> <Request></pre> |
− | + | ***Zawartość Type definiuje iż będziemy spodziewać się sekcji o tej samej nazwie co zawartość (powtarzalne wielokrotnie), co odpowiada także typowi akcji:<pre> <Type>Authorization</Type></pre> | |
− | ***Zawartość Type definiuje iż będziemy spodziewać się sekcji o tej samej nazwie co zawartość (powtarzalne wielokrotnie), co odpowiada także typowi akcji:<pre> | + | ***Zlecenie o nazwie wcześniej zdefiniowanego Type, jeśli pojawi się sekcja nie określona w Type, zostanie ona pominięta:<pre> <Authorization></pre> |
− | + | ****Wartości wymagane dla autoryzacji:<pre> <UserName>testowy</UserName> | |
− | ***Zlecenie o nazwie wcześniej zdefiniowanego Type, jeśli pojawi się sekcja nie określona w Type, zostanie ona pominięta:<pre> | + | |
− | + | ||
− | ****Wartości wymagane dla autoryzacji:<pre> | + | |
− | + | ||
<Password>testowy</Password></pre> | <Password>testowy</Password></pre> | ||
− | ***Zamknięcie sekcji<pre> | + | ***Zamknięcie sekcji<pre> </Authorization></pre> |
− | + | **Zamknięcie sekcji<pre> </Request></pre> | |
− | **Zamknięcie sekcji<pre> | + | *Zamknięcie XML<pre></Net47></pre> |
− | + | ||
− | *Zamknięcie XML<pre> | + | |
− | </Net47></pre> | + | |
*Jest jeszcze warunek ukończenia transakcji<pre>//BEGINEND//\n</pre> (\n jest znacznikiem klawisza [enter]) | *Jest jeszcze warunek ukończenia transakcji<pre>//BEGINEND//\n</pre> (\n jest znacznikiem klawisza [enter]) | ||
W tym momencie transakcja zostaje przetworzona, otrzymujemy [zwrotkę]#Zwrotka informującą nas o id kolejki zlecenia, lub w przypadku logowania otrzymamy od razu ID sesji | W tym momencie transakcja zostaje przetworzona, otrzymujemy [zwrotkę]#Zwrotka informującą nas o id kolejki zlecenia, lub w przypadku logowania otrzymamy od razu ID sesji |
Wersja z 13:59, 14 gru 2011
Spis treści |
Informacje
Komunikacja odbywa się po sockecie szyfrowanym SSLv3 Domyślny port serwera Net47 to 2047 Jest to jedyna możliwość komunikacji z Net47
Przykładowe uzyskanie połączenia
openssl s_client -connect 127.0.0.1:2047 -ssl3
Struktura komunikacja
Struktura komunikacji opiera się o XML.
- Początek transakcji oznaczamy
//BEGIN//\n
(\n jest znacznikiem klawisza [enter]) po rozpoczęciu sekcji BEGIN, podajemy zapytanie sformułowane w XML - Header:
<?xml version="1.0" encoding="UTF-8"?>
- Pierwsza sekcja w której zawarte będą wszystkie zadania (koniecznie nazwa Net47):
<Net47>
Zaczynamy właściwą transakcję (przykład logowania):- Podajemy SessionID (oczywiście przed zalogowaniem go nie posiadamy) [ char[32] ]
<SessionID></SessionID>
- Sekcja Request, w niej zawierają się wszystkie zlecane zadania
<Request>
- Zawartość Type definiuje iż będziemy spodziewać się sekcji o tej samej nazwie co zawartość (powtarzalne wielokrotnie), co odpowiada także typowi akcji:
<Type>Authorization</Type>
- Zlecenie o nazwie wcześniej zdefiniowanego Type, jeśli pojawi się sekcja nie określona w Type, zostanie ona pominięta:
<Authorization>
- Wartości wymagane dla autoryzacji:
<UserName>testowy</UserName>
- Wartości wymagane dla autoryzacji:
- Zawartość Type definiuje iż będziemy spodziewać się sekcji o tej samej nazwie co zawartość (powtarzalne wielokrotnie), co odpowiada także typowi akcji:
- Podajemy SessionID (oczywiście przed zalogowaniem go nie posiadamy) [ char[32] ]
- Zamknięcie sekcji
</Authorization>
- Zamknięcie sekcji
- Zamknięcie sekcji
</Request>
- Zamknięcie XML
</Net47>
- Jest jeszcze warunek ukończenia transakcji
//BEGINEND//\n
(\n jest znacznikiem klawisza [enter])
W tym momencie transakcja zostaje przetworzona, otrzymujemy [zwrotkę]#Zwrotka informującą nas o id kolejki zlecenia, lub w przypadku logowania otrzymamy od razu ID sesji
Zwrotka
Początek transakcji zwrotki jest oznaczony//BEGIN//\n
- Header:
<?xml version="1.0" encoding="UTF-8"?>
- Pierwsza sekcja w której zawarte będą wszystkie zadania:
<Net47>
<Request><Type>Authorization</Type><Authorization><SessionID>32a1e3c5b537d00e39ef15db9c0b6839</SessionID></Authorization></Request>