Protokół

Z Net47 2.0
(Różnice między wersjami)
Skocz do: nawigacji, wyszukiwania
(Utworzył nową stronę „== Informacje == Komunikacja odbywa się po sockecie szyfrowanym SSLv3 Domyślny port serwera Net47 to 2047 == Przykładowe uzyskanie połączenia == <pre>openssl s...”)
 
(Zwrotka)
 
(Nie pokazano 24 wersji utworzonych przez jednego użytkownika)
Linia 2: Linia 2:
 
Komunikacja odbywa się po sockecie szyfrowanym SSLv3
 
Komunikacja odbywa się po sockecie szyfrowanym SSLv3
 
Domyślny port serwera Net47 to 2047
 
Domyślny port serwera Net47 to 2047
 +
Jest to jedyna możliwość komunikacji z Net47
  
 
== Przykładowe uzyskanie połączenia ==
 
== Przykładowe uzyskanie połączenia ==
 
<pre>openssl s_client -connect 127.0.0.1:2047 -ssl3</pre>
 
<pre>openssl s_client -connect 127.0.0.1:2047 -ssl3</pre>
  
== Struktura komunikacja ==
+
== Struktura komunikacji ==
 
Struktura komunikacji opiera się o XML.
 
Struktura komunikacji opiera się o XML.
 
*Początek transakcji oznaczamy<pre>//BEGIN//\n</pre>(\n jest znacznikiem klawisza [enter]) po rozpoczęciu sekcji BEGIN, podajemy zapytanie sformułowane w XML
 
*Początek transakcji oznaczamy<pre>//BEGIN//\n</pre>(\n jest znacznikiem klawisza [enter]) po rozpoczęciu sekcji BEGIN, podajemy zapytanie sformułowane w XML
 
*Header:<pre><?xml version="1.0" encoding="UTF-8"?></pre>
 
*Header:<pre><?xml version="1.0" encoding="UTF-8"?></pre>
 
*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>
+
**Podajemy SessionID (oczywiście przed zalogowaniem go nie posiadamy) [ char[32] ]<pre> <SessionID></SessionID></pre>
<SessionID></SessionID></pre>
+
**Sekcja Request, w niej zawierają się wszystkie zlecane zadania<pre> <Request></pre>
**Sekcja Request, w niej zawierają się wszystkie zlecane zadania<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>
<Request></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>
***Zawartość Type definiuje iż będziemy spodziewać się sekcji o tej samej nazwie co zawartość (powtarzalne wielokrotnie), co odpowiada także typowi akcji:<pre>
+
****Wartości wymagane dla autoryzacji:<pre> <UserName>testowy</UserName></pre><pre> <Password>testowy</Password></pre>
<Type>Authorization</Type></pre>
+
***Zamknięcie sekcji<pre> </Authorization></pre>
***Zlecenie o nazwie wcześniej zdefiniowanego Type, jeśli pojawi się sekcja nie określona w Type, zostanie ona pominięta:<pre>
+
**Zamknięcie sekcji<pre> </Request></pre>
<Authorization></pre>
+
*Zamknięcie XML<pre></Net47></pre>
****Wartości wymagane dla autoryzacji:<pre>
+
<UserName>testowy</UserName>
+
<Password>testowy</Password></pre>
+
***Zamknięcie sekcji<pre>
+
</Authorization></pre>
+
**Zamknięcie sekcji<pre>
+
</Request></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
Linia 35: Linia 27:
 
*Header:<pre><?xml version="1.0" encoding="UTF-8"?></pre>
 
*Header:<pre><?xml version="1.0" encoding="UTF-8"?></pre>
 
*Pierwsza sekcja w której zawarte będą wszystkie zadania:<pre><Net47></pre>
 
*Pierwsza sekcja w której zawarte będą wszystkie zadania:<pre><Net47></pre>
<Request><Type>Authorization</Type><Authorization><SessionID>32a1e3c5b537d00e39ef15db9c0b6839</SessionID></Authorization></Request>
+
**Request otwierający sekcje gdzie zawarte będą odpowiedzi:<pre><Request></pre>
 +
