Security error when accessing eBay API

30 views
Skip to first unread message

Laurent

unread,
Feb 23, 2008, 8:56:54 AM2/23/08
to ActionScript 3 eBay Library
Hello,

I'm developing a Flash widget that uses the eBay Trading API. I
managed to get my Flash widget to work locally, but as soon as I try
to run the swf from a website, I'm getting a security exception:

[SecurityErrorEvent type="securityError" bubbles=false
cancelable=false eventPhase=2 text="Error #2048"]

This exception occurs whenever I try to send a request to eBay using
URLLoader.load()

I'm already loading the crossdomain.xml file using:

Security.loadPolicyFile("https://api.ebay.com/crossdomain.xml");

Please have a look at the simple test case attached. If I run the
widget locally, I always get the "SUCCESS" message, however if I run
it from a website, I get the "SECURITY ERROR" message.

Any idea what I might be doing wrong?

Thanks,

Laurent




---------------------------




package laudev {

import flash.events.*;
import flash.net.*;
import flash.system.Security;

public class Main extends MovieClip {

private function test_complete(iEvent) {
this.logTextField.text = "SUCCESS";
}

private function test_ioError(iEvent) {
this.logTextField.text = "IO ERROR";
}

private function test_securityError(iEvent) {
this.logTextField.text = "SECURITY ERROR";
}

public function Main() {

Security.loadPolicyFile("https://api.ebay.com/
crossdomain.xml");

var xml = <GeteBayOfficialTimeRequest
xmlns="urn:ebay:apis:eBLBaseComponents">
<RequesterCredentials>
<eBayAuthToken>AgAAAA**AQAAAA**aAAAAA**S6a4Rw**nY+sHZ2PrBmdj6wVnY
+sEZ2PrA2dj6wFk4CpAZaLow6dj6x9nY
+seQ**Wd4AAA**AAMAAA**ITk9rZ8yVFi71W9PQkaF
+g2CF5pP7ZHA0J0olhCqiqTO6YuhgaS0EPYq0TAStSYCPbnR/
k6y2XySiVarz0FIR4xX9kOSgZV6KgQUUlcnynhS2vwwLtIyc0gMs1ANdaKm7ij2hR3cB3UyKAgASFnkOcd5KEQHbhVWPqYMd3prkJYz/
ijfv1I0FuJKsbC38VJW0ZyTuUhiVSpPypx5vCeCzvRJrx0Yj40oCeBPX1euWD5FBF1Wac1mSewYw3hW9qg6NXLQz7q
+mfDdd0IRjVanyzS8d7CSdXrEE0AupiwM0wPnt7EJ/PxVlpBusvM6sP
+ngMGYEsz9gv83bwe2p0/acCPkIoj7xHqlQe8KnOIJNCdwO6cYtrXNZVAhsPlWrVkt/
7+Ws8QnwJT/SVTwNJi3HFN11sI2gbKa0a1uWsRTwaCghfHRiXGES
+r2rssKquFz7PmRMFBVqoW8PxsbYMP655bchnkoQMkW8aeSVDNhWyNBP4cq8Dd1M8yRRm3jwlKok/
mBsmJCCLUF7FifMbMh7KlBchYQLh/RMAkdaXvyzTG5Tr76Qk9S
+q4uc0KU6+kvwEoii1uWwD2V3lVLKonxhUyiGT1IxsCJbODPjqDPvHnd1qJnOvKyAsgjuh5GsQqX9hKEAq5WqVxyc7uHGA
+JqmikFqnwmzj/
9k1iMjxJFL2nFslMBvThSvLA6HfT2uXQRavKihpwpTD2JkLbzC7HeMSN1yaDmGnMbPXpRyqQxLteKFWFx2Cxy8waR5f8Chy3</
eBayAuthToken>
</RequesterCredentials>
<DetailLevel>ReturnAll</DetailLevel>
<ErrorLanguage>en_US</ErrorLanguage>
<Version>459</Version>
</GeteBayOfficialTimeRequest>

var loader = new URLLoader();
loader.addEventListener(Event.COMPLETE, this.test_complete);
loader.addEventListener(IOErrorEvent.IO_ERROR,
this.test_ioError);
loader.addEventListener(SecurityErrorEvent.SECURITY_ERROR,
this.test_securityError);

var urlRequest = new URLRequest("https://api.ebay.com/ws/
api.dll");

urlRequest.requestHeaders = [
new URLRequestHeader("X-EBAY-API-COMPATIBILITY-LEVEL", "459"),
new URLRequestHeader("X-EBAY-API-DEV-NAME",
"4f22fc6d-994e-4fda-9d75-e569c0c64232"),
new URLRequestHeader("X-EBAY-API-APP-NAME",
"LaurentW-3bd3-4c82-beb6-303ab392bcb9"),
new URLRequestHeader("X-EBAY-API-CERT-NAME",
"87eb1c11-415e-443e-a7f8-30c21f3f5058"),
new URLRequestHeader("X-EBAY-API-SITEID", "0"),
new URLRequestHeader("X-EBAY-API-CALL-NAME",
"GeteBayOfficialTime"),
new URLRequestHeader('Content-Type', 'test/xml')
]

urlRequest.data = '<?xml version="1.0" encoding="utf-8"?>' +
xml.toXMLString();
urlRequest.method = URLRequestMethod.POST;

loader.load(urlRequest);
}

}

}
Reply all
Reply to author
Forward
Message has been deleted
0 new messages