source: ccr/trunk/nhin-vista/projects/NHINC/Current/Product/Production/Gateway/NhincInternalOrchBPEL/src/NhincComponentInternalSubscriptionOrch.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: 34.1 KB
Line 
1<?xml version="1.0" encoding="UTF-8"?>
2<process
3 name="NhincComponentInternalSubscriptionOrch"
4 targetNamespace="urn:gov:hhs:fha:nhinc:gateway:nhincinternalorchbpel:nhinccomponentinternalsubscriptionorch"
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:nhincinternalorchbpel:nhinccomponentinternalsubscriptionorch"
12 xmlns:sxxf="http://www.sun.com/wsbpel/2.0/process/executable/SUNExtension/XPathFunctions"
13 xmlns:ns0="http://docs.oasis-open.org/wsn/b-2"
14 xmlns:ns1="urn:gov:hhs:fha:nhinc:common:subscription"
15 xmlns:ns2="urn:gov:hhs:fha:nhinc:common:nhinccommonadapter"
16 xmlns:ns3="urn:gov:hhs:fha:nhinc:common:nhinccommoninternalorch"
17 xmlns:ns4="urn:gov:hhs:fha:nhinc:common:subscriptionb2overridefordocuments"
18 xmlns:ns5="urn:gov:hhs:fha:nhinc:common:subscriptionb2overrideforcdc"
19 xmlns:ns6="urn:gov:hhs:fha:nhinc:common:subscriptiondte"
20 xmlns:ns7="urn:gov:hhs:fha:nhinc:common:propertyaccess"
21 xmlns:ns8="urn:gov:hhs:fha:nhinc:common:connectionmanagerinfo"
22 xmlns:ns9="urn:gov:hhs:fha:nhinc:common:nhinccommon"
23 xmlns:ns10="http://docs.oasis-open.org/wsbpel/2.0/process/executable"
24 xmlns:ns11="urn:gov:hhs:fha:nhinc:common:eventcommon" xmlns:ns12="urn:oasis:names:tc:xacml:2.0:context:schema:os">
25 <import namespace="urn:gov:hhs:fha:nhinc:nhinccomponentinternalsubscriptionmanagementorch" location="Interfaces/wsdl/NhincComponentInternalSubscriptionManagementOrch.wsdl" importType="http://schemas.xmlsoap.org/wsdl/"/>
26 <import namespace="http://docs.oasis-open.org/wsrf/rw-2" location="Interfaces/wsdl/rw-2.wsdl" importType="http://schemas.xmlsoap.org/wsdl/"/>
27 <import namespace="urn:gov:hhs:fha:nhinc:nhinccomponentpropaccessor" location="Interfaces/wsdl/NhincComponentPropAccessor.wsdl" importType="http://schemas.xmlsoap.org/wsdl/"/>
28 <import namespace="urn:gov:hhs:fha:nhinc:nhincinternalcomponentpolicyenginetransform" location="Interfaces/wsdl/NhincComponentInternalSubscriptionDte.wsdl" importType="http://schemas.xmlsoap.org/wsdl/"/>
29 <import namespace="urn:gov:hhs:fha:nhinc:adaptersubscriptionmanagement" location="Interfaces/wsdl/AdapterSubscriptionManagement.wsdl" importType="http://schemas.xmlsoap.org/wsdl/"/>
30 <import namespace="urn:gov:hhs:fha:nhinc:nhinccomponentsubscriptionrepository" location="Interfaces/wsdl/NhincComponentSubscriptionRepository.wsdl" importType="http://schemas.xmlsoap.org/wsdl/"/>
31 <import namespace="urn:gov:hhs:fha:nhinc:nhinccomponentconnectionmanager" location="Interfaces/wsdl/NhincComponentConnectionManager.wsdl" importType="http://schemas.xmlsoap.org/wsdl/"/>
32 <import namespace="urn:gov:hhs:fha:nhinc:NhincComponentInternalPolicyEngineFacade" location="Interfaces/wsdl/NhincComponentInternalPolicyEngineFacade.wsdl" importType="http://schemas.xmlsoap.org/wsdl/"/>
33 <partnerLinks>
34 <partnerLink name="SubscriptionDtePL" xmlns:tns="urn:gov:hhs:fha:nhinc:nhincinternalcomponentpolicyenginetransform" partnerLinkType="tns:NhincComponentInternalSubscriptionDte" partnerRole="NhincComponentInternalSubscriptionDtePortTypeRole"/>
35 <partnerLink name="PolicyEnginePL" xmlns:tns="urn:gov:hhs:fha:nhinc:NhincComponentInternalPolicyEngineFacade" partnerLinkType="tns:NhincComponentInternalPolicyEngineFacade" partnerRole="NhincComponentInternalPolicyEngineFacadePortTypeRole"/>
36 <partnerLink name="SubscriptionRepositoryPL" xmlns:tns="urn:gov:hhs:fha:nhinc:nhinccomponentsubscriptionrepository" partnerLinkType="tns:NhincComponentSubscriptionRepository" partnerRole="NhincComponentSubscriptionRepositoryPortTypeRole"/>
37 <partnerLink name="AdapterSubscriptionPL" xmlns:tns="urn:gov:hhs:fha:nhinc:adaptersubscriptionmanagement" partnerLinkType="tns:AdapterNotificationProducer" partnerRole="AdapterNotificationProducerPortTypeRole"/>
38 <partnerLink name="PropAccessorPL" xmlns:tns="urn:gov:hhs:fha:nhinc:nhinccomponentpropaccessor" partnerLinkType="tns:NhincComponentPropAccessor" partnerRole="NhincComponentPropAccessorPortTypeRole"/>
39 <partnerLink name="ConnectionManagerPL" xmlns:tns="urn:gov:hhs:fha:nhinc:nhinccomponentconnectionmanager" partnerLinkType="tns:NhincComponentConnectionManager" partnerRole="NhincComponentConnectionManagerPortTypeRole"/>
40 <partnerLink name="SubscriptionPL" xmlns:tns="urn:gov:hhs:fha:nhinc:nhinccomponentinternalsubscriptionmanagementorch" partnerLinkType="tns:NhincComponentInternalNotificationProducer" myRole="NhincComponentInternalNotificationProducerPortTypeRole"/>
41 </partnerLinks>
42 <variables>
43 <variable name="SubscribeOut" xmlns:tns="urn:gov:hhs:fha:nhinc:nhinccomponentinternalsubscriptionmanagementorch" messageType="tns:SubscribeResponse"/>
44 <variable name="SubscribeIn" xmlns:tns="urn:gov:hhs:fha:nhinc:nhinccomponentinternalsubscriptionmanagementorch" messageType="tns:SubscribeRequest"/>
45 </variables>
46 <sequence>
47 <receive name="ReceiveSubscribe" createInstance="yes" partnerLink="SubscriptionPL" operation="Subscribe" xmlns:tns="urn:gov:hhs:fha:nhinc:nhinccomponentinternalsubscriptionmanagementorch" portType="tns:NhincComponentInternalNotificationProducerPortType" variable="SubscribeIn"/>
48 <scope name="SubscribeScope">
49 <variables>
50 <variable name="CheckPolicyDocSubscribeOut" xmlns:tns="urn:gov:hhs:fha:nhinc:NhincComponentInternalPolicyEngineFacade" messageType="tns:CheckPolicyResponseMessage"/>
51 <variable name="CheckPolicyDocSubscribeIn" xmlns:tns="urn:gov:hhs:fha:nhinc:NhincComponentInternalPolicyEngineFacade" messageType="tns:CheckPolicySubscribeRequestMessage"/>
52 <variable name="CheckPolicyCdcSubscribeOut" xmlns:tns="urn:gov:hhs:fha:nhinc:NhincComponentInternalPolicyEngineFacade" messageType="tns:CheckPolicyResponseMessage"/>
53 <variable name="CheckPolicyCdcSubscribeIn" xmlns:tns="urn:gov:hhs:fha:nhinc:NhincComponentInternalPolicyEngineFacade" messageType="tns:CheckPolicySubscribeRequestMessage"/>
54 <variable name="GetPropertyOut" xmlns:tns="urn:gov:hhs:fha:nhinc:nhinccomponentpropaccessor" messageType="tns:GetPropertyResponseMessage"/>
55 <variable name="GetPropertyIn" xmlns:tns="urn:gov:hhs:fha:nhinc:nhinccomponentpropaccessor" messageType="tns:GetPropertyRequestMessage"/>
56 <variable name="HomeCommunity" type="xsd:string"/>
57 <variable name="GetConnectionInfoEndpointByServiceNameOut" xmlns:tns="urn:gov:hhs:fha:nhinc:nhinccomponentconnectionmanager" messageType="tns:GetConnectionInfoEndpointByServiceNameResponseMessage"/>
58 <variable name="GetConnectionInfoEndpointByServiceNameIn" xmlns:tns="urn:gov:hhs:fha:nhinc:nhinccomponentconnectionmanager" messageType="tns:GetConnectionInfoEndpointByServiceNameRequestMessage"/>
59 <variable name="CreateAgencySubscribeDocumentOut" xmlns:tns="urn:gov:hhs:fha:nhinc:nhincinternalcomponentpolicyenginetransform" messageType="tns:CreateAgencySubscribeDocumentResponseMessage"/>
60 <variable name="CreateAgencySubscribeDocumentIn" xmlns:tns="urn:gov:hhs:fha:nhinc:nhincinternalcomponentpolicyenginetransform" messageType="tns:CreateAgencySubscribeDocumentRequestMessage"/>
61 <variable name="CreateAgencySubscribeCdcBioPackageOut" xmlns:tns="urn:gov:hhs:fha:nhinc:nhincinternalcomponentpolicyenginetransform" messageType="tns:CreateAgencySubscribeCdcBioPackageResponseMessage"/>
62 <variable name="CreateAgencySubscribeCdcBioPackageIn" xmlns:tns="urn:gov:hhs:fha:nhinc:nhincinternalcomponentpolicyenginetransform" messageType="tns:CreateAgencySubscribeCdcBioPackageRequestMessage"/>
63 <variable name="CreateSubscribeResponseOut" xmlns:tns="urn:gov:hhs:fha:nhinc:nhincinternalcomponentpolicyenginetransform" messageType="tns:CreateSubscribeResponseResponseMessage"/>
64 <variable name="CreateSubscribeResponseIn" xmlns:tns="urn:gov:hhs:fha:nhinc:nhincinternalcomponentpolicyenginetransform" messageType="tns:CreateSubscribeResponseRequestMessage"/>
65 <variable name="SubscribeDocumentOut" xmlns:tns="urn:gov:hhs:fha:nhinc:adaptersubscriptionmanagement" messageType="tns:SubscribeDocumentResponseMessage"/>
66 <variable name="SubscribeDocumentIn" xmlns:tns="urn:gov:hhs:fha:nhinc:adaptersubscriptionmanagement" messageType="tns:SubscribeDocumentRequestMessage"/>
67 <variable name="StoreSubscriptionOut" xmlns:tns="urn:gov:hhs:fha:nhinc:nhinccomponentsubscriptionrepository" messageType="tns:StoreSubscriptionResponse"/>
68 <variable name="StoreSubscriptionIn" xmlns:tns="urn:gov:hhs:fha:nhinc:nhinccomponentsubscriptionrepository" messageType="tns:StoreSubscriptionRequest"/>
69 <variable name="SubscribeCdcBioPackageOut" xmlns:tns="urn:gov:hhs:fha:nhinc:adaptersubscriptionmanagement" messageType="tns:SubscribeCdcBioPackageResponseMessage"/>
70 <variable name="SubscribeCdcBioPackageIn" xmlns:tns="urn:gov:hhs:fha:nhinc:adaptersubscriptionmanagement" messageType="tns:SubscribeCdcBioPackageRequestMessage"/>
71 <variable name="Topic" type="xsd:string"/>
72 <variable name="TransformNhinSubscribeToInternalSubscribeOut" xmlns:tns="urn:gov:hhs:fha:nhinc:nhincinternalcomponentpolicyenginetransform" messageType="tns:TransformNhinSubscribeToInternalSubscribeResponseMessage"/>
73 <variable name="TransformNhinSubscribeToInternalSubscribeIn" xmlns:tns="urn:gov:hhs:fha:nhinc:nhincinternalcomponentpolicyenginetransform" messageType="tns:TransformNhinSubscribeToInternalSubscribeRequestMessage"/>
74 </variables>
75 <faultHandlers>
76 <catch faultName="sxeh:systemFault" faultVariable="systemFaultVar" faultMessageType="sxeh:faultMessage">
77 <sequence name="Sequence1">
78 <assign name="AssignErrorCodes">
79 <sxt:trace>
80 <sxt:log level="info" location="onStart">
81 <from>'System fault encountered in NhinComponentInternalSubscriptionOrch BPEL. Fault detail follows...'</from>
82 </sxt:log>
83 <sxt:log level="warning" location="onStart">
84 <from variable="systemFaultVar"/>
85 </sxt:log>
86 </sxt:trace>
87 <copy>
88 <from>sxxf:current-dateTime()</from>
89 <to>$SubscribeOut.SubscribeResponse/ns0:CurrentTime</to>
90 </copy>
91 </assign>
92 <reply name="ReplyFromFault" partnerLink="SubscriptionPL" operation="Subscribe" xmlns:tns="urn:gov:hhs:fha:nhinc:nhinccomponentinternalsubscriptionmanagementorch" portType="tns:NhincComponentInternalNotificationProducerPortType" variable="SubscribeOut"/>
93 <exit name="ExitAfterFault"/>
94 </sequence>
95 </catch>
96 </faultHandlers>
97 <sequence name="SubscribeSeq">
98 <assign name="AssignTransformSubscribeInput">
99 <copy>
100 <from>$SubscribeIn.SubscribeRequest/ns0:Subscribe</from>
101 <to>$TransformNhinSubscribeToInternalSubscribeIn.TransformNhinSubscribeToInternalSubscribe/ns0:Subscribe</to>
102 </copy>
103 <copy>
104 <from>''</from>
105 <to variable="Topic"/>
106 </copy>
107 </assign>
108 <invoke name="InvokeTransformSubscribe" partnerLink="SubscriptionDtePL" operation="TransformNhinSubscribeToInternalSubscribe" xmlns:tns="urn:gov:hhs:fha:nhinc:nhincinternalcomponentpolicyenginetransform" portType="tns:NhincComponentInternalSubscriptionDtePortType" inputVariable="TransformNhinSubscribeToInternalSubscribeIn" outputVariable="TransformNhinSubscribeToInternalSubscribeOut">
109 <sxt:trace>
110 <sxt:log level="info" location="onStart">
111 <from>'NhincComponentInternalSubscriptionOrch.bpel, Calling transform nhin subscribe to internal subscription item'</from>
112 </sxt:log>
113 </sxt:trace>
114 </invoke>
115 <if name="IfHasTopic">
116 <condition>$TransformNhinSubscribeToInternalSubscribeOut.TransformNhinSubscribeToInternalSubscribe/ns1:SubscriptionItem/ns1:SubscriptionCriteria/ns1:TopicExpression</condition>
117 <assign name="AssignTopic">
118 <sxt:trace>
119 <sxt:log level="info" location="onComplete">
120 <from>concat('NhincComponentInternalSubscriptionOrch - topic extracted from subscription: ', $Topic)</from>
121 </sxt:log>
122 </sxt:trace>
123 <copy>
124 <from>$TransformNhinSubscribeToInternalSubscribeOut.TransformNhinSubscribeToInternalSubscribe/ns1:SubscriptionItem/ns1:SubscriptionCriteria/ns1:TopicExpression</from>
125 <to variable="Topic"/>
126 </copy>
127 </assign>
128 </if>
129 <assign name="AssignGetHomeCommunityInput">
130 <copy>
131 <from>'gateway'</from>
132 <to>$GetPropertyIn.GetPropertyRequest/ns7:propertyFile</to>
133 </copy>
134 <copy>
135 <from>'localHomeCommunityId'</from>
136 <to>$GetPropertyIn.GetPropertyRequest/ns7:propertyName</to>
137 </copy>
138 </assign>
139 <invoke name="InvokeGetHomeCommunityId" partnerLink="PropAccessorPL" operation="GetProperty" xmlns:tns="urn:gov:hhs:fha:nhinc:nhinccomponentpropaccessor" portType="tns:NhincComponentPropAccessorPortType" inputVariable="GetPropertyIn" outputVariable="GetPropertyOut"/>
140 <assign name="AssignGetHomeCommunityOutput">
141 <copy>
142 <from>$GetPropertyOut.GetPropertyResponse/ns7:propertyValue</from>
143 <to variable="HomeCommunity"/>
144 </copy>
145 </assign>
146 <if name="IfTopicType">
147 <condition>$Topic = 'nhin-cdc:CdcBioPackage'</condition>
148 <sequence name="CdcBioPackageSeq">
149 <assign name="AssignPolicyCheckCdcSubscribe">
150 <copy>
151 <from>'Inbound'</from>
152 <to>$CheckPolicyCdcSubscribeIn.CheckPolicySubscribeRequest/ns11:direction</to>
153 </copy>
154 <copy>
155 <from>'Nhin'</from>
156 <to>$CheckPolicyCdcSubscribeIn.CheckPolicySubscribeRequest/ns11:interface</to>
157 </copy>
158 <copy>
159 <from>$SubscribeIn.SubscribeRequest/ns3:assertion</from>
160 <to>$CheckPolicyCdcSubscribeIn.CheckPolicySubscribeRequest/ns11:message/ns11:assertion</to>
161 </copy>
162 <copy>
163 <from>$SubscribeIn.SubscribeRequest/ns0:Subscribe</from>
164 <to>$CheckPolicyCdcSubscribeIn.CheckPolicySubscribeRequest/ns11:message/ns0:Subscribe</to>
165 </copy>
166 </assign>
167 <invoke name="InvokePolicyCheckCdcSubscribe" partnerLink="PolicyEnginePL" operation="CheckPolicySubscribe" xmlns:tns="urn:gov:hhs:fha:nhinc:NhincComponentInternalPolicyEngineFacade" portType="tns:NhincComponentInternalPolicyEngineFacadePortType" inputVariable="CheckPolicyCdcSubscribeIn" outputVariable="CheckPolicyCdcSubscribeOut"/>
168 <if name="IfCdcPolicyValid">
169 <condition>$CheckPolicyCdcSubscribeOut.CheckPolicyResponse/ns2:response/ns12:Result/ns12:Decision = 'Permit'</condition>
170 <sequence name="CdcPolicyValidSeq">
171 <assign name="AssignStoreCdcBioPackageSubscriptionInput">
172 <sxt:trace>
173 <sxt:log level="info" location="onStart">
174 <from>'NhincComponentInternalSubscriptionOrch - processing a CDC Bio Package Subscription'</from>
175 </sxt:log>
176 </sxt:trace>
177 <copy>
178 <from>$TransformNhinSubscribeToInternalSubscribeOut.TransformNhinSubscribeToInternalSubscribe/ns1:SubscriptionItem</from>
179 <to variable="StoreSubscriptionIn" part="subscriptionItem"/>
180 </copy>
181 </assign>
182 <invoke name="InvokeStoreCdcBioPackageSubscription" partnerLink="SubscriptionRepositoryPL" operation="StoreSubscription" xmlns:tns="urn:gov:hhs:fha:nhinc:nhinccomponentsubscriptionrepository" portType="tns:NhincComponentSubscriptionRepositoryPortType" inputVariable="StoreSubscriptionIn" outputVariable="StoreSubscriptionOut">
183 <sxt:trace>
184 <sxt:log level="info" location="onStart">
185 <from>'NhincComponentInternalSubscriptionOrch - Storing CDC BioPackage subscription'</from>
186 </sxt:log>
187 </sxt:trace>
188 </invoke>
189 <assign name="AssignCreateAgencySubscribeCdcBioPackageInput">
190 <copy>
191 <from>$SubscribeIn.SubscribeRequest/ns0:Subscribe</from>
192 <to>$CreateAgencySubscribeCdcBioPackageIn.CreateAgencySubscribeCdcBioPackageRequest/ns0:Subscribe</to>
193 </copy>
194 </assign>
195 <invoke name="InvokeCreateAgencySubscribeCdcBioPackage" partnerLink="SubscriptionDtePL" operation="CreateAgencySubscribeCdcBioPackage" xmlns:tns="urn:gov:hhs:fha:nhinc:nhincinternalcomponentpolicyenginetransform" portType="tns:NhincComponentInternalSubscriptionDtePortType" inputVariable="CreateAgencySubscribeCdcBioPackageIn" outputVariable="CreateAgencySubscribeCdcBioPackageOut"/>
196 <assign name="AssignAdapterSubscribeCdcBioPackageInput">
197 <copy>
198 <from>$SubscribeIn.SubscribeRequest/ns3:assertion</from>
199 <to>$SubscribeCdcBioPackageIn.SubscribeCdcBioPackageRequest/ns2:assertion</to>
200 </copy>
201 <copy>
202 <from>$CreateAgencySubscribeCdcBioPackageOut.CreateAgencySubscribeCdcBioPackageResponse/ns6:subscribe</from>
203 <to>$SubscribeCdcBioPackageIn.SubscribeCdcBioPackageRequest/ns2:subscribe</to>
204 </copy>
205 </assign>
206 <assign name="AssignGetCdcBioPackageSubscribeEndpointInput">
207 <copy>
208 <from variable="HomeCommunity"/>
209 <to>$GetConnectionInfoEndpointByServiceNameIn.GetConnectionInfoEndpointByServiceNameRequest/ns8:homeCommunityWithServiceName/ns8:homeCommunity/ns9:homeCommunityId</to>
210 </copy>
211 <copy>
212 <from>'adapternotificationproducercdcbiopackage'</from>
213 <to>$GetConnectionInfoEndpointByServiceNameIn.GetConnectionInfoEndpointByServiceNameRequest/ns8:homeCommunityWithServiceName/ns8:serviceName</to>
214 </copy>
215 </assign>
216 <invoke name="InvokeGetCdcBioPackageSubscribeEndpoint" partnerLink="ConnectionManagerPL" operation="GetConnectionInfoEndpointByServiceName" xmlns:tns="urn:gov:hhs:fha:nhinc:nhinccomponentconnectionmanager" portType="tns:NhincComponentConnectionManagerPortType" inputVariable="GetConnectionInfoEndpointByServiceNameIn" outputVariable="GetConnectionInfoEndpointByServiceNameOut"/>
217 <assign name="AssignGetCdcBioPackageSubscribeEndpointOutput">
218 <copy>
219 <from>ns10:doXslTransform('urn:stylesheets:wrap2serviceref.xsl', $GetConnectionInfoEndpointByServiceNameOut.ConnectionInfoEndpoint/ns8:serviceConnectionInfoEndpoints/ns8:serviceConnectionInfoEndpoint/ns9:EPR/ns9:EndpointReference)</from>
220 <to partnerLink="AdapterSubscriptionPL"/>
221 </copy>
222 </assign>
223 <empty name="TODO_LogAuditBeforeAdapterSubscribeDocument"/>
224 <invoke name="InvokeAdapterSubscribeCdcBioPackage" partnerLink="AdapterSubscriptionPL" operation="SubscribeCdcBioPackage" xmlns:tns="urn:gov:hhs:fha:nhinc:adaptersubscriptionmanagement" portType="tns:AdapterNotificationProducerPortType" inputVariable="SubscribeCdcBioPackageIn" outputVariable="SubscribeCdcBioPackageOut">
225 <sxt:trace>
226 <sxt:log level="info" location="onComplete">
227 <from>'Adapter CdcBioPackage subscribe response...'</from>
228 </sxt:log>
229 <sxt:log level="warning" location="onComplete">
230 <from variable="SubscribeCdcBioPackageOut"/>
231 </sxt:log>
232 </sxt:trace>
233 </invoke>
234 </sequence>
235 </if>
236 </sequence>
237 <elseif>
238 <condition>$Topic = 'document'</condition>
239 <sequence name="DocumentSeq">
240 <assign name="AssignPolicyCheckDocSubscribe">
241 <copy>
242 <from>$SubscribeIn.SubscribeRequest/ns0:Subscribe</from>
243 <to>$CheckPolicyDocSubscribeIn.CheckPolicySubscribeRequest/ns11:message/ns0:Subscribe</to>
244 </copy>
245 <copy>
246 <from>$SubscribeIn.SubscribeRequest/ns3:assertion</from>
247 <to>$CheckPolicyDocSubscribeIn.CheckPolicySubscribeRequest/ns11:message/ns11:assertion</to>
248 </copy>
249 <copy>
250 <from>'Inbound'</from>
251 <to>$CheckPolicyDocSubscribeIn.CheckPolicySubscribeRequest/ns11:direction</to>
252 </copy>
253 <copy>
254 <from>'Nhin'</from>
255 <to>$CheckPolicyDocSubscribeIn.CheckPolicySubscribeRequest/ns11:interface</to>
256 </copy>
257 </assign>
258 <invoke name="InvokePolicyCheckDocSubscribe" partnerLink="PolicyEnginePL" operation="CheckPolicySubscribe" xmlns:tns="urn:gov:hhs:fha:nhinc:NhincComponentInternalPolicyEngineFacade" portType="tns:NhincComponentInternalPolicyEngineFacadePortType" inputVariable="CheckPolicyDocSubscribeIn" outputVariable="CheckPolicyDocSubscribeOut"/>
259 <if name="IfDocPolicyValid">
260 <condition>$CheckPolicyDocSubscribeOut.CheckPolicyResponse/ns2:response/ns12:Result/ns12:Decision = 'Permit'</condition>
261 <sequence name="SeqPolicyValidSeq">
262 <assign name="AssignStoreDocumentSubscriptionOutput">
263 <sxt:trace>
264 <sxt:log level="info" location="onStart">
265 <from>'NhincComponentInternalSubscriptionOrch - processing a document subscription'</from>
266 </sxt:log>
267 </sxt:trace>
268 <copy>
269 <from>$TransformNhinSubscribeToInternalSubscribeOut.TransformNhinSubscribeToInternalSubscribe/ns1:SubscriptionItem</from>
270 <to variable="StoreSubscriptionIn" part="subscriptionItem"/>
271 </copy>
272 </assign>
273 <invoke name="InvokeStoreDocumentSubscription" partnerLink="SubscriptionRepositoryPL" operation="StoreSubscription" xmlns:tns="urn:gov:hhs:fha:nhinc:nhinccomponentsubscriptionrepository" portType="tns:NhincComponentSubscriptionRepositoryPortType" inputVariable="StoreSubscriptionIn" outputVariable="StoreSubscriptionOut">
274 <sxt:trace>
275 <sxt:log level="info" location="onStart">
276 <from>'NhincComponentInternalSubscriptionOrch - Storing document subscription'</from>
277 </sxt:log>
278 </sxt:trace>
279 </invoke>
280 <assign name="AssignCreateAgencySubscribeDocument">
281 <copy>
282 <from>$SubscribeIn.SubscribeRequest/ns0:Subscribe</from>
283 <to>$CreateAgencySubscribeDocumentIn.CreateAgencySubscribeDocumentRequest/ns0:Subscribe</to>
284 </copy>
285 </assign>
286 <invoke name="InvokeCreateAgencySubscribeDocument" partnerLink="SubscriptionDtePL" operation="CreateAgencySubscribeDocument" xmlns:tns="urn:gov:hhs:fha:nhinc:nhincinternalcomponentpolicyenginetransform" portType="tns:NhincComponentInternalSubscriptionDtePortType" inputVariable="CreateAgencySubscribeDocumentIn" outputVariable="CreateAgencySubscribeDocumentOut"/>
287 <assign name="AssignAdapterSubscribeDocumentInput">
288 <copy>
289 <from>$SubscribeIn.SubscribeRequest/ns3:assertion</from>
290 <to>$SubscribeDocumentIn.SubscribeDocumentRequest/ns2:assertion</to>
291 </copy>
292 <copy>
293 <from>$CreateAgencySubscribeDocumentOut.CreateAgencySubscribeDocumentResponse/ns6:subscribe/ns1:ConsumerReference</from>
294 <to>$SubscribeDocumentIn.SubscribeDocumentRequest/ns2:subscribe/ns4:ConsumerReference</to>
295 </copy>
296 <copy>
297 <from>$CreateAgencySubscribeDocumentOut.CreateAgencySubscribeDocumentResponse/ns6:subscribe/ns1:AdhocQuery</from>
298 <to>$SubscribeDocumentIn.SubscribeDocumentRequest/ns2:subscribe/ns4:AdhocQuery</to>
299 </copy>
300 </assign>
301 <assign name="AssignGetDocumentSubscribeEndpointInput">
302 <copy>
303 <from variable="HomeCommunity"/>
304 <to>$GetConnectionInfoEndpointByServiceNameIn.GetConnectionInfoEndpointByServiceNameRequest/ns8:homeCommunityWithServiceName/ns8:homeCommunity/ns9:homeCommunityId</to>
305 </copy>
306 <copy>
307 <from>'adapternotificationproducerdocument'</from>
308 <to>$GetConnectionInfoEndpointByServiceNameIn.GetConnectionInfoEndpointByServiceNameRequest/ns8:homeCommunityWithServiceName/ns8:serviceName</to>
309 </copy>
310 </assign>
311 <invoke name="InvokeGetDocumentSubscribeEndpoint" partnerLink="ConnectionManagerPL" operation="GetConnectionInfoEndpointByServiceName" xmlns:tns="urn:gov:hhs:fha:nhinc:nhinccomponentconnectionmanager" portType="tns:NhincComponentConnectionManagerPortType" inputVariable="GetConnectionInfoEndpointByServiceNameIn" outputVariable="GetConnectionInfoEndpointByServiceNameOut"/>
312 <assign name="AssignGetDocumentSubscribeEndpointOutput">
313 <copy>
314 <from>ns10:doXslTransform('urn:stylesheets:wrap2serviceref.xsl', $GetConnectionInfoEndpointByServiceNameOut.ConnectionInfoEndpoint/ns8:serviceConnectionInfoEndpoints/ns8:serviceConnectionInfoEndpoint/ns9:EPR/ns9:EndpointReference)</from>
315 <to partnerLink="AdapterSubscriptionPL"/>
316 </copy>
317 </assign>
318 <empty name="TODO_LogAuditBeforeAdapterSubscribeCdcBioPackage"/>
319 <invoke name="InvokeAdapterSubscribeDocument" partnerLink="AdapterSubscriptionPL" operation="SubscribeDocument" xmlns:tns="urn:gov:hhs:fha:nhinc:adaptersubscriptionmanagement" portType="tns:AdapterNotificationProducerPortType" inputVariable="SubscribeDocumentIn" outputVariable="SubscribeDocumentOut">
320 <sxt:trace>
321 <sxt:log level="info" location="onComplete">
322 <from>'Response from adapter subscribe document...'</from>
323 </sxt:log>
324 <sxt:log level="warning" location="onComplete">
325 <from variable="SubscribeDocumentOut"/>
326 </sxt:log>
327 </sxt:trace>
328 </invoke>
329 </sequence>
330 </if>
331 </sequence>
332 </elseif>
333 <else>
334 <sequence name="TopicUnknownSeq">
335 <empty name="TODO_ReturnUnknownTopicFault">
336 <sxt:trace>
337 <sxt:log level="warning" location="onStart">
338 <ns10:from>concat('### NhincComponentInternalSubscriptionOrch.bpel - Unknown topic: ', $Topic)</ns10:from>
339 </sxt:log>
340 </sxt:trace>
341 </empty>
342 </sequence>
343 </else>
344 </if>
345 <assign name="AssignCreateSubscribeResponseInput">
346 <copy>
347 <from variable="StoreSubscriptionOut" part="subscriptionReference"/>
348 <to>$CreateSubscribeResponseIn.CreateSubscribeResponse/ns1:SubscriptionReference</to>
349 </copy>
350 </assign>
351 <invoke name="InvokeCreateSubscribeResponse" partnerLink="SubscriptionDtePL" operation="CreateSubscribeResponse" xmlns:tns="urn:gov:hhs:fha:nhinc:nhincinternalcomponentpolicyenginetransform" portType="tns:NhincComponentInternalSubscriptionDtePortType" inputVariable="CreateSubscribeResponseIn" outputVariable="CreateSubscribeResponseOut"/>
352 <assign name="AssignSubscribeCdcBioPackageResponse">
353 <copy>
354 <from>$CreateSubscribeResponseOut.CreateSubscribeResponse/ns0:SubscribeResponse</from>
355 <to variable="SubscribeOut" part="SubscribeResponse"/>
356 </copy>
357 </assign>
358 </sequence>
359 </scope>
360 <reply name="ReplySubscribe" partnerLink="SubscriptionPL" operation="Subscribe" xmlns:tns="urn:gov:hhs:fha:nhinc:nhinccomponentinternalsubscriptionmanagementorch" portType="tns:NhincComponentInternalNotificationProducerPortType" variable="SubscribeOut"/>
361 </sequence>
362</process>
Note: See TracBrowser for help on using the repository browser.