Uppgjord: Jon Sandelin Datum: Rev (27) eks WebService. Rev. Datum Av Kommentarer

Relevanta dokument
RDT Externt Webbtjänst Gränssnitt

Sammansatt bastjänst för engagemang i företag

RDT Externt Webbtjänst Gränssnitt

XML-produkter. -Registret över verkliga huvudmän (RVH) Teknisk handledning för webbtjänst mot RVH (Web Services) Datum: Version: 1.

Sammansatt bastjänst för engagemang i företag

Sammansatt bastjänst för roll i företag

Manual inloggning Svevac

Sammansatt bastjänst för grundläggande uppgifter om företag

Utveckling av webbapplikation för informationshantering i projekt

Hantering av borttagna personobjekt med giltiga HCC. Beskrivning av totallösningen

Webbtjänster med SOAP, uppbyggnad och implementation

Filleveranser till VINN och KRITA

Sammansatt bastjänst för grundläggande uppgifter om företag

Övergripande teknisk beskrivning Sammansatt bastjänst ekonomiskt bistånd (SSBTEK)

HSA Arkivering av stängda vårdgivare och vårdenheter. Scenariobeskrivning, version 2.0,

Sammansatt bastjänst för grundläggande uppgifter om företag

GATEWAY TJÄNSTEBESKRIVNING. Webbservice. WSDL-fil. Skicka meddelanden. SMS och FastnätsSMS

Mallar för kvittenser och e-post. Exempel på text till kvittenser och e-post i administrationshantering av SITHS-kort

Instruktion för att kunna använda Säkerhetstjänsternas administrationsgränssnitt

Instruktion för integration mot CAS

Revisionsfrågor HSA och SITHS 2015

Utkast/Version (8) Användarhandledning - inrapportering maskin-till-maskin

MVK SSO 2.0 Mina vårdkontakter

Efos PKI-struktur. Den nya PKI-strukturen. Användningsområden för certifikat

Frågehantering XML-produkter Bolagsverket 1 (15)

Vitec Connect. Teknisk beskrivning REVIDERAT SENAST: VITEC. VITEC Affärsområde Mäklare

Installationsguide fo r CRM-certifikat

LEX INSTRUKTION LEX LDAP

Regelverk. Infrastrukturen för vidareförmedling av grundläggande uppgifter om företag. Bilaga A. Tekniska ramverk. Version: 1.0

Teknisk beskrivning PDL i HSA

Certifikatbaserad inloggning via SITHS, tillämpningsexempel

Navet Bilaga 8 Teknisk handledning E-persondata Demo Testdata Version 1.3

GPS positionerade fordon - Basunderhåll Väg

Termer och begrepp. Identifieringstjänst SITHS

Lösenordsregelverk för Karolinska Institutet

Leanlink Ao LKDATA. Teknik spåret. Föreläsare: Michael Lööw, Linköpings Kommun

SSBT testbänk grundläggande uppgifter om företag (SSBTGU) engagemang i företag (SSBTEN) roll i företag (SSBTRO)

Se övergripande tidplan för arbetet med SITHS Kontinuitetssäkring och SITHS e-id på denna sida:

Krav på säker autentisering över öppna nät

Checklista. För åtkomst till Svevac

Dok. nr: SLLIT-ANS Beskrivning för registrering inom ATj

Lathund Automatisk inloggning

Övergripande teknisk beskrivning Sammansatt bastjänst ekonomiskt bistånd (SSBTEK)

TJÄNSTEBESKRIVNING FASAD Tjänstebaserad direktåtkomst Adress

Dokumentation om DAK-formatet

Introduktion Schenker-BTL AB, Stab IT Beskrivning över informationsintegreringmed Schenker, metodbeskrivning version 1.

RegionNavet för befolkningsuppgifter - fördjupad information

Webservice tjänsten GetPerson Slagning mot befolkningsregister

HSA FileService Användarhandledning. Version 1.2,

Användarmanual. Webcert Fråga/Svar

Mobilt Efos och ny metod för stark autentisering

Utfärdande av HCC. Utbyte av SITHS CA v3 på kort som kan hantera SITHS CA v1

Stockholm Skolwebb. Information kring säkerhet och e-legitimation för Stockholm Skolwebb. skolwebb.stockholm.se

Regelverk. Infrastrukturen för vidareförmedling av grundläggande uppgifter om företag. Bilaga A. Tekniska ramverk. Version: 3.0

Introduktion till integrering av Schenkers e-tjänster. Version 2.0

Manual Användaradministration

Revisionsfrågor HSA och SITHS 2016

TJÄNSTEBESKRIVNING FASAD Tjänstebaserad direktåtkomst Byggnad

Administration av landstingsstatistik. Statistiktjänsten

Termer och begrepp. Identifieringstjänst SITHS

LEFI Online. Anslutningsinformation

LEFI Online, system till system (Leverera Förmånsinformation) WEBBSERVICE/SHS/SSEK

LEX INSTRUKTION LEX.CONFIG

Brist- och Åtgärdsrapportering Basunderhåll Väg. Entreprenör. Brist- och Åtgärdsrapportering Basunderhåll Väg SPECIFIKATION 1 (31)

SITHS på egna och andra organisationers kort. Hur SITHS kort-information uppdateras i HSA

Innehåll. Dokumentet gäller från och med version

Anvisning. Publiceringsverktyg för manuell inläsning av certifikatsinformation till HSA

RIV TA Domänschema 2.1

Vad är XML Schemas. XML Schemas. Varför XML Schmas. Namespace

