Skip to main content

GetOUMembers

A GetOUMembers művelet az egyik legizgalmasabb, mert ez nem egyént keres, hanem egy egész közösséget (osztályt, fiókot) listáz ki. A neve is ezt mutatja: "Szervezeti Egység Tagjainak Lekérése".

Nézzük meg az XSD alapján, mi kell a kéréshez, és mit kapunk válaszul.


1. GetOUMembers REQUEST (A kérés)

Az XSD-ben a GetOUMembersRequest komplex típusnál ezek a szabályok:

  • context: minOccurs="1"KÖTELEZŐ.

  • ouShortName: minOccurs="1"KÖTELEZŐ. Ez az osztály rövid kódja (pl. "IT_SEC" vagy "FI_GYOR_01").

  • orgHierarchyCode: minOccurs="1"KÖTELEZŐ. Megadja, melyik szervezeti fában keressünk (a banknak több is lehet, pl. jogi vagy funkcionális).

  • listRecursively: minOccurs="0"OPCIONÁLIS. Ha true, akkor az alosztályok dolgozóit is kilistázza, nem csak a közvetlenül ott lévőket.

Példa Request:

XML
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" 
                  xmlns:org="http://organization.types.raiffeisen.hu/OrganizationData"
                  xmlns:com="http://common.types.raiffeisen.hu/common">
   <soapenv:Header/>
   <soapenv:Body>
      <org:GetOUMembersRequest>
         <org:context>
            <com:appID>WIKI_APP</com:appID>
         </org:context>
         
         <org:ouShortName>IT_SEC_DEPT</org:ouShortName>
         
         <org:orgHierarchyCode>MAIN_BANK_TREE</org:orgHierarchyCode>
         
         <org:listRecursively>true</org:listRecursively>
         
      </org:GetOUMembersRequest>
   </soapenv:Body>
</soapenv:Envelope>


2. GetOUMembers RESPONSE (A válasz)

A válasz (GetOUMembersResponse) szerkezete:

  • resultCode: minOccurs="1" → Siker/Hiba.

  • orgHierarchyCode: minOccurs="1" → Visszaigazolja, melyik fában kerestünk.

  • persons: minOccurs="0" és maxOccurs="unbounded". Ez egy lista, ami Person típusú elemekből áll.

A Person típus belső felépítése az XSD szerint:

  • personId, fullName, role, ouShortName (mind opcionális, de a gyakorlatban kitöltik őket).

Példa Response:

XML
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" 
                  xmlns:org="http://organization.types.raiffeisen.hu/OrganizationData">
   <soapenv:Body>
      <org:GetOUMembersResponse>
         <org:resultCode>
            <code>OK</code>
         </org:resultCode>
         
         <org:ouShortName>IT_SEC_DEPT</org:ouShortName>
         <org:orgHierarchyCode>MAIN_BANK_TREE</org:orgHierarchyCode>
         
         <org:persons>
            <org:personId>creznek</org:personId>
            <org:fullName>Creznek Gábor</org:fullName>
            <org:role>Expert</org:role>
            <org:ouShortName>IT_SEC_DEPT</org:ouShortName>
         </org:persons>
         
         <org:persons>
            <org:personId>kovacsj</org:personId>
            <org:fullName>Kovács János</org:fullName>
            <org:role>Manager</org:role>
            <org:ouShortName>IT_SEC_DEPT</org:ouShortName>
         </org:persons>
         
      </org:GetOUMembersResponse>
   </soapenv:Body>
</soapenv:Envelope>

Hogyan használd a Wikiben?

Ezt a metódust akkor érdemes elővenni, ha a feladat például:

  1. Egy osztály automatikus e-mail listájának összeállítása.

  2. Annak ellenőrzése, hogy ki a főnöke az adott egységnek (a role mező alapján).

  3. Egy szervezeti ábra rajzolása, ahol az emberek az osztályokhoz vannak rendelve.

Érdekesség: Figyeld meg az XSD-ben a listRecursively mezőt! Ez egy boolean (igen/nem) típus. Ha ezt elfelejted beleírni a kérésbe, a banki rendszerek általában alapértelmezettnek veszik a false-t, tehát csak az adott osztály "saját" embereit látnád, a beosztott osztályokéit nem.