Technical Details:
How it works:
- When you click the search button, a request is submitted to a service request processor (SRP) written in the
Service Request Language (websearch.sri).
- The SRP initiates a SOAP request using SQLData client library,
the request is sent to a SQLData SOAP Server using the service description file: SQLDataSoap.wsdl.
- Upon receiving the SOAP request, the integration server interacts with the remote sites to perform the
requested operations and filter the results. The results are then
returned to SoapClient.com as a SOAP response.
- SoapClient.com re-packages the results in HTML format and sends to
your browser.
As demonstrated here, SQLData SOAP Server effectively turns
non-SOAP services into SOAP services that can be directly accessed by a SOAP
client. This dramatically increases the programmability of regular web services.
Sample Soap Message
The following message searches for SOAP using Altavista:
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/1999/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance"
SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<SOAP-ENV:Body>
<mns:ProcessSRL xmlns:mns="http://www.SoapClient.com/xml/SQLDataSoap.xsd">
<SRLFile xsi:type="xsd:string">/xml/web.sri</SRLFile>
<RequestName xsi:type="xsd:string">Altavista</RequestName>
<key xsi:type="xsd:string">SOAP</key>
</mns:ProcessSRL>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
Dim MyAgent As SoapAgent
Set MyAgent = New SoapAgent
MyAgent.AddParameter "SRLFile", "/xml/WEB.SRI", ""
MyAgent.AddParameter "RequestName", "Google", ""
MyAgent.AddParameter "key", "SOAP", ""
'Execute the method
MyAgent.ExecuteMethod "http://soapclient.com/xml/SQLDataSOAP.wsdl", "ProcessSRL"
'show me the result!
MsgBox MyAgent.GetResponse("return")
Sample VB Code (MS SOAP 2.0)
The following code searches "SOAP" using
Yahoo.
Dim Serializer As SoapSerializer
Dim Connector As SoapConnector
Dim Reader As SoapReader
Set Connector = New HttpConnector
Connector.Property("EndPointURL") = "http://soapclient.com/xml/SQLDataSoap.WSDL"
Connector.Connect
Connector.Property("SoapAction") = "/SQLDataSRL"
Connector.BeginMessage 'Nothing
Set Serializer = New SoapSerializer
Serializer.Init Connector.InputStream
Serializer.startEnvelope "SOAP-ENV", "http://schemas.xmlsoap.org/soap/encoding/"
Serializer.startBody
Serializer.startElement "ProcessSRL", "http://www.SoapClient.com/xml/SQLDataSoap.xsd", "mns"
Serializer.startElement "SRLFile"
Serializer.writeString "/xml/news.sri"
Serializer.endElement
Serializer.startElement "RequestName"
Serializer.writeString "yahoo"
Serializer.endElement
Serializer.startElement "key"
Serializer.writeString "SOAP"
Serializer.endElement
Serializer.endElement
Serializer.endBody
Serializer.endEnvelope
Connector.EndMessage
Set Reader = New SoapReader
Reader.Load Connector.OutputStream
If Not Reader.Fault Is Nothing Then
MsgBox Reader.faultstring.Text, vbExclamation
Else
MsgBox Reader.DOM.xml
End If
|