Extern dialog för Samtycke och vårdrelation. Säkerhetstjänster

LabPortalen Services 2.11

Användningsbeskrivning. SJÄLVSERVICE Cosmic LINK Messenger ROS Version 7

HSA Hantering av organisationsförändringar i vårdgivarstrukturen. Version 2.0

Rekommendationer kring skyddade personuppgifter inom HSA och SITHS. Version 2.1,

Instruktion för att hämta personligt certifikat med Internet Explorer m.fl.

WebViewer Manual för administratör Nova Software AB

Tjänstegränssnitt API Vägledning

Manual - Administration

Om du misstänker att värdens privata nyckel har manipulerats kan du skapa en ny genom att utföra följande steg:

Det här dokumentet är till för att ge en översikt över ASP.NET MVC samt hur WCF Services används från.net applikationer.

Instruktioner för inloggning med e-tjänstekort till 3C/Comporto samt installation av kortläsare till e- tjänstekort

Checklista för tekniskt ansvarig

RIV TA Basic Profile 2.1 med intygspropagering RIV Tekniska Anvisningar

HSA-schema tjänsteträdet. Version

Systemadministration. Webcert Fråga/Svar

Innehåll Introduktion... 3 InteractiveScene.config... 3 Scener <scenes>... 3 Typsnitt <fonts>... 3 Övergångar <transitions>...

Att använda Metria Maps WMS baserad på Geoserver

Manual - Inloggning. Svevac

SITHS Thomas Näsberg Inera

TrustedDialog 3.3 installation

Installera Tholbox Certifikat i Windows MAC Mozilla Firefox

Ditt nya smarta etjänstekort!

ANVÄNDARMANUAL applikation CBRNE

eremiss 3.20 Webservices integration

BDS-UNDERHÅLLET. Användarens instruktion Kommunerna

Att koppla FB till AD-inloggning

Flexi Exchange Connector. Copyright Datatal AB. Med ensamrätt. Copyright 2013 Datatal AB. All rights reserved.

Handledning hantera förfrågan och lämna offert i IBX Quote

Transkript:

Uppgjord: Jon Sandelin Datum: 2010-11-29 Rev. 3.2.1 1(27) eks WebService Revisionshistorik Rev. Datum Av Kommentarer 0.1 2008-01-28 Jon Sandelin Påbörjar dokumentet. 1.0 2008-02-11 Jon Sandelin Uppdaterad efter feedback från DLL. Kommer uppdateras till revision 2.0 efter implementation av WebService. 1.1 2008-02-11 Jon Sandelin Uppdaterad med förtydligande om kortinloggning, samt detaljändring av changepassword-parametern oldpwd. 1.2 2008-05-14 Jon Sandelin Uppdaterad med dolda attribut. 1.2.1 2008-05-20 Jon Sandelin Uppdaterad med lite utförligare information om authenticateuser med avseende på säkra personposter osv. 2.0 2008-06-19 Daniel Poignant Lagt till WSDL och gjort några mindre ändringar. 2.1 2008-07-07 Jon Sandelin Uppdaterad efter feedback från Henrika Littorin samt felkoder. 2.1.1 2008-08-15 Jon Sandelin Uppdaterad efter feedback från DLL. 3.0 2008-10-27 Jon Sandelin Updaterad för version 1.1 av eks Webservice 3.1 2010-07-30 Henrika Littorin Förtydligande exempel 3.2 2010-11-04 Teppo Siirilä Ersatt exempel på svar vid searchentry 3.2.1 2010-11-29 Henrika Littorin Godkänt Y:\Alla\Processer\Systemförvaltning\ekS\05 Dokumentation\Systemdokumentation\ekS WebService\ekS_WebService.doc

Uppgjord: Jon Sandelin Datum: 2010-11-29 Rev. 3.2.1 2(27) Inledning 3 Bakgrund 3 Syfte 3 Målgrupp 3 Referenser 3 Förkortningar 3 eks WebService övergripande beskrivning 4 Gränssnitt 4 Autenticering 4 Accesskontroll 4 Metoder 6 authenticateuser 6 Beskrivning 6 Anropsparametrar 6 Retursvar 7 Statuskoder 8 getaccessrole 8 Beskrivning 8 Anropsparametrar 8 Retursvar 9 Statuskoder 10 changepassword 10 Beskrivning 10 Anropsparametrar 10 Retursvar 11 Statuskoder 11 searchentry 12 Beskrivning 12 Anropsparametrar 12 Retursvar 14 Statuskoder 16 Felkoder 17 WSDL 17

Uppgjord: Jon Sandelin Datum: 2010-11-29 Rev. 3.2.1 3(27) Inledning Bakgrund I den elektroniska katalogen eks lagras information om organisation och anställda i Landstinget Sörmland. eks utgör en central källa som ska kunna täcka andra resursers (system och webbtjänster av olika slag) behov av sådan information. eks WebService är ett sätt för sådana resurser att på ett enkelt, standardiserat och säkert sätt komma åt önskad information. Syfte Syftet med detta dokument är att förklara hur en aktör (resurs) kan anropa eks WebService och hur svaret ser ut. Målet är att genom att läsa detta dokument samt med hjälp av WSDL-filen ska en aktör kunna implementera en WebService-klient. Målgrupp Det här dokumentet är skrivet för: Systemarkitekter Programmerare Referenser [1] Dolda attribut.doc [2] eks_attribut.xls Förkortningar eks Elektronisk katalog i Sörmland SSL Secure Sockets Layer. Säkerhetsprotokoll för krypterad kommunikation. WSDL Web Services Definition Language. En XML-fil som specificerar webservicens kontrakt.

