What would I need and have to do to call a webservice from a Natural Subprogram.
EntireX provides a JAVA RPC Server that NATURAL can call using the SYSRPC library. The JAVA RPC Server can then make the web services call.
An easier option might be to make use of the XML Wrapper. You can import the WSDL File of the Web Service you want to invoke. The Workbench will create an IDL file, as well as the appropriate SOAP Mappings.
You can then start the XML RPC Server, which will register to the Broker as a service. When your Natural program performs the CALLNAT, a RPC call will be sent to the XML RPC Server, which will invoke the Web Service.
Attached is a document that gives a high level overview of the steps to take. Also refer to the EntireX documentation for more details.
How_to_Consume_a_Web_Services_from_Natural_-_v1.pdf (1.11 MB)
We need to do this using https & sign it with an X509 certificate.
What are the options?
The XML RPC Server supports https but does not support certificates. So you need something in between the XML RPC Server and your Webservice. You can write an own web service for signing, or you can look if you find something already available or you can use EntireX Mediator.