I would like to access external web service program from coolgen client server program. Can you please suggest to accomplish this? I know we can use MQ series. But is there any other way?
Canam Software has a product called SOA Composer that is specifically designed to do this. If you would like more information please contact me at firstname.lastname@example.org.
CA Gen 8.5 added the capability to directly call SOAP web services from within an action diagram. This functionality is currently available for C, Java and C# but has not been ported to COBOL as yet. We are looking to add this capability for COBOL with Gen 8.6 as well as call REST web services too.
Thanks for the information. I see "Call External" in the toolset, but I can't select it.
I know that I need to run CEJOB05 and reconvert the model...
Do you know if I can check the Shema tables to confirm they are "ready"?
The Call External statement may only be opened in an action diagram that does not have any other statements in it (like the EXTERNAL statement). This was done so that web service calls could be segregated into separate action diagrams so that when others need to make a call to the web service they can call the action block the same way they call any other action block.
The conversion process adds new objects to the model that are required to support the CALL EXTERNAL statement. There is nothing in the schema tables that would indicate that the model has already been converted. If you create a new action block and try to add a CALL EXTERNAL statement in a model that has not been converted, a message will be displayed to indicate that that is the case.
When I try add the 'CALL EXTERNAL' statement, I get following error. The suggestion solution was to do schema table refresh on CLIENT SERVER ENCYCLOPEDIA. But my model is a dummy local module that does not exist in CSE. How can I overcome this issue for my local model? Kindly suggest.
Did you create the dummy model with the version of the toolset that has the CALL EXTERNAL statement? If not, then you need to upload the model, convert it and download. Or else just create another dummy model as the new model on the toolset will have the necessary objects in it upon creation.
Your response exhibits your outstanding knowledge you posses on this stream. This is exactly what i wanted from the community members, i.e. hit the problem area.
Its working now. Thank you for your suggestion.
Because of 4-29 note, marking as answered,Starting new branch
related John's answer : There is a Link which maybe helpful for the convert : Model Conversion - CA Gen - 8.5 - CA Technologies Documentation
I assume following methods possible. Kindly suggest if I am wrong.
1) Coolgen generated C window application can call a coolgen generated web service directly thru CALL External statement.
2) Coolgen generated Java web service can call another coolgen generated web service directly thru CALL External statement.
How and where do we establish the connection so that the source application/web service can connect to the target web service?
vjchakrav you are correct that you should be able to call a Gen web service from a C Windowed application or from a Gen EJB (which is what is used to present Gen web services). From a C Windows client, I believe you use the commcfg.ini file to determine how to call the Gen web service. For EJBs, use the commcfg.properties file. There are instructions in each file for how to format the information used to call a Gen web service from a Gen client.
I was mistaken when I said that you need the commcfg.ini or commcfg.properties file in order to call a web service; these files are used when using Procedure Step USE, not CALL EXTERNAL Web Service. The CALL EXTERNAL statement only needs the URL specified in the WSDL file in order to make the call. You can override the value of the URL specified in the WSDL using the <Gen Installation Directory>\Gen\classes\com\ca\gen\exits\common\WebServiceMethodCallExit.java user exit.
Note that the WSDL you have included in this discussion states that the URL for the call to server 2 is "http://localhost:8080/SERVER2_WSDN/router/". Is that the actual URL for your web service?
Yes the URL is correct and its working fine when tested in soapUI. Am I missing anything in the required software or settings section?