Uppgjord: Jon Sandelin Datum: 2010-11-29 Rev. 3.2.1 4(27) eks WebService övergripande beskrivning Gränssnitt eks WebService har 4 metoder som kan användas av klienten (den anropande aktören). Dessa beskrivs mer ingående i kapitlet Metoder: authenticateuser Används för att autenticera en användare (person i katalogen) med avseende på användarnamn och lösenord. Använder den anropande aktören inloggning med certifikat, t.ex. kortinloggning, förväntas aktören på sin sida kontrollera att certifikatet är giltigt. Därefter kan aktören med hjälp av exempelvis HSA-id plockat från certifikatet använda metoden getaccessrole (se nedan) för att hämta användarens behörigheter. changepassword Används för att byta lösenord på en användare. getaccessrole Används för att hämta behörighetsinformation för en användare. searchentry En generell sökfunktion som används för att söka efter data i katalogen. Autenticering eks WebService använder SSL för säker kommunikation. Anropande klienter måste autenticera sig med ett klientcertifikat (SITHS Funktionscertifikat). Detta erhålls från centrala systemförvaltningen för eks i form av en p12-fil med privat nyckel som ska installeras på anropande server. Certifikatet matchas mot motsvarande publika nyckel som finns för användaren i eks. Detta används istället för användar-id och lösenord. Accesskontroll För att det anropande systemet ska kunna nyttja eks WebService måste det finnas definierat som en användare i den elektroniska katalogen. När eks WebService kommunicerar med katalogen kommer den att göra det som denna användare. På det viset kan man på katalognivå styra vilka rättigheter det anropande systemet har, vilka attribut det får se osv.

Uppgjord: Jon Sandelin Datum: 2010-11-29 Rev. 3.2.1 5(27) Utöver detta sker viss programmatisk accesskontroll i den sökande metoden searchentry. Beroende på hur systemets användare är konfigurerad i katalogen avgör eks WebService vilken typ av system det anropande systemet är: Internt LT Sörmland Andra vårdaktörer Allmänheten/Internet Landstingskatalogen Sjukvårdsrådgivningen Beroende på vilken Publicering som är satt på olika objekt i katalogen kommer eks WebService att filtrera bort de objekt som det aktuella systemet ej har rätt att se. Ex: Om ett objekt är satt som Publicering: Internt LT Sörmland och Andra vårdaktörer men inte Allmänheten/Internet och ett system som nyttjar WebService är identifierad som Allmänheten/Internet, så kommer inte den sökande metoden searchentry returnera detta objekt till det anropande systemet. Det finns även programmatisk accesskontroll på attributnivå i den sökande metoden searchentry. Vissa attribut kan markeras som ej synliga för vissa typer av system på enskilda objekt i katalogen. Så om ett visst attribut på ett objekt är markerat som dolt för Allmänheten/Internet och det anropande systemet är av typen Allmänheten/Internet kommer det attributet presenteras som att det ej har något värde, även om det i realiteten faktiskt finns ett värde på attributet i katalogen. Detta gäller även då attributet är med i sökfiltret. Så om systemet av typen Allmänheten/Internet exempelvis söker på mail=*andersson* och en person har mailadressen anders.andersson@dll.se men denna är dold för Allmänheten/Internet så kommer personen ej returneras till det anropande systemet. Notera att den programmatiska accesskontrollen för Publicering och dolda attribut bara finns i den sökande metoden searchentry och inte de tre övriga metoderna. Se även Dolda attribut.doc [1] för en djupare teknisk beskrivning av hur dolda attribut implementeras. En systemanvändare kan ej vara konfigurerad som flera olika typer av aktörer. eks WebService kan också beroende hur systemanvändaren är konfigurerad neka åtkomst till vissa metoder.

Uppgjord: Jon Sandelin Datum: 2010-11-29 Rev. 3.2.1 6(27) Metoder authenticateuser Beskrivning Används för att autenticera en användare med avseende på användar-id/hsaid/personnummer/e-postadress och lösenord. Endast ett av de fyra identifikationssätten får användas i ett anrop. Om man anger HSA-id måste alltså användar-id, personnummer och e-postadress lämnas tomt. Förutom att kontrollera att lösenordet är korrekt kontrolleras även att användaren är en säkrad personpost, har en intygad anställning, inte är manuellt spärrad eller automatiskt blockerad (p.g.a. att antalet tidigare misslyckade försök att autenticera denna användare överstiger maxvärdet). Skulle lösenordet som anges vara fel sätts attributet ekfailedlogonattempt på personposten i eks för att markera att ett felaktigt loginförsök har gjorts. Skulle det totala antalet ekfailedlogonattempt överstiga ett maxvärde (styrs i eks, för närvarande satt till 4) spärras personposten i eks och måste låsas upp av en administratör för att kunna logga in igen. Vid en lyckad autenticering nollställs ekfailedlogonattempt och istället sätts attributet eksuccessfullogonattempt med tidpunkten för inloggningen (angiven i GMT, Greenwich Mean Time). Anropsparametrar Namn Typ Beskrivning userid String Användar-id på användaren som ska autenticeras. Lämnas tomt om annan identifiering används. hsaid String HSA-id på användaren som ska autenticeras. Lämnas tomt om annan identifiering används. personalidentitynumber String Personnummer på användaren som ska autenticeras. Lämnas tomt om annan identifiering används. email String E-postadress på användaren som ska autenticeras. Lämnas tomt om annan identifiering används. distinguishedname String Distinguished name för användaren som ska autenticeras. Lämnas tomt

