@startuml
title ** __DSPA PCF: CustProfile-FullRegister __ **\n

actor CP_QUEUE #Magenta

participant CustProfileEMSConsumer
participant CustProfileProcessorService
participant SOAPProcessorManager
participant SOAPProcessorDao
participant CustomerProfile_service 

skinparam sequenceGroupBorderColor blue 
group#Magenta <b><color:white> CustProfile-FullRegister Event

CP_QUEUE <- CustProfileEMSConsumer : Message object from EMS
note left: TMOBILE.<Env>.DSPA.QUEUE.PUBLISH.CUSTPROF
alt try

CustProfileEMSConsumer -> CustProfileProcessorService : processCustProfile(dspMessage)
note left
Event in dspMessage: fullRegister
endnote
CustProfileProcessorService -> CustProfileProcessorService : fullRegister(dspMessage,provisioningData)
CustProfileProcessorService -> SOAPProcessorManager : saveCustomerProfile(dspMessage)
SOAPProcessorManager -> SOAPProcessorDao: saveCustomerProfile(dspMessage)
SOAPProcessorDao -> CustomerProfile_service : Send saveCustomerProfile request [[../ce.dsg.dice.prov.cpd.pcf.saveProfile.svg CP_SaveProfile]]

CustomerProfile_service -> SOAPProcessorDao : return response
SOAPProcessorDao -> SOAPProcessorDao :log the response
SOAPProcessorDao  -> SOAPProcessorManager : return void 
SOAPProcessorManager -> CustProfileProcessorService : return void
CustProfileProcessorService -> CustProfileEMSConsumer : return void

else
CustProfileEMSConsumer -> CP_QUEUE : throw DSPMWException
end
end
@enduml