Just to bring closure to this, I opened a WRC, and ISC has acknowledged that it is currently not possible to add an HTTP Header within HS.FHIRServer.Interop.HTTPOperation. Snippet of ISC feedback is below:
"I do not see a built in way to get the desired functionality. From what I can tell, the headers get set in the MakeRequest argument of the HS.FHIRServer.RestClient.HTTP. This field accepts a headers argument of a multidimensional array (header("abc")=123). This method is invoked by the MakeRequestAndInvoke method of HS.FHIRServer.RestClient.Base, which HS.FHIRServer.RestClient.HTTP extends. MakeRequestAndInvoke appears to be the method that we call based upon most if not all requests to finally create the HTTP Request and send it (httpClient.Batch, httpClient.History, httpClient.VRead, etc.). The problem is that the callers (httpClient.Batch, etc.) are called without a way to specify headers for MakeRequestAndInvoke. MakeRequest in HS.FHIRServer.RestClient.HTTP is where the request is finally created and headers are added. MakeRequestAndInvoke is usually a stripped down method that does some error checking and then calls MakeRequest() And Invoke().
Development has reviewed this issue and has added it to their development plan. Once it has a target version date, I will let you know so that you may know around when the change will been added to our product."
Hi Muhammad,
Not sure exactly what you mean by "add this service automatically", but if you didn't want to manually add to the production, you can use Ens.Director to programmatically add a Business Service to a production.
Hope this helps.
Actually - I pointed you to Ens.Director, but that only lets you dynamically control a production (and temporarily create a business host).
But if you take a look at the OnWizardCompletion method within EnsPortal.Dialog.ProductionAddService, and AddNewItem method of EnsPortal.Dialog.ProductionAddHost I think you'll find a sample of the code that you would need.