Uppgjord: Jon Sandelin Datum: 2010-11-29 Rev. 3.2.1 7(27) om annan identifiering används. userpwd String Lösenord för användare application Array av String Namn på applikation som behörighetsinformation ska hämtas för. Fler namn kan anges för att hämta behörighetsinformation för mer än en applikation. Det går även bra att ej ange något värde. Retursvar Namn Typ Beskrivning resultcode int Resultatkod som berättar huruvida operationen lyckades eller ej. resultmessage String Kort förklarande text till resultatkoden. usermessage String Eventuellt meddelande till användaren. authorisationinfo applicationname och accessrole Innehåller behörighetsinformation för applikationer i anropet. Innehåller bara information om autenticeringen lyckades. applicationname String Applikationens namn. accessrole Array av String Behörighetsinformation för användaren i den angivna applikationen. Kan vara tom (om användaren ej har någon behörighet i angiven applikation) eller bestå av ett eller flera värden. distinguishedname Array av String distinguishedname för objektet operationen utfördes på, alternativt en lista av flera distinguished name om operationen ej kunde utföras eftersom det fanns flera användare

Uppgjord: Jon Sandelin Datum: 2010-11-29 Rev. 3.2.1 8(27) med samma id. authmethods Array av String Autenticeringsmetoder för användaren. Statuskoder Värde Betydelse 0 OK. Operation lyckades. 1 Operationen kunde inte utföras eftersom det fanns fler objekt med angivet id. För att kunna särskilja dem åt får man använda distinguished name istället. 100 Operationen lyckades, men användaren kunde inte autenticeras. getaccessrole Beskrivning För att hämta behörighetsinformation för en användare anges ett av dess attribut HSA-id, användar-id, personnummer eller e-postadress. Svaret innehåller behörighetsinformation för den angivna användaren i de system som anges. Endast ett av de fyra identifikationssätten får användas i ett anrop. Om man anger HSA-id måste alltså användar-id, personnummer och e-postadress lämnas tomt. Anropsparametrar Namn Typ Beskrivning userid String Användarens användar-id. Lämnas tomt om annan identifiering används. hsaid String Användarens HSA-id. Lämnas tomt om annan identifiering används. personalidentitynumber String Användarens personnummer. Lämnas tomt om annan identifiering används.

Uppgjord: Jon Sandelin Datum: 2010-11-29 Rev. 3.2.1 9(27) email String Användarens e-postadress. Lämnas tomt om annan identifiering används. distinguishedname String Användarens distinguished name. Lämnas tomt om annan identifiering används. application Array av String Namn på applikation som behörighetsinformation ska hämtas för. Fler namn kan anges för att hämta behörighetsinformation för mer än en applikation. Retursvar Namn Typ Beskrivning resultcode int Resultatkod som berättar huruvida operationen lyckades eller ej. resultmessage String Kort förklarande text till resultatkoden. authorisationinfo applicationname och accessrole Innehåller behörighetsinformation för applikationer i anropet. applicationname String Applikationens namn. accessrole Array av String Behörighetsinformation för användaren i den angivna applikationen. Kan vara tom (om användaren ej har någon behörighet i angiven applikation) eller bestå av ett eller flera värden. distinguishedname Array av String distinguishedname för användaren operationen utfördes på, alternativt en lista av flera distinguished name om operationen ej kunde utföras eftersom det fanns flera användare med samma id. authmethods Array av String Autenticeringsmetoder för

Uppgjord: Jon Sandelin Datum: 2010-11-29 Rev. 3.2.1 10(27) användaren. Statuskoder Värde Betydelse 0 OK. Operationen lyckades. 1 Operationen kunde inte utföras eftersom det fanns fler objekt med angivet id. För att kunna särskilja dem åt får man använda distinguished name istället. 100 Operationen misslyckades. changepassword Beskrivning Vid byte av lösenord anges användar-id, HSA-id, personnummer eller e-postadress för användaren vars lösenord ska bytas samt det gamla lösenordet, det nya lösenordet och bekräftelse av det nya lösenordet. Det går inte att byta lösenord utan att ange det gamla lösenordet. Svaret innehåller information om huruvida operationen lyckades eller ej. Anropsparametrar Namn Typ Beskrivning userid String Användar-id på användaren vars lösenord ska bytas. Lämnas tomt om annan identifiering används. hsaid String HSA-id på användaren vars lösenord ska bytas. Lämnas tomt om annan identifiering används. personalidentitynumber String Personnummer för användaren vars lösenord ska bytas. Lämnas tomt om annan identifiering används.

Uppgjord: Jon Sandelin Datum: 2010-11-29 Rev. 3.2.1 11(27) email String E-postadress för användaren vars lösenord ska bytas. Lämnas tomt om annan identifiering används. distinguishedname String Användarens distinguished name. Lämnas tomt om annan identifiering används. oldpwd String Användarens gamla lösenord. Kontrolleras av eks Webservice innan lösenordet byts. newpwd String Nytt lösenord för användaren. newpwdconfirm String Måste ha samma värde som newpwd för att operationen ska lyckas. Retursvar Namn Typ Beskrivning resultcode int Resultatkod som berättar huruvida operationen lyckades eller ej. resultmessage String Kort förklarande text till resultatkoden. distinguishedname authmethods Array av String Array av String distinguishedname för användaren operationen utfördes på, alternativt en lista av flera distinguished name om operationen ej kunde utföras eftersom det fanns flera användare med samma id. Autenticeringsmetoder för användaren. Statuskoder Värde Betydelse 0 OK. Operation lyckades.

