Hi,
For users watching this thread, let me update the solution, which I worked out myself:
1. The input parameters are:
<objVidData> //Complex type
<objBasicData> //object type
<mobileData>//Object type
<mobileId>...</mobileId> //Number
<mobileCode>...</mobileCode> //String
</mobileData>
<userId>...</userId> //String
</objBasicData>
<videoId>...</videoId> //Number
</objVidData>
<startPos>...</startPos> //Number
<numVideos>...</numVideos> //Number
The main input parameters are:
<objVidData>...</objVidData>
<startPos>...</startPos>
<numVideos>...</numVideos>
Hence, when the method call is made, these parameters are to be passed along as:
Code:
var MyPendingCallObject:PendingCall = myWebServiceObject.loginUser(objVidData,startPos,numVideos)
Now, since <objVidData> is a complex parameter in itself, it needs to be made as an instance of a class, which will contain all child member declarations.
var objVidData:MyObjectClass = new MyObjectClass;
The class 'new MyObjectClass' will look like this:
Code:
class new MyObjectClass
{
var objBasicData:Object;
var mobileData:Object;
var mobileId:Number;
var mobileCode:String;
var userId:String;
var videoId:Number
}
My main class code is thus written as:
Code:
import mx.services.*;
import mx.remoting.*;
import mx.rpc.*;
import mx.data.*;
var myWebServiceObject = new WebService("http://abc/mobile_servicesSOAP?wsdl");
myWebServiceObject.onLoad = function()
{
trace("Success call for WSDL");
var objVidData:MyObjectClass = new MyObjectClass();
objVidData.objBasicData = new Object();
objVidData.objBasicData.mobileData = new Object();
objVidData.objBasicData.mobileData.mobileId = "1234";
objVidData.objBasicData.mobileData.mobileCode = "N";
objVidData.objBasicData.userId = "supriyaakg";
objVidData.videoId = 123;
var startPos:Number = 1;
var numVides:Number = 5;
var MyPendingCallObject:PendingCall = myWebServiceObject.loginUser(objVidData,startPos,numVideos)
trace("----" + MyPendingCallObject.request);//input data format
MyPendingCallObject.onResult = function(result)
{
trace("----" + MyPendingCallObject.response);//output data
}
MyPendingCallObject.onFault = function(fault:PendingCall)
{
trace("Fault = " + fault.response);
}
}
myWebServiceObject.onFault = function(fault)
{
trace("Oops!!!" + fault);
}