This is the second part Andrew's answer to the question posed in Posting to a SOAP server from a mainframe.
Now, assuming that the call you must make is to a Web service that is going to accept a request in the SOAP-XML format and respond with a message in a SOAP-XML format, you can make that request from virtually any environment that is capable of establishing a TCP connection (usually on port 80), sending a text message across that connection in a specific format, and accepting a response back as text also formatted a specific way. Java is particularly good at this, because it is new. Aside from being hip and cool (something I place almost no value on), it means that it was created to be aware of things like TCP connections and sending data back and forth, as well as processing specific XML formats. Doing this in Java should be fairly easy. The hard parts will be getting Java set up and stable on your mainframe (or perhaps that's easy now, I don't know) and then getting the same Java that knows how to do the Web Services (SOAP) call then doing something with the response that useful to you -- like putting it into your database. On the other hand, if you can make COBOL open the TCP connection and send text, then wait for a response and process the response text, your real effort comes down to processing the format of the request and response. You can do this with an XML parsing tool if one is available, but you can also just do it as string manipulation.
For more information, see these links:
- SOAP Version 1.2 Part 0: Primer -- W3C Recommendation June 24, 2003
- SOAP Version 1.2 Part 1: Messaging Framework -- W3C Recommendation June 24, 2003
Another alternative would be to make the call from OUTSIDE the mainframe on a PC somewhere that watches for some triggered event, reads the parameter from the database using ODBC or JDBC, then makes the call and writes the response back to the database. Presumably the COBOL program can interface with the data in the same database, and then you've gone from having to find a Java programmer who can operate your mainframe and who knows COBOL (at last count, I think there were 9, but 8 were busy) to the simple task of finding someone who knows enough Java or one of the Microsoft .NET programming languages to make a Web services call and also talk to your database. Those guys are easy to find. They drink lattes and sit with wireless laptops in coffee houses.