在flashMX2004 professional中使用actionscript2控制webservice对象
import mx.services.*;
var log = new Log();
log.onLog = function(txt){trace(txt);}
var wsdlURI = "http://localhost:8080/axis/services/SmsService?wsdl";
ws = new WebService (wsdlURI,log);
// WebService onLoad means wsdl has been parsed, the parameter is the wsdl document
ws.onLoad=function(wsdl)
{
//once wsdl is ok, we can make call on the service
trace ("WebService.onLoad");
var message = new pack.Message();
message.setContent("just a test");
message.setFrom("beijing");
message.setPriority(12345);
message.setTo("shanghai");
var MyPendingCallObject = ws.send(message);
MyPendingCallObject.onResult = OnCallResult;
MyPendingCallObject.onFault= OnCallFault;
}
// WebService onFault means fail to parse the wsdl.
ws.onFault=function(fault)
{
trace ("WebService.onFault -> "+fault.faultcode);
}
function OnCallResult(result)
{
trace ("PendingCall.onResult");
var response = new pack.Response();
response = result;
trace(response.code);
trace(response.message.contents);
}
function OnCallFault(fault)
{
trace ("PendingCall.onFault -> "+fault.faultcode);
}
message class:
class pack.Message {
var contents:String;
var from:String;
var priority:Number;
var to:String;
function setContent(_content:String){
contents = _content;
}
function getContent():String{
return contents;
}
function setFrom(_from:String){
from = _from;
}
function getFrom():String{
return from;
}
function setPriority(_priority:Number){
priority = _priority;
}
function getPriority():Number{
return priority;
}
function setTo(_to:String){
to = _to;
}
function getTo():String{
return this.to;
}
}
response class:
class pack.Response{
var code:Number;
var errorText:String;
var message:pack.Message;
function setCode(_code:Number){
code = _code;
}
function getCode():Number{
return code;
}
function setErrorText(_errorText:String){
errorText = _errorText;
}
function getErrorText():String{
return errorText;
}
function setMessage(_message:pack.Message){
message = _message;
}
function getMessage():pack.Message{
return message;
}
}