***Type realizuje tą samą funkcję jak przy zapytaniu:<pre><Type>Authorization</Type></pre>
 +
***Właściwa odpowiedź:<pre><Authorization><SessionID>32a1e3c5b537d00e39ef15db9c0b6839</SessionID></Authorization></pre>
 +
**Zamknięcie sekcji:<pre></Request></pre>
 +
*Zamknięcie sekcji:<pre></Net47></pre>
 +
Zakończenie transakcji:<pre>//BEGINEND//\n</pre>
 +
 
 +
== Przykład zapytania wraz z odpowiedzią ==
 +
<pre>
 +
//BEGIN//
 +
<?xml version="1.0" encoding="UTF-8"?>
 +
<Net47>
 +
<SessionID>32a1e3c5b537d00e39ef15db9c0b6839</SessionID>
 +
<Priority>3</Priority>
 +
<Term>Short</Term>
 +
<Request>
 +
<Type>AuthorizationLogout</Type>
 +
<AuthorizationLogout>
 +
<SessionID>32a1e3c5b537d00e39ef15db9c0b6839</SessionID>
 +
</AuthorizationLogout>
 +
</Request>
 +
</Net47>
 +
//BEGINEND//
 +
 
 +
 
 +
//BEGIN//
 +
<?xml version="1.0" encoding="UTF-8"?>
 +
<Net47>
 +
<Request>
 +
<Type>QueueID</Type>
 +
<QueueID>
 +
<ID>5</ID>
 +
</QueueID>
 +
</Request>
 +
</Net47>
 +
//BEGINEND//
 +
</pre>
  
 
[[Kategoria:Komunikacja]]
 
[[Kategoria:Komunikacja]]

Aktualna wersja na dzień 14:29, 14 gru 2011

Spis treści

[edytuj] Informacje

Komunikacja odbywa się po sockecie szyfrowanym SSLv3 Domyślny port serwera Net47 to 2047 Jest to jedyna możliwość komunikacji z Net47

[edytuj] Przykładowe uzyskanie połączenia

openssl s_client -connect 127.0.0.1:2047 -ssl3

[edytuj] Struktura komunikacji

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>
          			<Password>testowy</Password>
      • Zamknięcie sekcji
        		</Authorization>
    • 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

[edytuj] 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 otwierający sekcje gdzie zawarte będą odpowiedzi:
      <Request>
      • Type realizuje tą samą funkcję jak przy zapytaniu:
        <Type>Authorization</Type>
      • Właściwa odpowiedź:
        <Authorization><SessionID>32a1e3c5b537d00e39ef15db9c0b6839</SessionID></Authorization>
    • Zamknięcie sekcji:
      </Request>
  • Zamknięcie sekcji:
    </Net47>
Zakończenie transakcji:
//BEGINEND//\n

[edytuj] Przykład zapytania wraz z odpowiedzią

//BEGIN//
<?xml version="1.0" encoding="UTF-8"?>
<Net47>
	<SessionID>32a1e3c5b537d00e39ef15db9c0b6839</SessionID>
	<Priority>3</Priority>
	<Term>Short</Term>
	<Request>
		<Type>AuthorizationLogout</Type>
		<AuthorizationLogout>
			<SessionID>32a1e3c5b537d00e39ef15db9c0b6839</SessionID>
		</AuthorizationLogout>
	</Request>
</Net47>
//BEGINEND//


//BEGIN//
<?xml version="1.0" encoding="UTF-8"?>
<Net47>
	<Request>
		<Type>QueueID</Type>
		<QueueID>
			<ID>5</ID>
		</QueueID>
	</Request>
</Net47>
//BEGINEND//
Osobiste
Przestrzenie nazw
Warianty
Działania
Nawigacja
Konfiguracja Systemu
Szablony
API
PostgreSQL
Narzędzia
MENU