SOAP: Difference between revisions
(omit m4) |
m (Fixed lang tags.) |
||
Line 4: | Line 4: | ||
=={{header|ActionScript}}== |
=={{header|ActionScript}}== |
||
{{works with|ActionScript|3.0}} |
{{works with|ActionScript|3.0}} |
||
<lang actionscript> |
<lang actionscript>import mx.rpc.soap.WebService; |
||
import mx.rpc.soap.WebService; |
|||
import mx.rpc.events.ResultEvent; |
import mx.rpc.events.ResultEvent; |
||
var ws:WebService = new WebService(); |
var ws:WebService = new WebService(); |
||
Line 20: | Line 19: | ||
private function anotherSoapFunc_Result(event:ResultEvent):void { |
private function anotherSoapFunc_Result(event:ResultEvent):void { |
||
// do another something |
// do another something |
||
⚫ | |||
} |
|||
⚫ | |||
=={{header|AutoHotkey}}== |
=={{header|AutoHotkey}}== |
||
using embedded vb scripting. |
using embedded vb scripting. |
||
Line 37: | Line 35: | ||
=={{header|ColdFusion}}== |
=={{header|ColdFusion}}== |
||
<lang cfm> |
<lang cfm><cfset client = createObject("webservice","http://example.com/soap/wsdl")> |
||
<cfset result = client.soapFunc("hello")> |
|||
<cfset result = client.anotherSoapFunc(34234)></lang> |
|||
=={{header|Perl}}== |
=={{header|Perl}}== |
||
{{libheader|SOAP::Lite}} |
{{libheader|SOAP::Lite}} |
||
<lang perl> |
<lang perl>use SOAP::Lite; |
||
print SOAP::Lite |
|||
-> service('http://example.com/soap/wsdl') |
|||
-> soapFunc("hello"); |
|||
print SOAP::Lite |
|||
-> service('http://example.com/soap/wsdl') |
|||
-> anotherSoapFunc(34234);</lang> |
|||
=={{header|PHP}}== |
=={{header|PHP}}== |
||
{{works with|PHP|5.0.0+}} |
{{works with|PHP|5.0.0+}} |
||
<lang php> |
<lang php><?php |
||
//load the wsdl file |
|||
$client = new SoapClient("http://example.com/soap/definition.wsdl"); |
|||
//functions are now available to be called |
|||
$result = $client->soapFunc("hello"); |
|||
$result = $client->anotherSoapFunc(34234); |
|||
//SOAP Information |
|||
$client = new SoapClient("http://example.com/soap/definition.wsdl"); |
|||
//list of SOAP types |
|||
print_r($client->__getTypes()); |
|||
//list if SOAP Functions |
|||
print_r($client->__getFunctions()); |
|||
?></lang> |
|||
=={{header|Python}}== |
=={{header|Python}}== |
||
{{works with|Python|2.4 and 2.5}} |
{{works with|Python|2.4 and 2.5}} |
||
<lang python> |
<lang python>from SOAPpy import WSDL |
||
proxy = WSDL.Proxy("http://example.com/soap/wsdl") |
|||
result = proxy.soapFunc("hello") |
|||
result = proxy.anotherSoapFunc(34234)</lang> |
|||
'''Note:''' SOAPpy is a third-party module and can be found at [http://pywebsvcs.sourceforge.net/ Python Web Services] |
'''Note:''' SOAPpy is a third-party module and can be found at [http://pywebsvcs.sourceforge.net/ Python Web Services] |
||
Line 105: | Line 103: | ||
=={{header|VBScript}}== |
=={{header|VBScript}}== |
||
<lang vbscript> |
<lang vbscript>Dim client |
||
Dim result |
|||
Set client = CreateObject("MSSOAP.SoapClient") |
|||
client.MSSoapInit "http://example.com/soap/wsdl" |
|||
result = client.soapFunc("hello") |
|||
result = client.anotherSoapFunc(34234)</lang> |
|||
=={{header|Visual Objects}}== |
=={{header|Visual Objects}}== |
||
<lang |
<lang visobj>LOCAL oSoapClient AS OLEAUTOOBJECT |
||
LOCAL cUrl AS STRING |
|||
LOCAL uResult AS USUAL |
|||
oSoapClient := OLEAutoObject{"MSSOAP.SoapClient30"} |
|||
cUrl := "http://example.com/soap/wsdl" |
|||
IF oSoapClient:fInit |
|||
oSoapClient:mssoapinit(cUrl,"", "", "" ) |
|||
uResult := oSoapClient:soapFunc("hello") |
|||
uResult := oSoapClient:anotherSoapFunc(34234) |
|||
ENDIF</lang> |
|||
{{omit from|TI-83 BASIC}} {{omit from|TI-89 BASIC}} <!-- Does not have network access. --> |
{{omit from|TI-83 BASIC}} {{omit from|TI-89 BASIC}} <!-- Does not have network access. --> |
Revision as of 20:37, 19 November 2009
You are encouraged to solve this task according to the task description, using any language you may know.
In this task, the goal is to create a SOAP client which accesses functions defined at http://example.com/soap/wsdl, and calls the functions soapFunc( ) and anotherSoapFunc( ).
ActionScript
<lang actionscript>import mx.rpc.soap.WebService; import mx.rpc.events.ResultEvent; var ws:WebService = new WebService(); ws.wsdl = 'http://example.com/soap/wsdl'; ws.soapFunc.addEventListener("result",soapFunc_Result); ws.anotherSoapFunc.addEventListener("result",anotherSoapFunc_Result); ws.loadWSDL(); ws.soapFunc(); ws.anotherSoapFunc(); // method invocation callback handlers private function soapFunc_Result(event:ResultEvent):void {
// do something
} private function anotherSoapFunc_Result(event:ResultEvent):void {
// do another something
}</lang>
AutoHotkey
using embedded vb scripting.
<lang AutoHotkey>WS_Initialize()
WS_Exec("Set client = CreateObject(""MSSOAP.SoapClient"")") callhello = client.soapFunc("hello") callanother = client.anotherSoapFunc(34234) WS_Eval(result, callhello) WS_Eval(result2, callanother) Msgbox % result . "`n" . result2 WS_Uninitialize()
- Include ws4ahk.ahk ; http://www.autohotkey.net/~easycom/ws4ahk_public_api.html</lang>
ColdFusion
<lang cfm><cfset client = createObject("webservice","http://example.com/soap/wsdl")> <cfset result = client.soapFunc("hello")> <cfset result = client.anotherSoapFunc(34234)></lang>
Perl
<lang perl>use SOAP::Lite;
print SOAP::Lite
-> service('http://example.com/soap/wsdl') -> soapFunc("hello");
print SOAP::Lite
-> service('http://example.com/soap/wsdl') -> anotherSoapFunc(34234);</lang>
PHP
<lang php><?php //load the wsdl file $client = new SoapClient("http://example.com/soap/definition.wsdl"); //functions are now available to be called $result = $client->soapFunc("hello"); $result = $client->anotherSoapFunc(34234);
//SOAP Information $client = new SoapClient("http://example.com/soap/definition.wsdl"); //list of SOAP types print_r($client->__getTypes()); //list if SOAP Functions print_r($client->__getFunctions()); ?></lang>
Python
<lang python>from SOAPpy import WSDL proxy = WSDL.Proxy("http://example.com/soap/wsdl") result = proxy.soapFunc("hello") result = proxy.anotherSoapFunc(34234)</lang>
Note: SOAPpy is a third-party module and can be found at Python Web Services
Ruby
<lang ruby>require 'soap/wsdlDriver'
wsdl = SOAP::WSDLDriverFactory.new("http://example.com/soap/wsdl") soap = wsdl.create_rpc_driver
response1 = soap.soapFunc(:elementName => "value") puts response1.soapFuncReturn
response2 = soap.anotherSoapFunc(:aNumber => 42) puts response2.anotherSoapFuncReturn</lang>
Tcl
Uses the tclws
package.
<lang Tcl>package require WS::Client
- Grok the service, and generate stubs
- WS::Client::GetAndParseWsdl http://example.com/soap/wsdl
- WS::Client::CreateStubs ExampleService ;# Assume that's the service name...
- Do the calls
set result1 [ExampleService::soapFunc "hello"] set result2 [ExampleService::anotherSoapFunc 34234]</lang>
VBScript
<lang vbscript>Dim client Dim result Set client = CreateObject("MSSOAP.SoapClient") client.MSSoapInit "http://example.com/soap/wsdl" result = client.soapFunc("hello") result = client.anotherSoapFunc(34234)</lang>
Visual Objects
<lang visobj>LOCAL oSoapClient AS OLEAUTOOBJECT LOCAL cUrl AS STRING LOCAL uResult AS USUAL oSoapClient := OLEAutoObject{"MSSOAP.SoapClient30"} cUrl := "http://example.com/soap/wsdl" IF oSoapClient:fInit
oSoapClient:mssoapinit(cUrl,"", "", "" ) uResult := oSoapClient:soapFunc("hello") uResult := oSoapClient:anotherSoapFunc(34234)
ENDIF</lang>