Uppgjord: Jon Sandelin Datum: 2010-11-29 Rev. 3.2.1 12(27) 1 Operationen kunde inte utföras eftersom det fanns fler objekt med angivet id. För att kunna särskilja dem åt får man använda distinguished name istället. 100 Operationen misslyckades. searchentry Beskrivning Metoden används för att söka efter objekt i katalogen. Alltifrån inga till ett flertal objekt kan returneras av metoden. OBS! Rådgör gärna med centrala systemförvaltningen för eks inför angivandet av anropsparametrar för att säkerställa att sökresultatet blir det förväntade/eftersökta. Anropsparametrar Namn Typ Beskrivning searchbase searchscope String Distinguished name för den enhet man vill söka under. Om inget värde anges sker sökning från o=landstinget Sörmland,l=Sörmlands län,c=se String Möjliga värden: BASE sök på det objekt som anges av searchbase ONE sök på objekt omedelbart underliggande searchbase SUB sök hela det underliggande trädet från och med searchbase och nedåt. Om inget värde anges kommer eks WebService använda SUB. timelimit int Ange eventuell maxtid för sökningen i sekunder. 0 = no limit. Om inget värde anges kommer eks WebService använda defaultvärdet 60 sekunder. Observera att om timelimit överskrids returneras inget sökresultat utan istället en felkod, se avsnittet

Uppgjord: Jon Sandelin Datum: 2010-11-29 Rev. 3.2.1 13(27) Felkoder. sizelimit int Ange eventuellt antal objekt som WebService maximalt ska returnera. 0 = no limit. Om inget värde anges kommer eks WebService använda defaultvärdet no limit. Observera att om sizelimit överskrids returneras inget sökresultat utan istället en felkod, se avsnittet Felkoder. objecttypes String Anger vilka typer av objekt som ska inkluderas i svaret. Möjliga värden: P = endast personobjekt inkluderas i svaret. E = endast enhetsobjekt inkluderas i svaret. F = endast funktionsobjekt inkluderas i svaret. A eller inget värde = såväl personobjekt, enhetsobjekt som funktionsobjekt inkluderas i svaret. includealias String Möjliga värden: attributelist Array av String J = ta med eventuella aliasobjekt inklusive uttolkad information från originalobjektet i svaret N= ta ej med aliasobjekt. Inget värde = ta ej med aliasobjekt. Lista med de attribut man vill ska finnas med i svaret, separerade med kommatecken. Exempel: telephonenumber,postaladdress,hsaidentity. Se eks_attribut.xls [2] för information om vilka attribut som finns. Om man anger ett attribut som inte finns, inte är satt eller som man ej har rättigheter till kommer attributet saknas i svaret. Om inget värde anges kommer alla attribut satta på objektet (som anroparen har rätt att se) utom

Uppgjord: Jon Sandelin Datum: 2010-11-29 Rev. 3.2.1 14(27) bildattribut (jpegphoto) returneras. Man kan ange specialvärdet 1.1 för att inga attribut ska returneras. searchfilter String Ett sökfilter skrivet enligt ldap-standard. Webservicen returnerar objekt som matchar detta sökfilter. Exempel på filter: (&(givenname=birgitta)(street=fleming*)) Se eks_attribut.xls [2] för information om vilka attribut som finns. Retursvar Namn Typ Beskrivning resultcode int Resultatkod som berättar huruvida operationen lyckades eller ej. resultmessage String Kort förklarande text till resultatkoden. entrylist entrylisttype Array av entrylisttype (se beskrivning nedan) distinguishedname attributeitemlist (se beskrivning nedan) Innehåller en lista av entries. Ett entry motsvaras av ett objekt i den elektroniska katalogen. Varje entry innehåller ett distinguished name samt en lista med attribut. distinguishedname String Objektets distinguished name (dn) i katalogen. Ex: cn=örjan Carlsson,ou=TEST,o=Landstinget Sörmland,l=Sörmlands län,c=se attributeitemlist Array av attributeitemtype (se beskrivning nedan) Observera att även attribut som är s.k. subattribut till dem som angivits i attributelist kommer

Uppgjord: Jon Sandelin Datum: 2010-11-29 Rev. 3.2.1 15(27) med i sökresultatet. Exempel: skickas telephonenumber in returneras även i de fall de förekommer sedfmobilephonenumber, hsaswitchboardnumber etc. Se eks_attribut.xls [2] för information om vilka attribut som är subattribut till vilka. attributeitemtype attributename isbytevalue attributevaluelist (se beskrivning nedan) Ett attribut innehåller attributnamn och en attributvärdelista. attributename String LDAP-namn för attributet. Notera särskilt att detta skrivs enbart med gemener för närvarande, se därför till att eventuell tolkning inte är case sensitive. isbytevalue Boolean True om attributet är binärt, false annars. attributevaluelist Array av String Värdelista för attributet. Ett attribut kan ha ett eller flera värden. Binära attribut ligger här base-64-kodade. Exempel på svar: <?xml version='1.0' encoding='utf-8'?> <soapenv:envelope xmlns:soapenv="http://www.w3.org/2003/05/soapenvelope"> <soapenv:body> <ns1:searchentryresponse xmlns:ns1="urn:se:landsting:eks:eksws:v1"> <ns1:resultcode>0</ns1:resultcode> <ns1:resultmessage>ok</ns1:resultmessage> <ns1:entrylist> <ns1:attributeitemlist>

