Listing 1. Metoda zwracajca do klienta wiadomo powitaln
function welcome()
{
return "Welcome client!";
}
Listing 2. Kod odpowiedzialny za rejestracj metody zdalnej
$server
>register(
'welcome',
array(),
array( 'return' => 'xsd:string' ),
'http://localhost');
Listing 3. Kod odpowiedzialny za wywoanie metody welcome
function onWsdlLoad( event:LoadEvent ):void
{
webService.welcome.addEventListener( ResultEvent.RESULT, onWelcome );
webService.welcome.addEventListener( FaultEvent.FAULT, onFault );
webService.welcome();
}
Listing 4. Funkcja odpowiedzialna za odebranie wyniku dziaania zdalnej metody welcome
function onWelcome( event:ResultEvent ):void
{
trace( event.result.toString() );
}
Listing 5. Funkcja obsugi bd贸w
function onFault( event:FaultEvent ):void
{
trace( event.fault.getStackTrace() );
}
Listing 6. Metoda usugi odpowiedzialna za obliczenie sumy argument贸w
function sum( $a, $b )
{
return $a + $b;
}
Listing 7. Kod odpowiedzialny za rejestracj metody zdalnej
$server
>register(
'sum',
array( 'a' => 'xsd:int', 'b' => 'xsd:int' ),
array( 'return' => 'xsd:int' ),
'http://localhost' );]
Listing 8. Kod wywoujcy zdaln metod sum wraz z obsug zdarzenia informujcego o otrzymaniu wyniku jej wykonania
function onWsdlLoad( event:LoadEvent ):void
{
webService.sum.addEventListener( ResultEvent.RESULT, onSum );
webService.sum.addEventListener( FaultEvent.FAULT, onFault );
webService.sum( 5, 3 );
}
private function onSum( event:ResultEvent ):void
{
trace( event.result.toString() );
}
Listing 15. Kod r贸dowy usugi Flash Remoting wykorzystujcej AMFPHP
include_once( AMFPHP_BASE . "shared/util/MethodTable.php" );
class Sample
{
function welcome()
{
return "Welcome client!";
}
function sum( $a, $b )
{
return $a + $b;
}
}
?>
Listing 9. Funkcja odpowiedzialna za odebranie wyniku wykonania zdalnej metody welcome
function onWelcomeResult( message:String ):void
{
trace( message );
}
Listing 10. Funkcja obsugi bd贸w
function onFault( fault:Object ):void
{
trace( 揊lash Remoting error!" );
}
Listing 11. Funkcja odpowiedzialna za odebranie wyniku wykonania zdalnej metody sum
function onSumResult( result:Number ):void
{
trace( result );
}
Listing 12. Kod r贸dowy klienta Web Services
// File: SoapClient.as
package
{
import mx.core.Application;
import mx.rpc.events.FaultEvent;
import mx.rpc.events.ResultEvent;
import mx.rpc.soap.LoadEvent;
import mx.rpc.soap.WebService;
public class SoapClient extends Application
{
private var webService:WebService;
public function SoapClient()
{
super();
webService = new WebService( "http://localhost/ws/sample.php" );
webService.wsdl = "http://localhost/ws/sample.php?wsdl"; webService.addEventListener( LoadEvent.LOAD, onWsdlLoad );
webService.loadWSDL();
}
private function onWsdlLoad( event:LoadEvent ):void
{
webService.welcome.addEventListener( ResultEvent.RESULT, onWelcome );
webService.welcome.addEventListener( FaultEvent.FAULT, onFault );
webService.welcome();
webService.sum.addEventListener( ResultEvent.RESULT, onSum );
webService.sum.addEventListener( FaultEvent.FAULT, onFault );
webService.sum( 5, 3 );
}
private function onWelcome( event:ResultEvent ):void
{
trace( event.result.toString() );
}
private function onSum( event:ResultEvent ):void
{
trace( event.result.toString() );
}
private function onFault( event:FaultEvent ):void
{
trace( event.fault.getStackTrace() );
}
}
}
File: SoapClientView.mxml
>
8"?>
xmlns="*"
xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
Listing 13. Kod r贸dowy usugi Web Services wykorzystujcej bibliotek NuSOAP
require_once( 'nusoap/nusoap.php' );
$server = new soap_server();
$server
>configureWSDL( 'sample', 'http://localhost' );
$server
>register(
'welcome',
array(),
array('return' => 'xsd:string'),
'http://localhost');
$server
>register(
'sum',
array( 'a' => "xsd:int", 'b' => 'xsd:int' ),
array('return' => 'xsd:int'),
'http://localhost');
function welcome()
{
return "Welcome client!";
}
function sum( $a, $b )
{
return $a + $b;
}
$HTTP_RAW_POST_DATA = isset( $HTTP_RAW_POST_DATA ) ? $HTTP_RAW_POST_DATA : '';
$server
>service( $HTTP_RAW_POST_DATA );
?>
Listing 14. Kod r贸dowy kompletnej aplikacji klienta Flash Remoting
// File: SoapClient.as
package
{
import flash.net.NetConnection;
import flash.net.Responder;
import mx.core.Application;
public class AmfClient extends Application
{
private var connection:NetConnection;
public function AmfClient()
{
connection = new NetConnection();
connection.connect( "http://localhost/amfphp/gateway.php" );
var responder:Responder = new Responder( onWelcomeResult, onFault );
connection.call( "Sample.welcome", responder );
responder = new Responder( onSumResult, onFault );
connection.call( "Sample.sum", responder, 4, 5 );
}
private function onWelcomeResult( message:String ):void
{
trace( message );
}
private function onSumResult( result:Number ):void
{
trace( result );
}
private function onFault( event:Object ):void
{
trace( "Flash Remoting error!" );
}
}
}
File: AmfClientView.mxml
>
8"?>
xmlns="*"
xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
Wyszukiwarka
Podobne podstrony:
flex pierwsza aplikacja we flexLVCCFSB2005 6 V3 K Flex DamageLVCCFSB20066 V3 P Flex CorrosionPierwsza aplikacja we Flexflex Test Driven DevelopmentABB Flex Themeflex Flex i AirLVCCFSB2005 259 V220 Display Flexflex dostep do?nych z aplikacjiflex Aplikacje wykorzystujce mapy w?obe FlexK Flex DUCTAdobe Flex 3 Oficjalny podr臋cznikFlex 3 0 Tworzenie efektownych aplikacjiflex Flex Security allowSecureCommunicatioflex tech x1 instrukcja obslugiflex ?tionScript 3 0wi臋cej podobnych podstron