Table of Contents
Denne service gør det muligt for webserviceaftagerne at hente og kvittere for modtagelsen af beskeder fra DFDG. Se også den tværgående beskrivelse om Modtagelse af WSRM beskeder
Forretningsbeskrivelse
Link til snitfladebeskrivelser
Child pages (Children Display) | ||
---|---|---|
|
Link til forretningsbeskrivelser
Search Results spacekey LOG query WsrmDistributionService type page
Metoder
CreateSequence
Info |
---|
Ved kald af CreateSequence kan alle SOAP Body elementer sættes til NULL. Der er planlagt en oprydning så disse parametre fjernes fra servicen. SubQueueIdentifier skal dog angives, hvis der skal kaldes en subkø. |
Denne metode benyttes til at initiere en WSRM overførsel af meddelelser. Der returneres en beskrivelse af hvilke meddelelser, der er klar til afhentning (service inventory), der returneres højest 500 beskeder pr. afhentning. Et service inventory kunne f.eks. så således ud:
Code Block | ||||
---|---|---|---|---|
| ||||
<CreateSequenceResponseType xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<Identifier xmlns="http://docs.oasis-open.org/ws-rx/wsrm/200602">ac6b4250-21cd-43a5-964b-5ecd5f70f1b6</Identifier>
<ServiceInventoryCollection xmlns="http://docs.oasis-open.org/ws-rx/wsrm/200602">
<ServiceItem>
<ServiceName>GetUnemploymentEnrollmentVersion4</ServiceName>
<ServiceEndpoint>https://serviceT2.startest.dk/PjaktassWCFTservice/10/WsrmMessageService.svc</ServiceEndpoint>
<MessageCount>35</MessageCount>
</ServiceItem>
<ServiceItem>
<ServiceName>GetCancelUnemploymentEnrollmentVersion4</ServiceName>
<ServiceEndpoint>https://serviceT2.startest.dk/PjaktassWCFTservice/10/WsrmMessageService.svc</ServiceEndpoint>
<MessageCount>59</MessageCount>
</ServiceItem>
<ServiceItem>
<ServiceName>GetContactGroupVersion4</ServiceName>
<ServiceEndpoint>https://serviceT2.startest.dk/PjaktassWCFTservice/10/WsrmMessageService.svc</ServiceEndpoint>
<MessageCount>158</MessageCount>
</ServiceItem>
<ServiceItem>
<ServiceName>GetPersonProfessionCollectionVersion4</ServiceName>
<ServiceEndpoint>https://serviceT2.startest.dk/PjaktassWCFTservice/10/WsrmMessageService.svc</ServiceEndpoint>
<MessageCount>34</MessageCount>
</ServiceItem>
<ServiceItem>
<ServiceName>GetWarningVersion4</ServiceName>
<ServiceEndpoint>https://serviceT2.startest.dk/PjaktassWCFTservice/10/WsrmMessageService.svc</ServiceEndpoint>
<MessageCount>27</MessageCount>
</ServiceItem>
<ServiceItem>
<ServiceName>GetCVStatusVersion6</ServiceName>
<ServiceEndpoint>https://serviceT2.startest.dk/PjaktassWCFTservice/10/WsrmMessageService.svc</ServiceEndpoint>
<MessageCount>2</MessageCount>
</ServiceItem>
<ServiceItem>
<ServiceName>GetCVObservationVersion5</ServiceName>
<ServiceEndpoint>https://serviceT2.startest.dk/PjaktassWCFTservice/10/WsrmMessageService.svc</ServiceEndpoint>
<MessageCount>27</MessageCount>
</ServiceItem>
<ServiceItem>
<ServiceName>GetContactGroupVersion5</ServiceName>
<ServiceEndpoint>https://serviceT2.startest.dk/PjaktassWCFTservice/10/WsrmMessageService.svc</ServiceEndpoint>
<MessageCount>158</MessageCount>
</ServiceItem>
</ServiceInventoryCollection>
</CreateSequenceResponseType> |
Dette eksempel viser, at der er oprettet en sekvens med Identifier="ac6b4250-21cd-43a5-964b-5ecd5f70f1b6" og at der venter 8 forskellige meddelelsestyper med hhv. 35, 59, 158, osv. enkeltbeskeder for hver type. I strukturen returneres også URL til webservicen samt metodenavnet på den WSRM GetXXX operation der skal kaldes.
Serviceaftageren skal derefter kalde alle de nævnte services, i SOAP header for hver GetXXX operation skal Identifier for sekvensen angives i elementet SequenceRequest. Hver GetXXX metode returnerer en collection med det pågældende antal beskeder.
Når alle services er kaldt og meddelelserne er hentet korrekt skal aftager markere dette ved at lukke sekvensen (commit) via "TerminateSequence". Hvis aftageren ikke har hentet og accepteret alle meddelelser i sequencen, kan sequencen ikke termineres, og det er ikke muligt at oprette nye sekvenser.
Hvis aftager ikke mener at beskederne i sekvensen er afhentet korrekt kan afhentningen rulles tilbage via CloseSequence.
Ingen beskeder ved kald af CreateSequence
Hvis kaldet til CreateSequence returnerer en ServiceInventoryCollection med 0 ServiceItems, er der ikke nogen WSRM beskeder at hente for den kaldende aftager.
Sekvensen med Identifier som identifikation lukkes i denne situation automatisk af DFDG, og afhentning kan startes forfra med CreateSequence.
Fejl ved kald af CreateSequence
Hvis kaldet til CreateSequence fejler returneres en WSRM specifik fejlstruktur der udover de normale elementer i FaultDetails indeholder et ID af typen GUID. Ved fejl:
- FaultCode: 4006 - Create WS-RM Sequence refused, open sequence exists
vil dette felt indeholde Identifier på den åbne sekvens. Afhentning kan herefter fortsættes eller sekvensen kan lukkes (anbefales) og afhentning startes forfra.
CloseSequence
Denne metode benyttes til at afbryde en pålidelig overførsel inden normal afslutning. Hele overførslen betragtes som annulleret, og serveren vil derfor ikke slette beskeder, som er blevet sendt i den pågældende overførsel, ligesom aftageren vil få disse sendt beskeder igen ved næste overførsel.
TerminateSequence
Denne metode benyttes til at afslutte en korrekt gennemført overførsel efter det er konstateret, at alle meddelelser i overførslen er modtaget korrekt.
Fejlhåndtering
I følgende vises en oversigt over de Soap Faults der kan komme fra WSRMservice eller de services der er en del af en WSRM sekvens.