External Objects (EO) of the WSDL type allow us to add Web Services references to the KB from its WSDL.
These EOs store all the related information (name, properties, methods, parameters, etc.) required for using the Web Service described in its WSDL.
Note: the EO can be created manually by indicating each one of its properties or by using a wizard, WSDL Import, which can be accessed through the Tools option in the GeneXus menu under Reverse Engineer.
Name: name of the EO
Type: EO type (WSDL)
Namespace: WS namespace
Folder: folder where the EO is located
XML Name: name of the WS given in the WSDL
Internal Name: internal name of the method
Type: GeneXus data type of the return value
Style: WS, RPC or Document style binding
Use: SOAP binding use, Encoded or Literal
Address: WS address. This property implies that you can modify the address value for prototype purpose (another possibility is using the Location Data Type or xml)
Action: action associated to the method
Request Namespace: namespace of the WS request
Response Namespace: namespace of the WS response
XML Name: external name of the method
XML Namespace: method namespace in the WS
SOAP Type: data type of the return value in the SOAP message
Collection Serialization: collection serialization type: Wrapped or Sequence
Access Type: IN, OUT, INOUT
Internal Name: name given in GeneXus to the parameter
Type: data type given in GeneXus
XML Name: external name of the parameter
XML Namespace: parameter namespace in the WS
SOAP Type: data type of the parameter given in the SOAP message
Let’s assume we’ve created an EO of the WSDL type called GoogleSearchService and we’ve defined a GoogleSearchService variable called &ws and a variable GoogleSearchResult variable &res (collection of GoogleResult).
In our code we can do the following:
&res = &ws.doGoogleSearch(&key,&text, 0, 10, 0, "", 0, "", "", "")
for &resultElement in &res.resultElements
&title = &resultElement.title
Here, doGoogleSearch is the Web Service method to be invoked in order to search for the text (&text) passed as a parameter. Then, the resulting values would be loaded into a grid.
The Google Web Search API has been deprecated, for more information click here.