Uppgjord: Jon Sandelin Datum: 2010-11-29 Rev. 3.2.1 16(27) <ns1:attributename>cancellationtelephonenumber</ns1:attributename> <ns1:isbytevalue>false</ns1:isbytevalue> <ns1:attributevaluelist>+4615653503</ns1:attributevaluelist> </ns1:attributeitemlist> <ns1:attributeitemlist> <ns1:attributename>hsadeliveryaddress</ns1:attributename> <ns1:isbytevalue>false</ns1:isbytevalue> <ns1:attributevaluelist>tomtaklintgatan 2$Trosa </ns1:attributevaluelist> </ns1:attributeitemlist> <ns1:attributeitemlist> <ns1:attributename>telephonehours</ns1:attributename> <ns1:isbytevalue>false</ns1:isbytevalue> <ns1:attributevaluelist>1-5#07:30#16:30</ns1:attributevaluelist> </ns1:attributeitemlist> <ns1:attributeitemlist> <ns1:attributename>hsainvoiceaddress</ns1:attributename> <ns1:isbytevalue>false</ns1:isbytevalue> <ns1:attributevaluelist>landstinget Sörmland$Redovisningen$Box 529$631 07 Eskilstuna</ns1:attributeValueList> </ns1:attributeitemlist> <ns1:distinguishedname>ou=vårdcentralen Trosa,ou=Division Närvård,ou=Hälso- och sjukvårdsförvaltningen,ou=landstingsdirektör,o=landstinget Sörmland,l=Sörmlands län,c=se</ns1:distinguishedname> </ns1:entrylist> </ns1:searchentryresponse> </soapenv:body> </soapenv:envelope> Statuskoder Värde Betydelse 0 OK. Operation lyckades.

Uppgjord: Jon Sandelin Datum: 2010-11-29 Rev. 3.2.1 17(27) Felkoder Statuskoder i retursvaren används i regel för att förmedla om operationen lyckades eller ej. Stöter metoden på ett fel, t.ex. inkorrekta inparametrar returneras i stället ett fault_msg med en felkod. Nedan följer möjliga felkoder: Värde Betydelse 500 Oförutsett fel i webservice 1000 Inkorrekt inparameter 1001 Felaktigt konfigurering av webservice 1002 Felaktigt sökfilter angett till searchentry 1003 Time Limit överskridet i searchentry 1004 Fel i uppstod när searchentry utför sökningen 1006 Sökresultatet överskrider size limit i searchentry. 1010 Felaktigt klientcertifikat 1011 Klientcertifikat saknas 1012 Systemanvändaren angivet av klientcertifikatet saknas i katalogen 1020 Systemanvändaren har ej rätt att köra metoden WSDL <?xml version="1.0" encoding="utf-8"?> <wsdl:definitions name="ekswebservice" targetnamespace="urn:se:landsting:eks:eksws:v1" xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:tns="urn:se:landsting:eks:eksws:v1" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/"

Uppgjord: Jon Sandelin Datum: 2010-11-29 Rev. 3.2.1 18(27) xmlns:xsd="http://www.w3.org/2001/xmlschema" xmlns:xsd1="urn:se:landsting:eks:types:v1" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/"> <wsdl:types> <xsd:schema attributeformdefault="unqualified" elementformdefault="qualified" targetnamespace="urn:se:landsting:eks:eksws:v1"> <xsd:element name="authenticateuser"> <xsd:complextype> <xsd:sequence> name="authid" type="tns:authidtype"> name="userpwd" type="xsd:string"> <xsd:element maxoccurs="unbounded" minoccurs="0" name="application" type="xsd:string"> </xsd:sequence> </xsd:complextype> <xsd:element name="authenticateuserresponse"> <xsd:complextype> <xsd:sequence> name="resultcode" type="xsd:int"> name="resultmessage" type="xsd:string"> name="usermessage" type="xsd:string"> <xsd:element maxoccurs="unbounded" minoccurs="1" name="authorisationinfo" type="tns:authorisationinfotype"> minoccurs="1"> minoccurs="0"> <xsd:element name="distinguishedname" type="xsd:string" maxoccurs="unbounded" <xsd:element name="authmethods" type="xsd:string" maxoccurs="unbounded"

Uppgjord: Jon Sandelin Datum: 2010-11-29 Rev. 3.2.1 19(27) </xsd:sequence> </xsd:complextype> <xsd:element name="getaccessrole"> <xsd:complextype> <xsd:sequence> name="authid" type="tns:authidtype"> <xsd:element maxoccurs="unbounded" minoccurs="1" name="application" type="xsd:string"> </xsd:sequence> </xsd:complextype> <xsd:element name="getaccessroleresponse"> <xsd:complextype> <xsd:sequence> name="resultcode" type="xsd:int"> name="resultmessage" type="xsd:string"> <xsd:element maxoccurs="unbounded" minoccurs="1" name="authorisationinfo" type="tns:authorisationinfotype"> <xsd:element name="distinguishedname" type="xsd:string" maxoccurs="unbounded" minoccurs="1"> <xsd:element name="authmethods" type="xsd:string" maxoccurs="unbounded" minoccurs="0"> </xsd:sequence> </xsd:complextype> <xsd:element name="changepassword"> <xsd:complextype> <xsd:sequence> name="authid" type="tns:authidtype"> name="oldpwd" type="xsd:string"> name="newpwd" type="xsd:string">

