SOAP

From Rosetta Code
Revision as of 03:02, 1 February 2007 by 202.7.176.134 (talk)
Task
SOAP
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

Version: ActionScript 3.0

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
}

ColdFusion

<cfset client = createObject("webservice","http://example.com/soap/wsdl")>
<cfset result = client.soapFunc("hello")>
<cfset result = client.anotherSoapFunc(34234)>

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);

PHP

<?php
$client = new SoapClient('http://example.com/soap/wsdl');
$result = $client->soapFunc('hello');
$result = $client->anotherSoapFunc(34234);
?>

Python

Interpreter: Python 2.4, 2.5

from SOAPpy import WSDL 
proxy = WSDL.Proxy("http://example.com/soap/wsdl")
result = proxy.soapFunc("hello")
result = proxy.anotherSoapFunc(34234)

Note: SOAPpy is a third-party module and can be found at Python Web Services

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)

Visual Objects

  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