cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
446
Views
1
Helpful
4
Replies

XML API Returns "Method not supported on this platform"

steve.goodwin
Level 1
Level 1

Everything was fine on Friday, so I've been working on theory that it's the SSL change.

However, I've changed the webexURL to use https (and not) webexPort to 443 (and not), and amended the URL endpoint to 443[0], but I get this error in all cases.

Can anyone shed some light on this, as we're running ~100 meetings today, and is therefore urgent.

Thanks,

Steev

[0] using fsockopen("ssl:// ... url...", 443

4 Replies 4

nmorrow
Cisco Employee
Cisco Employee

Hello,

     I dont recognize this as a WebEx error that I have ever seen. HTTPS is required for API requests, but the error for failing to do so will be a "Failure to forward request" in my experience. You may not have SSL support setup in your PHP environment. If this is the case, you could try modifying your code to use curl instead of fsockopen as in the following:

     $XML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?><serv:message xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"><header><securityContext><siteName>$sitename</siteName></securityContext></header><body><bodyContent xsi:type=\"java:com.webex.service.binding.ep.GetAPIVersion\"></bodyContent></body></serv:message>";

     $URL = "https://$sitename.webex.com/WBXService/XMLService";

     $ch = curl_init();

     curl_setopt($ch, CURLOPT_URL, $URL);

     curl_setopt($ch, CURLOPT_HEADER, 0);

     curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);

     curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);

     curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

     curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');

     curl_setopt($ch, CURLOPT_POST, 1);

     curl_setopt($ch, CURLOPT_POSTFIELDS, $XML);

     curl_setopt($ch, CURLOPT_HTTPHEADER, array(

                                       'Content-type: application/xml',

                                       'Content-length: ' . strlen($XML)

                                     ));

     $output = curl_exec($ch);

     $p = xml_parser_create();

     xml_parse_into_struct($p, $output, $vals);

     xml_parser_free($p);

Now here's an odd thing...

I'd already tried both fsockopen and curl yesterday, but to no available. The results where identical.

This morning, I got into work and tried your code, and it worked. (Naturally!)

Then I tried yesterdays code, and both versions work!?!?!

Then I tried the non-SSL versions - and that worked too!

I'm now more confused that I was...

That is odd. You should definitely prepare to use SSL, as that is a security enhancement that can currently be disabled (likely has been in this case if non secure is working), but will very likely be strictly enforced in the future. Can you confirm whether the error you were receiving was returned by WebEx as an XML response, or just a PHP exception? As I mentioned, this isn't an error I had ever seen before.

I got a mail back last night saying that Cisco rolled back the SSL requirement on Monday afternoon, but hadn't told Intercall (our reseller).

AFAIK it's not a PHP exception but since I can't replicate the problem I'll have to put this to bed now, and try to work out how to download recordings through the API!

Thanks for your help.