Uppgjord: Jon Sandelin Datum: 2010-11-29 Rev. 3.2.1 20(27) name="newpwdconfirm" type="xsd:string"> </xsd:sequence> </xsd:complextype> <xsd:element name="changepasswordresponse"> <xsd:complextype> <xsd:sequence> name="resultcode" type="xsd:int"> name="resultmessage" type="xsd:string"> <xsd:element name="distinguishedname" type="xsd:string" maxoccurs="unbounded" minoccurs="1"> </xsd:sequence> </xsd:complextype> <xsd:element name="searchentry"> <xsd:complextype> <xsd:sequence> <xsd:element maxoccurs="1" minoccurs="0" name="searchbase" type="xsd:string"> <xsd:element maxoccurs="1" minoccurs="0" name="searchscope" type="xsd:string"> <xsd:element maxoccurs="1" minoccurs="0" name="timelimit" type="xsd:string"> <xsd:element maxoccurs="1" minoccurs="0" name="sizelimit" type="xsd:string"> <xsd:element maxoccurs="1" minoccurs="0" name="objecttypes" type="xsd:string"> <xsd:element maxoccurs="1" minoccurs="0" name="includealias" type="xsd:string"> <xsd:element maxoccurs="unbounded" minoccurs="0" name="attributelist" type="xsd:string"> name="searchfilter" type="xsd:string"> </xsd:sequence>

Uppgjord: Jon Sandelin Datum: 2010-11-29 Rev. 3.2.1 21(27) </xsd:complextype> <xsd:element name="searchentryresponse"> <xsd:complextype> <xsd:sequence> name="resultcode" type="xsd:int"> name="resultmessage" type="xsd:string"> <xsd:element maxoccurs="unbounded" minoccurs="0" name="entrylist" type="tns:entrylisttype"> </xsd:sequence> </xsd:complextype> <xsd:element name="authenticateuser_fault" type="tns:errorparams"> <xsd:element name="getaccessrole_fault" type="tns:errorparams"> <xsd:element name="changepassword_fault" type="tns:errorparams"> <xsd:element name="searchentry_fault" type="tns:errorparams"> <xsd:complextype name="authidtype"> <xsd:choice> name="userid" type="xsd:string"> name="hsaid" type="xsd:string"> name="personalidentitynumber" type="xsd:string"> name="email" type="xsd:string"> <xsd:element name="distinguishedname" type="xsd:string" maxoccurs="1" minoccurs="1"> </xsd:choice> </xsd:complextype> <xsd:complextype name="authorisationinfotype"> <xsd:sequence>

Uppgjord: Jon Sandelin Datum: 2010-11-29 Rev. 3.2.1 22(27) name="applicationname" type="xsd:string"> <xsd:element maxoccurs="unbounded" minoccurs="1" name="accessrole" type="xsd:string"> </xsd:sequence> </xsd:complextype> <xsd:complextype name="errorparams"> <xsd:sequence> name="errorcode" type="xsd:int"/> name="errormessage" type="xsd:string"> </xsd:sequence> </xsd:complextype> <xsd:complextype name="entrylisttype"> <xsd:sequence> <xsd:element maxoccurs="unbounded" minoccurs="0" name="attributeitemlist" type="tns:attributeitemtype"> name="distinguishedname" type="xsd:string"/> </xsd:sequence> </xsd:complextype> <xsd:complextype name="attributeitemtype"> <xsd:sequence> name="attributename" type="xsd:string"> name="isbytevalue" type="xsd:boolean"/> <xsd:element maxoccurs="unbounded" minoccurs="1" name="attributevaluelist" type="xsd:string"> </xsd:sequence> </xsd:complextype> <xsd:complextype name="resultparams"> <xsd:sequence> name="resultcode" type="xsd:int"/> name="resultmessage" type="xsd:string"/> </xsd:sequence> </xsd:complextype> </xsd:schema>

Uppgjord: Jon Sandelin Datum: 2010-11-29 Rev. 3.2.1 23(27) </wsdl:types> <wsdl:message name="getaccessrole_faultmsg"> <wsdl:part name="parameters" element="tns:getaccessrole_fault"> </wsdl:part> </wsdl:message> <wsdl:message name="authenticateuser_faultmsg"> <wsdl:part name="parameters" element="tns:authenticateuser_fault"> </wsdl:part> </wsdl:message> <wsdl:message name="authenticateuserresponse"> <wsdl:part name="parameters" element="tns:authenticateuserresponse"> </wsdl:part> </wsdl:message> <wsdl:message name="changepasswordresponse"> <wsdl:part name="parameters" element="tns:changepasswordresponse"> </wsdl:part> </wsdl:message> <wsdl:message name="searchentryrequest"> <wsdl:part name="parameters" element="tns:searchentry"> </wsdl:part> </wsdl:message> <wsdl:message name="searchentryresponse"> <wsdl:part name="parameters" element="tns:searchentryresponse"> </wsdl:part> </wsdl:message> <wsdl:message name="searchentry_faultmsg"> <wsdl:part name="parameters" element="tns:searchentry_fault"> </wsdl:part> </wsdl:message> <wsdl:message name="changepasswordrequest"> <wsdl:part name="parameters" element="tns:changepassword"> </wsdl:part> </wsdl:message> <wsdl:message name="getaccessroleresponse"> <wsdl:part name="parameters" element="tns:getaccessroleresponse"> </wsdl:part> </wsdl:message> <wsdl:message name="authenticateuserrequest"> <wsdl:part name="parameters" element="tns:authenticateuser"> </wsdl:part> </wsdl:message> <wsdl:message name="getaccessrolerequest"> <wsdl:part name="parameters" element="tns:getaccessrole"> </wsdl:part> </wsdl:message> <wsdl:message name="changepassword_faultmsg"> <wsdl:part name="parameters" element="tns:changepassword_fault"> </wsdl:part>

