Problem solve Get help with specific problems with your technologies, process and projects.

Posting to a SOAP server from a mainframe

Hello. We are looking for an option to post a request to a SOAP server from a mainframe. We want to make a Remote Procedure Call (RPC) from a CICS program to a SOAP server, which should process the request and give the error or success response back. Earlier we thought of implementing this using TCP/IP protocol, but, as a SOAP analyst told us, SOAP servers can not accept and will not process requests using TCP/IP. He also said the only option is to develop a SOAP client on a mainframe using Java and call that from a CICS COBOL program with the required information. The SOAP client will communicate with the SOAP server using a URL.

We have never done Java programming on our Z/OS-based mainframe environment, and we're not sure if our mainframe is configured for the Java.

Is there an option other than using a SOAP client? Also do you think it is possible to call a Java program from a CICS COBOL program? If yes, what are requirements? If you know of any Web site where I can get this information, it will help me to understand this concept.
I must start by admitting you're "outside my comfort zone" in a number ways here. That's as close to an "I don't know" with a violent shrugging of shoulders you'll get from a consultant most of the time. With that disclaimer, however, let me launch into some suggestions anyway.

The first thing I see is a definite attempt to merge otherwise incomparable fruit (mix apples and oranges). SOAP (or SOAP-XML) is a description schema. It's a supposedly standardized way for one system to send a request to another that contains complex data and parameters and to then get back a potentially complex result even if those systems are very different and have no common library. TCP/IP is a networking protocol (technically a pair of protocols), which allows communication to take place between two applications.

Both Java and COBOL are programming languages. They relate to each other like this: A program, which is written in a programming language like Java or COBOL, may send a request to another program -- written in the same language or an entirely different one -- if they are connected by a networking protocol like TCP/IP. Since neither program has much knowledge of the other, they may both have been written to speak to each other using SOAP-XML. With SOAP-XML, one can say to the other "I'm calling a method called 'tellMeTheTime,' and I am passing you a string of text encoded in US-ASCII, which is a parameter to that method identified as the name of a city." The response that comes back may be "In response to your call to my method called 'tellMeTheTime,' I am sending you three numeric values encoded in US-ASCII. They are hours, minutes and seconds, in that order."

The second thing I see is that you are being told "only option" -- something that makes the hair on my neck stand up. Beware of people who throw the word "only" around too freely.

Read the second part of this answer.

Dig Deeper on Topics Archive

Start the conversation

Send me notifications when other members comment.

Please create a username to comment.