Este webservice se llama desde la máquina de bebidas y su respuesta contiene la información sobre si un abonado tiene derecho o no a tomar una bebida. La comunicación se establece siempre via SOAP.
Los parámetros generales de comunicación con el entorno DiR son:
Una llamada a un servicio DiR debe contener, necesareamente 3 parámetros: base de datos, endpoint y un array con los valores de entrada para dicho endpoint. Dichos parámetros deben especificarse en llamada SOAP de la siguiente manera:
<?xml version='1.0' encoding='UTF-8'?>
<SOAP-ENV:Envelope xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xmlns:xsd='http://www.w3.org/2001/XMLSchema' xmlns:SOAP-ENV='http://schemas.xmlsoap.org/soap/envelope/'>
<SOAP-ENV:Body>
<ns1:executeXML xmlns:ns1='urn:SOAPXMLServer' SOAP-ENV:encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'>
<database xsi:type='xsd:string'>dir_franquicies</database>
<xml_code xsi:type='xsd:string'>dir_ws_check_drink</xml_code>
<arg_data xmlns:ns2='http://xml.apache.org/xml-soap' xsi:type='ns2:ArrayList'>
<item xsi:type='xsd:string'>$dni</item>
<item xsi:type='xsd:string'>$club</item>
</arg_data>
</ns1:executeXML>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
<sqlresponse country='ES' date='2021-03-02T11:57:54.525Z' date-format='dd-MM-yyyy' dbms='dir_franquicies' from='XMLSQLResultSetSerializer' host='suxapi01' lang='es' number-format='#.##0,###' rows='1' time-format='HH:mm:ss' timestamp-format='dd-MM-yyyy HH:mm:ss' type='rawsql'>
<sqlinfo>
<stdout><![CDATA[]]></stdout>
<stderr><![CDATA[]]></stderr>
<sqluser>dirdrink</sqluser>
<sqldbms>dir_franquicies</sqldbms>
<sqlengine>informix</sqlengine>
<sqllang>es-</sqllang>
<sqltype>OTHER</sqltype>
<sqlcount>0</sqlcount>
<sqlserial>0</sqlserial>
<sqlmaxrows>10000</sqlmaxrows>
<sqltables>
</sqltables>
</sqlinfo>
<metadata>
<column catalogName='' columnClassName='java.lang.String' columnDisplaySize='0' columnLabel='' columnName='(constant_1)' columnType='1' columnTypeName='char' isAutoIncrement='false' isCaseSensitive='false' isCurrency='false' isDefinitelyWritable='false' isHidden='false' isNullable='0' isNumeric='false' isPercent='false' isReadOnly='false' isRowid='false' isSigned='false' isTotal='false' isWritable='false' precision='0' scale='0' schemaName='' tableName=''/>
<column catalogName='' columnClassName='java.lang.Integer' columnDisplaySize='0' columnLabel='' columnName='(constant_2)' columnType='4' columnTypeName='integer' isAutoIncrement='false' isCaseSensitive='false' isCurrency='false' isDefinitelyWritable='false' isHidden='false' isNullable='0' isNumeric='true' isPercent='false' isReadOnly='false' isRowid='false' isSigned='false' isTotal='false' isWritable='false' precision='0' scale='0' schemaName='' tableName=''/>
</metadata>
<rowset encoding='UTF-8' lang='es-'>
<r>
<c>53030722J</c>
<c>1</c>
</r>
</rowset>
</sqlresponse>