COMPANY
COMMUNITY
BLOG
HELP
MY ACCOUNT
EN PT ES

About GeneXus 7.5: SOAP Protocol

Support for SOAP standard has been incorporated in the last version of GeneXus. This, together with the other features of GeneXus, makes the interlocking of different applications easier.

Introduction:
SOAP is a "light" protocol based on XML for calling procedures in a remote fashion (Remote Procedure Call). It uses any protocol that allows transfer of text messages, HTTP being the one more frequently used. Its specification describes the content that an XML message must have in order to be used for a remote call.

Any application that meets this specification can call and provide services regardless of the language or platform in which it is being implemented. It is only necessary for the application to be able to interpret the SOAP message that it is receiving, carry out the procedure required by the message, and send back another SOAP message with the response.

In applications generated by GeneXus, SOAP is used in order to call objects in a remote fashion, using HTTP as a transfer protocol.

Scope
Calling Objects (Clients) Objects: All objects
Languages: C/SQL - Java - Visual Basic - Visual FoxPro - C#
Interfaces: Win/Web
Calling objects are the ones calling services through SOAP.

Called Objects (Servers) Objects: Procedures and Reports
Languages: C/SQL - Java - Visual Basic - C#
Interfaces: Web
Called objects are the ones providing a called service through SOAP.
Description:
Some of the advantages for using this protocol in GeneXus are the possibility of developing web services, as well as the possibility of making calls between objects from different generators (e.g. calling Java from Visual Basic or Visual Basic from C/Sql). This functionality is not possible in previous versions, except for RPC calls from visual generators to  CSql/Cobol/RPG generators.
Server
In GeneXus, in order to indicate that a main object will be called by using the SOAP protocol, the value "SOAP" will have to be selected in the "Options/Call Protocol" property. These objects will hereunder be referred to as "Servers" o "Web Services", and can only be reports or procedures, without any kind of interface with the user. A Web server hosting the services to be called is required.
Server-programs receive the http call, process the SOAP message with its parameters sent by the client, carry out the required action, and generate another response SOAP-message
(Eventually with modified parameters).

Client
Any GeneXus object can be an object calling the web service. They will be hereunder referred to as "Clients". The call is made with the GeneXus call() command.
Client-programs carry out necessary tasks for putting the SOAP message together, making the http call, and splitting up the response, thus obtaining parameters that are automatically modified. All this is automatically and clearly done for the user.

Locations
A scheme known as Locations is used for indicating what the location of the called services will be:

For more information:

http://www.artech.com.uy/Solis/gxdl/Español/GeneXus_Solis/GeneXus/Internet/Docum/ReleaseNotes/7.5/callsoap.htm 

Related
The first Beta of GeneXus 6 Ev II is currently been released
With Ceibo, the Internet is a just a click away
Java is the third visual
GeneXus 6 Evolution II Beta 1 Main features
La Beta 2 de la versión Ceibo está disponible
GeneXus speaks XML
You don't have to know HTML to work with Web Panels!
GeneXus at short and medium term by Nicolas Jodal
Ceibo Beta 4 version: news and improvements
GeneXus 7.0 in the market!!! (first part)
GeneXus 7.0 in the market!!! (second part)
GeneXus 7.0 site
GeneXus 7.0's first evolution
GeneXus goes on evolving
ARTech's technical area already has Web Components