Uppgjord: Jon Sandelin Datum: 2010-11-29 Rev. 3.2.1 24(27) </wsdl:message> <wsdl:porttype name="ekswebservice"> <wsdl:operation name="authenticateuser"> <wsdl:input message="tns:authenticateuserrequest"> </wsdl:input> <wsdl:output message="tns:authenticateuserresponse"> </wsdl:output> <wsdl:fault name="fault" message="tns:authenticateuser_faultmsg"> </wsdl:fault> </wsdl:operation> <wsdl:operation name="getaccessrole"> <wsdl:input message="tns:getaccessrolerequest"> </wsdl:input> <wsdl:output message="tns:getaccessroleresponse"> </wsdl:output> <wsdl:fault name="fault" message="tns:getaccessrole_faultmsg"> </wsdl:fault> </wsdl:operation> <wsdl:operation name="changepassword"> <wsdl:input message="tns:changepasswordrequest"> </wsdl:input> <wsdl:output message="tns:changepasswordresponse"> </wsdl:output> <wsdl:fault name="fault" message="tns:changepassword_faultmsg"> </wsdl:fault> </wsdl:operation> <wsdl:operation name="searchentry"> <wsdl:input message="tns:searchentryrequest"> </wsdl:input> <wsdl:output message="tns:searchentryresponse"> </wsdl:output> <wsdl:fault name="fault" message="tns:searchentry_faultmsg"> </wsdl:fault> </wsdl:operation> </wsdl:porttype> <wsdl:binding name="ekswebservicesoap12" type="tns:ekswebservice"> <soap12:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/> <wsdl:operation name="authenticateuser"> <soap12:operation soapaction="authenticateuser"/> <wsdl:input> <soap12:body use="literal"/> </wsdl:input> <wsdl:output> <soap12:body use="literal"/> </wsdl:output> <wsdl:fault name="fault"> <soap12:fault name="fault" use="literal"/> </wsdl:fault> </wsdl:operation>

Uppgjord: Jon Sandelin Datum: 2010-11-29 Rev. 3.2.1 25(27) <wsdl:operation name="getaccessrole"> <soap12:operation soapaction="getaccessrole"/> <wsdl:input> <soap12:body use="literal"/> </wsdl:input> <wsdl:output> <soap12:body use="literal"/> </wsdl:output> <wsdl:fault name="fault"> <soap12:fault name="fault" use="literal"/> </wsdl:fault> </wsdl:operation> <wsdl:operation name="changepassword"> <soap12:operation soapaction="changepassword"/> <wsdl:input> <soap12:body use="literal"/> </wsdl:input> <wsdl:output> <soap12:body use="literal"/> </wsdl:output> <wsdl:fault name="fault"> <soap12:fault name="fault" use="literal"/> </wsdl:fault> </wsdl:operation> <wsdl:operation name="searchentry"> <soap12:operation soapaction="searchentry"/> <wsdl:input> <soap12:body use="literal"/> </wsdl:input> <wsdl:output> <soap12:body use="literal"/> </wsdl:output> <wsdl:fault name="fault"> <soap12:fault name="fault" use="literal"/> </wsdl:fault> </wsdl:operation> </wsdl:binding> <wsdl:binding name="ekswebservicesoap11" type="tns:ekswebservice"> <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/> <wsdl:operation name="authenticateuser"> <soap:operation soapaction="authenticateuser"/> <wsdl:input> <soap:body use="literal"/> </wsdl:input> <wsdl:output> <soap:body use="literal"/> </wsdl:output> <wsdl:fault name="fault"> <soap:fault name="fault" use="literal"/> </wsdl:fault>

Uppgjord: Jon Sandelin Datum: 2010-11-29 Rev. 3.2.1 26(27) </wsdl:operation> <wsdl:operation name="getaccessrole"> <soap:operation soapaction="getaccessrole"/> <wsdl:input> <soap:body use="literal"/> </wsdl:input> <wsdl:output> <soap:body use="literal"/> </wsdl:output> <wsdl:fault name="fault"> <soap:fault name="fault" use="literal"/> </wsdl:fault> </wsdl:operation> <wsdl:operation name="changepassword"> <soap:operation soapaction="changepassword"/> <wsdl:input> <soap:body use="literal"/> </wsdl:input> <wsdl:output> <soap:body use="literal"/> </wsdl:output> <wsdl:fault name="fault"> <soap:fault name="fault" use="literal"/> </wsdl:fault> </wsdl:operation> <wsdl:operation name="searchentry"> <soap:operation soapaction="searchentry"/> <wsdl:input> <soap:body use="literal"/> </wsdl:input> <wsdl:output> <soap:body use="literal"/> </wsdl:output> <wsdl:fault name="fault"> <soap:fault name="fault" use="literal"/> </wsdl:fault> </wsdl:operation> </wsdl:binding> <wsdl:service name="ekswebservice"> <wsdl:port name="ekswebservicesoap12" binding="tns:ekswebservicesoap12"> <soap12:address location="http://localhost:8080/ekswebservice/services/ekswebservice" /> </wsdl:port> <wsdl:port name="ekswebservicesoap11" binding="tns:ekswebservicesoap11"> <soap:address location="http://localhost:8080/ekswebservice/services/ekswebservice" /> </wsdl:port>

Uppgjord: Jon Sandelin Datum: 2010-11-29 Rev. 3.2.1 27(27) </wsdl:service> </wsdl:definitions>