source: ccr/trunk/nhin-vista/projects/NHINC/Current/Product/Production/Gateway/NhincProxyBPEL/src/NhinProxySubscriptionManagement.bpel@ 507

Last change on this file since 507 was 507, checked in by George Lilly, 15 years ago

NHIN gateway and adaptor for use on linux with VistA EHR and RPMS

File size: 18.8 KB
Line 
1<?xml version="1.0" encoding="UTF-8"?>
2<process
3 name="NhinProxySubscriptionManagement"
4 targetNamespace="urn:gov:hhs:fha:nhinc:gateway:nhincproxybpel:nhinproxysubscriptionmanagement"
5 xmlns="http://docs.oasis-open.org/wsbpel/2.0/process/executable"
6 xmlns:xsd="http://www.w3.org/2001/XMLSchema"
7 xmlns:sxt="http://www.sun.com/wsbpel/2.0/process/executable/SUNExtension/Trace"
8 xmlns:sxed="http://www.sun.com/wsbpel/2.0/process/executable/SUNExtension/Editor"
9 xmlns:sxat="http://www.sun.com/wsbpel/2.0/process/executable/SUNExtension/Attachment"
10 xmlns:sxeh="http://www.sun.com/wsbpel/2.0/process/executable/SUNExtension/ErrorHandling"
11 xmlns:tns="urn:gov:hhs:fha:nhinc:gateway:nhincproxybpel:nhinproxysubscriptionmanagement"
12 xmlns:sxxf="http://www.sun.com/wsbpel/2.0/process/executable/SUNExtension/XPathFunctions"
13 xmlns:wsnt="http://docs.oasis-open.org/wsn/b-2"
14 xmlns:wsntw="http://docs.oasis-open.org/wsn/bw-2"
15 xmlns:nccommonproxy="urn:gov:hhs:fha:nhinc:common:nhinccommonproxy"
16 xmlns:nccommon="urn:gov:hhs:fha:nhinc:common:nhinccommon"
17 xmlns:addr="http://schemas.xmlsoap.org/ws/2004/08/addressing"
18 xmlns:bpel="http://docs.oasis-open.org/wsbpel/2.0/process/executable"
19 xmlns:conninfo="urn:gov:hhs:fha:nhinc:common:connectionmanagerinfo" xmlns:ns0="urn:gov:hhs:fha:nhinc:common:hiemauditlog" xmlns:ns1="urn:gov:hhs:fha:nhinc:common:nhinccommoninternalorch" xmlns:ns2="urn:gov:hhs:fha:nhinc:common:auditlog">
20 <import namespace="urn:gov:hhs:fha:nhinc:nhincproxysubscriptionmanagement" location="Interfaces/wsdl/NhincProxySubscriptionManagement.wsdl" importType="http://schemas.xmlsoap.org/wsdl/"/>
21 <import namespace="http://docs.oasis-open.org/wsrf/rw-2" location="Interfaces/wsdl/rw-2.wsdl" importType="http://schemas.xmlsoap.org/wsdl/"/>
22 <import namespace="http://enterprise.netbeans.org/bpel/NhinSubscriptionWrapper" location="NhinSubscriptionWrapper.wsdl" importType="http://schemas.xmlsoap.org/wsdl/"/>
23 <import namespace="http://docs.oasis-open.org/wsn/bw-2" location="Interfaces/wsdl/NhinSubscription.wsdl" importType="http://schemas.xmlsoap.org/wsdl/"/>
24 <import namespace="urn:gov:hhs:fha:nhinc:nhinccomponentconnectionmanager" location="Interfaces/wsdl/NhincComponentConnectionManager.wsdl" importType="http://schemas.xmlsoap.org/wsdl/"/>
25 <import namespace="urn:gov:hhs:fha:nhinc:nhinccomponentinternalauditrepository" location="Interfaces/wsdl/NhincComponentInternalAuditRepository.wsdl" importType="http://schemas.xmlsoap.org/wsdl/"/>
26 <partnerLinks>
27 <partnerLink name="AuditLogPL" xmlns:tns="urn:gov:hhs:fha:nhinc:nhinccomponentinternalauditrepository" partnerLinkType="tns:NhincComponentInternalAuditRepository" partnerRole="NhincComponentInternalAuditRepositoryPortTypeRole"/>
28 <partnerLink name="ConnectionManagerPL" xmlns:tns="urn:gov:hhs:fha:nhinc:nhinccomponentconnectionmanager" partnerLinkType="tns:NhincComponentConnectionManager" partnerRole="NhincComponentConnectionManagerPortTypeRole"/>
29 <partnerLink name="NhinSubscribePL" xmlns:tns="http://enterprise.netbeans.org/bpel/NhinSubscriptionWrapper" partnerLinkType="tns:NotificationConsumerLinkType" partnerRole="NotificationProducerRole"/>
30 <partnerLink name="NhinProxySubscribePL" xmlns:tns="urn:gov:hhs:fha:nhinc:nhincproxysubscriptionmanagement" partnerLinkType="tns:NhincProxyNotificationProducer" myRole="NhincProxyNotificationProducerPortTypeRole"/>
31 </partnerLinks>
32 <variables>
33 <variable name="SubscribeIn" xmlns:tns="urn:gov:hhs:fha:nhinc:nhincproxysubscriptionmanagement" messageType="tns:SubscribeRequestMessage"/>
34 </variables>
35 <sequence>
36 <receive name="ReceiveSubscription" createInstance="yes" partnerLink="NhinProxySubscribePL" operation="Subscribe" xmlns:tns="urn:gov:hhs:fha:nhinc:nhincproxysubscriptionmanagement" portType="tns:NhincProxyNotificationProducerPortType" variable="SubscribeIn"/>
37 <scope name="ProcessSubscriptionScope">
38 <variables>
39 <variable name="LogSubscribeRespRequestOut" xmlns:tns="urn:gov:hhs:fha:nhinc:nhinccomponentinternalauditrepository" messageType="tns:LogEventResponseMessage"/>
40 <variable name="LogSubscribeRespRequestIn" xmlns:tns="urn:gov:hhs:fha:nhinc:nhinccomponentinternalauditrepository" messageType="tns:LogSubscribeRespRequestMessage"/>
41 <variable name="LogNhinSubscribeRequestOut" xmlns:tns="urn:gov:hhs:fha:nhinc:nhinccomponentinternalauditrepository" messageType="tns:LogEventResponseMessage"/>
42 <variable name="LogNhinSubscribeRequestIn" xmlns:tns="urn:gov:hhs:fha:nhinc:nhinccomponentinternalauditrepository" messageType="tns:LogNhinSubscribeRequestMessage"/>
43 <variable name="GetConnectionInfoOut" xmlns:tns="urn:gov:hhs:fha:nhinc:nhinccomponentconnectionmanager" messageType="tns:GetConnectionInfoEndpontFromNhinTargetResponseMessage"/>
44 <variable name="GetConnectionInfoIn" xmlns:tns="urn:gov:hhs:fha:nhinc:nhinccomponentconnectionmanager" messageType="tns:GetConnectionInfoEndpontFromNhinTargetRequestMessage"/>
45 <variable name="NhinSubscribeOut" xmlns:wsntw="http://docs.oasis-open.org/wsn/bw-2" messageType="wsntw:SubscribeResponse"/>
46 <variable name="NhinSubscribeIn" xmlns:wsntw="http://docs.oasis-open.org/wsn/bw-2" messageType="wsntw:SubscribeRequest"/>
47 <variable name="SubscribeOut" xmlns:tns="urn:gov:hhs:fha:nhinc:nhincproxysubscriptionmanagement" messageType="tns:SubscribeResponseMessage"/>
48 </variables>
49 <faultHandlers>
50 <catch faultName="sxeh:systemFault" faultVariable="systemFaultVar" faultMessageType="sxeh:faultMessage">
51 <sequence name="SystemFaultSeq">
52 <assign name="AssignFaultInfo">
53 <sxt:trace>
54 <sxt:log level="info" location="onStart">
55 <bpel:from>'NhinProxySubscriptionManagement.bpel - A system fault was encountered. Fault detials follow...'</bpel:from>
56 </sxt:log>
57 <sxt:log level="warning" location="onStart">
58 <bpel:from variable="systemFaultVar"/>
59 </sxt:log>
60 </sxt:trace>
61 <copy>
62 <from>sxxf:current-dateTime()</from>
63 <to>$SubscribeOut.SubscribeResponse/wsnt:TerminationTime</to>
64 </copy>
65 <copy>
66 <from>sxxf:current-dateTime()</from>
67 <to>$SubscribeOut.SubscribeResponse/wsnt:CurrentTime</to>
68 </copy>
69 </assign>
70 <reply name="ReplyFault" partnerLink="NhinProxySubscribePL" operation="Subscribe" xmlns:tns="urn:gov:hhs:fha:nhinc:nhincproxysubscriptionmanagement" portType="tns:NhincProxyNotificationProducerPortType" variable="SubscribeOut"/>
71 </sequence>
72 </catch>
73 </faultHandlers>
74 <sequence name="ProcessSubscriptionSeq">
75 <assign name="AssignLogNhinSubscribeRequestInput">
76 <copy>
77 <from>$SubscribeIn.SubscribeRequest/wsnt:Subscribe</from>
78 <to>$LogNhinSubscribeRequestIn.LogNhinSubscribeRequest/ns0:message/wsnt:Subscribe</to>
79 </copy>
80 <copy>
81 <from>$SubscribeIn.SubscribeRequest/nccommonproxy:assertion</from>
82 <to>$LogNhinSubscribeRequestIn.LogNhinSubscribeRequest/ns0:message/ns1:assertion</to>
83 </copy>
84 <copy>
85 <from>'Outbound'</from>
86 <to>$LogNhinSubscribeRequestIn.LogNhinSubscribeRequest/ns2:direction</to>
87 </copy>
88 <copy>
89 <from>'Nhin'</from>
90 <to>$LogNhinSubscribeRequestIn.LogNhinSubscribeRequest/ns2:interface</to>
91 </copy>
92 </assign>
93 <invoke name="InvokeLogNhinSubscribeRequest" partnerLink="AuditLogPL" operation="LogNhinSubscribeRequest" xmlns:tns="urn:gov:hhs:fha:nhinc:nhinccomponentinternalauditrepository" portType="tns:NhincComponentInternalAuditRepositoryPortType" inputVariable="LogNhinSubscribeRequestIn" outputVariable="LogNhinSubscribeRequestOut"/>
94 <assign name="AssignEndpointLookup">
95 <sxt:trace>
96 <sxt:log level="info" location="onStart">
97 <bpel:from>'Audit log subscribe request completed...'</bpel:from>
98 </sxt:log>
99 <sxt:log level="warning" location="onStart">
100 <bpel:from variable="LogNhinSubscribeRequestOut"/>
101 </sxt:log>
102 </sxt:trace>
103 <copy>
104 <from>$SubscribeIn.SubscribeRequest/nccommonproxy:nhinTargetSystem</from>
105 <to>$GetConnectionInfoIn.GetConnectionInfoEndpontFromNhinTargetRequest/conninfo:NhinTargetSystem</to>
106 </copy>
107 <copy>
108 <from>'notificationproducer'</from>
109 <to>$GetConnectionInfoIn.GetConnectionInfoEndpontFromNhinTargetRequest/conninfo:serviceName</to>
110 </copy>
111 </assign>
112 <invoke name="InvokeEndpointLookup" partnerLink="ConnectionManagerPL" operation="GetConnectionInfoEndpontFromNhinTarget" xmlns:tns="urn:gov:hhs:fha:nhinc:nhinccomponentconnectionmanager" portType="tns:NhincComponentConnectionManagerPortType" inputVariable="GetConnectionInfoIn" outputVariable="GetConnectionInfoOut"/>
113 <assign name="AssignNhinSubscribe">
114 <copy>
115 <from>$SubscribeIn.SubscribeRequest/wsnt:Subscribe</from>
116 <to variable="NhinSubscribeIn" part="SubscribeRequest"/>
117 </copy>
118 <copy>
119 <from>'subscribe'</from>
120 <to variable="NhinSubscribeIn" property="wsntw:action"/>
121 </copy>
122 <copy>
123 <from>$SubscribeIn.SubscribeRequest/nccommonproxy:assertion/nccommon:expirationDate</from>
124 <to variable="NhinSubscribeIn" property="wsntw:expirationDate"/>
125 </copy>
126 <copy>
127 <from>$SubscribeIn.SubscribeRequest/nccommonproxy:assertion/nccommon:dateOfSignature</from>
128 <to variable="NhinSubscribeIn" property="wsntw:signDate"/>
129 </copy>
130 <copy>
131 <from>$SubscribeIn.SubscribeRequest/nccommonproxy:assertion/nccommon:claimFormRef</from>
132 <to variable="NhinSubscribeIn" property="wsntw:contentReference"/>
133 </copy>
134 <copy>
135 <from>$SubscribeIn.SubscribeRequest/nccommonproxy:assertion/nccommon:claimFormRaw</from>
136 <to variable="NhinSubscribeIn" property="wsntw:content"/>
137 </copy>
138 <copy>
139 <from>$SubscribeIn.SubscribeRequest/nccommonproxy:assertion/nccommon:purposeOfDisclosureCoded/nccommon:codeSystem</from>
140 <to variable="NhinSubscribeIn" property="wsntw:purposeForUseCodeSystem"/>
141 </copy>
142 <copy>
143 <from>$SubscribeIn.SubscribeRequest/nccommonproxy:assertion/nccommon:purposeOfDisclosureCoded/nccommon:code</from>
144 <to variable="NhinSubscribeIn" property="wsntw:purposeForUseRoleCode"/>
145 </copy>
146 <copy>
147 <from>$SubscribeIn.SubscribeRequest/nccommonproxy:assertion/nccommon:purposeOfDisclosureCoded/nccommon:codeSystemName</from>
148 <to variable="NhinSubscribeIn" property="wsntw:purposeForUseCodeSystemName"/>
149 </copy>
150 <copy>
151 <from>$SubscribeIn.SubscribeRequest/nccommonproxy:assertion/nccommon:purposeOfDisclosureCoded/nccommon:displayName</from>
152 <to variable="NhinSubscribeIn" property="wsntw:purposeForUseDisplayName"/>
153 </copy>
154 <copy>
155 <from>$SubscribeIn.SubscribeRequest/nccommonproxy:assertion/nccommon:userInfo/nccommon:userName</from>
156 <to variable="NhinSubscribeIn" property="wsntw:userName"/>
157 </copy>
158 <copy>
159 <from>$SubscribeIn.SubscribeRequest/nccommonproxy:assertion/nccommon:userInfo/nccommon:personName/nccommon:familyName</from>
160 <to variable="NhinSubscribeIn" property="wsntw:userLastName"/>
161 </copy>
162 <copy>
163 <from>$SubscribeIn.SubscribeRequest/nccommonproxy:assertion/nccommon:userInfo/nccommon:personName/nccommon:givenName</from>
164 <to variable="NhinSubscribeIn" property="wsntw:userFirstName"/>
165 </copy>
166 <copy>
167 <from>$SubscribeIn.SubscribeRequest/nccommonproxy:assertion/nccommon:userInfo/nccommon:personName/nccommon:secondNameOrInitials</from>
168 <to variable="NhinSubscribeIn" property="wsntw:userMiddleName"/>
169 </copy>
170 <copy>
171 <from>$SubscribeIn.SubscribeRequest/nccommonproxy:assertion/nccommon:userInfo/nccommon:org/nccommon:name</from>
172 <to variable="NhinSubscribeIn" property="wsntw:userOrganization"/>
173 </copy>
174 <copy>
175 <from>$SubscribeIn.SubscribeRequest/nccommonproxy:assertion/nccommon:userInfo/nccommon:roleCoded/nccommon:code</from>
176 <to variable="NhinSubscribeIn" property="wsntw:userRoleCode"/>
177 </copy>
178 <copy>
179 <from>$SubscribeIn.SubscribeRequest/nccommonproxy:assertion/nccommon:userInfo/nccommon:roleCoded/nccommon:codeSystem</from>
180 <to variable="NhinSubscribeIn" property="wsntw:userRoleCodeSystem"/>
181 </copy>
182 <copy>
183 <from>$SubscribeIn.SubscribeRequest/nccommonproxy:assertion/nccommon:userInfo/nccommon:roleCoded/nccommon:codeSystemName</from>
184 <to variable="NhinSubscribeIn" property="wsntw:userRoleCodeSystemName"/>
185 </copy>
186 <copy>
187 <from>$SubscribeIn.SubscribeRequest/nccommonproxy:assertion/nccommon:userInfo/nccommon:roleCoded/nccommon:displayName</from>
188 <to variable="NhinSubscribeIn" property="wsntw:userRoleCodeDisplayName"/>
189 </copy>
190 <copy>
191 <from>string($GetConnectionInfoOut.GetConnectionInfoEndpontFromNhinTargetResponse/nccommon:EndpointReference/addr:Address)</from>
192 <to variable="NhinSubscribeIn" property="wsntw:resource"/>
193 </copy>
194 <copy>
195 <from>bpel:doXslTransform('urn:stylesheets:wrap2serviceref.xsl', $GetConnectionInfoOut.GetConnectionInfoEndpontFromNhinTargetResponse/nccommon:EndpointReference)</from>
196 <to partnerLink="NhinSubscribePL"/>
197 </copy>
198 </assign>
199 <invoke name="InvokeNhinSubscribe" partnerLink="NhinSubscribePL" operation="Subscribe" xmlns:wsntw="http://docs.oasis-open.org/wsn/bw-2" portType="wsntw:NotificationProducer" inputVariable="NhinSubscribeIn" outputVariable="NhinSubscribeOut">
200 <sxt:trace>
201 <sxt:log level="info" location="onStart">
202 <bpel:from>'### Subscribe message sent to remote gateway...'</bpel:from>
203 </sxt:log>
204 <sxt:log level="warning" location="onStart">
205 <bpel:from variable="SubscribeIn"/>
206 </sxt:log>
207 </sxt:trace>
208 </invoke>
209 <assign name="AssignLogSubscribeRespRequestInput">
210 <copy>
211 <from>$SubscribeIn.SubscribeRequest/nccommonproxy:assertion</from>
212 <to>$LogSubscribeRespRequestIn.LogSubscribeRespRequest/ns0:message/ns0:assertion</to>
213 </copy>
214 <copy>
215 <from variable="NhinSubscribeOut" part="SubscribeResponse"/>
216 <to>$LogSubscribeRespRequestIn.LogSubscribeRespRequest/ns0:message/wsnt:SubscribeResponse</to>
217 </copy>
218 <copy>
219 <from>'Outbound'</from>
220 <to>$LogSubscribeRespRequestIn.LogSubscribeRespRequest/ns2:direction</to>
221 </copy>
222 <copy>
223 <from>'Nhin'</from>
224 <to>$LogSubscribeRespRequestIn.LogSubscribeRespRequest/ns2:interface</to>
225 </copy>
226 <copy>
227 <from variable="NhinSubscribeOut" part="SubscribeResponse"/>
228 <to variable="SubscribeOut" part="SubscribeResponse"/>
229 </copy>
230 </assign>
231 <invoke name="InvokeLogSubscribeRespRequest" partnerLink="AuditLogPL" operation="LogSubscribeRespRequest" xmlns:tns="urn:gov:hhs:fha:nhinc:nhinccomponentinternalauditrepository" portType="tns:NhincComponentInternalAuditRepositoryPortType" inputVariable="LogSubscribeRespRequestIn" outputVariable="LogSubscribeRespRequestOut"/>
232 <reply name="ReplySubscription" partnerLink="NhinProxySubscribePL" operation="Subscribe" xmlns:tns="urn:gov:hhs:fha:nhinc:nhincproxysubscriptionmanagement" portType="tns:NhincProxyNotificationProducerPortType" variable="SubscribeOut">
233 <sxt:trace>
234 <sxt:log level="info" location="onStart">
235 <bpel:from>'Audit log - subscribe response completed...'</bpel:from>
236 </sxt:log>
237 <sxt:log level="warning" location="onStart">
238 <bpel:from variable="LogSubscribeRespRequestOut"/>
239 </sxt:log>
240 </sxt:trace>
241 </reply>
242 </sequence>
243 </scope>
244 </sequence>
245</process>
Note: See TracBrowser for help on using the repository browser.