Setting up EnsLib.ITK.AdapterKit.Operation.SOAPOperation to communicate to ITK endpoint.
Hi dev community,
I am currently working on an interface that needs to communicate to a SOAP/ITK endpoint.
I am using the EnsLib.ITK.AdapterKit.Operation.SOAPOperation to interface with an ITK
service, but it is proving to be more complex than originally expected to set up the web client
against that particular end-point since I haven't been provided with a WSDL from ITK service side as
the vendor state they are following the ITK standard and no WSDLs are needed.
I have set up an EnsLib.ITK.AdapterKit.Operation.SOAPOperation within Health Share production and
we are currently trying to fire some test messages (I am able to send ITK/SOAP requests via
POSTMAN successfully, and I would like to replicate the same behavior now from the ITK operation).
The first blocking stone I am finding is in one of the config settings for the ITK operation:
Web Service Client Class (which has to be created via the SOAP client Wizard Add-in), as it
currently stands I don't have any WSDL to generate the web client/proxy classes as I normally
do with a usual SOAP web service.
I'd like to know if a Web Service Client Class for this particular interface is ultimately
needed, and/or if there might be any work around to achieve this.
The second blocker is within the ITK message test utility, since no WDSL has been provided I therefore
need to reconstruct the ITK request message from scratch, it looks as follows (I have removed some
unnecessary XML elements for clarity and with the intention of showing only relevant fields):
<!-- This is the clinical document that contains meaningful payload for the business -->
With a normal SOAP interface I would have the classes for request/response messages generated
after importing the WSDL, for this particular case I will need to generate an ITK payload readily
available to the ITK.SOAP.Operation so we can fire the request towards the ITK service.
When I open the TEST operation utility from the production we need to input the following fields,
but there is no field for the ITK payload:
Request message data type: EnsLib.ITK.AdapterKit.Request
ServiceName, IsResponse (boolean), RelatesToMessageId, PartialPhysicalURL and PartialLogicalURL
Any guidelines on what is the best practice to follow to achieve this?
I understand this is a very particular issue and it is more a query to clarify how to work with
ITK operations, therefore any help will be much appreciated, I have checked the documentation
already and these two things are still a bit obscure on my side.