PDA

View Full Version : Class Instantiation



octopus
January 20th, 2007, 05:25 PM
Ebay XML Message Class
Contains Template of Ebay XML Headers
Contains Function to send XML msg and display response.
*/
class eBayXml{
private var Token:String = "blah";
private var DeveloperID:String = "blah";
private var ApplicationID:String = "blah";
private var Certificate:String = "blah";
private var MyXML:XML;
//Constructor
function eBayXml(eBayVerb:String){
Buildheaders(MyXML,eBayVerb);
trace(MyXML.toString());


}
//Add XML Headers for Request.
private function Buildheaders(MyXML:XML,eBayVerb:String):Void{

MyXML.addRequestHeader("X-EBAY-API-COMPATIBILITY-LEVEL", "391");
MyXML.addRequestHeader("X-EBAY-API-DEV-NAME", DeveloperID);
MyXML.addRequestHeader("X-EBAY-API-APP-NAME", ApplicationID);
MyXML.addRequestHeader("X-EBAY-API-CERT-NAME", Certificate);
MyXML.addRequestHeader("X-EBAY-API-CALL-NAME", eBayVerb);
MyXML.addRequestHeader("X-EBAY-API-SITEID", "0");
MyXML.addRequestHeader("X-EBAY-API-DETAIL-LEVEL", "0");
}

}

octopus
January 20th, 2007, 05:26 PM
Why does this class trace undefined when it is instantiated?

flashead
January 20th, 2007, 06:26 PM
class eBayXml
{
private var Token:String = "blah";
private var DeveloperID:String = "blah";
private var ApplicationID:String = "blah";
private var Certificate:String = "blah";
private var MyXML:XML; // you've set all your properties exept this one

//Constructor
function eBayXml(eBayVerb:String)
{
Buildheaders(MyXML, eBayVerb);

trace(MyXML.toString());
}

// ... Buildheaders omitted to keep this short
}

in you constructor, you're passing MyXML to Buildheaders but you haven't created MyXML yet.
also its better to set all your properties in your constructor, not where you declare them:

class eBayXml
{
private var Token:String;
private var DeveloperID:String;
private var ApplicationID:String;
private var Certificate:String;
private var MyXML:XML;

//Constructor
function eBayXml(eBayVerb:String)
{
Token = "blah";
DeveloperID = "blah";
ApplicationID = "blah";
Certificate = "blah";

MyXML = new XML();

Buildheaders(MyXML, eBayVerb);

trace(MyXML.toString());
}

// ... Buildheaders omitted to keep this short

}

k.