function readOnly(count){ }
Starting November 20, the site will be set to read-only. On December 4, 2023,
forum discussions will move to the Trailblazer Community.
+ Start a Discussion
mrammram 

Flex toolkit and API version

Hello, I am developing a Flex UI with SForce Flex toolkit. I tried to use semi join and got an error "This version of API does not support Semi-join". At the start of my mxml I have provided the following

 

<salesforce:Connection id="apex" serverUrl="https://www.salesforce.com/services/Soap/u/15.0"/>

 

I am assuming this helps me point to api version 15.0. This does not work. Is there some place else that I need to check or modify? I have downloaded the new build of the toolkit (Jun-2009)

 

Additionally outer join don't seem to work either, that indicates that my code appears to be using version earlier than 13.0

 

Would appreciate any pointers!

Best Answer chosen by Admin (Salesforce Developers) 
mrammram

Tracked down the API version issue. Atleast I think so. Left me feeling dumb.

 

<salesforce:Connection id="apex" serverUrl="https://www.salesforce.com/services/Soap/u/15.0"/>

 

The above line in my flash code is not setting the serverUrl[ hence may be removed]. My module was embedded in the VForce page and my login function [ provided in my previous post] in the flash program clearly gets server_url and session_id as param from VForce page. 

 

 

I changed the server_url in my VForce page from 110 to 140 like indicated below and that apparently has solved the issue.

 

flashvars="session_id={!$API.Session_ID} &server_url={!$API.Partner_Server_URL_110}"

 

flashvars="session_id={!$API.Session_ID} &server_url={!$API.Partner_Server_URL_140}"

All Answers

hisrinuhisrinu

- Can you verify if there are more than one connection object with 2 different IDs specifying 2 different API versions in the mxml.

 

- Also check if this is working fine in the sandbox ( <salesforce:Connection id="apex" serverUrl="https://test.salesforce.com/services/Soap/u/15.0"/> )

 

- Can you also share the SQL query you are using?

mrammram

Thank you for a quick response. Here is the information that you had asked me to verify. There is only once instance of SForce connection. I am using my session information for my logon. 

 

1) Connection related code

 

<salesforce:Connection id="apex" serverUrl="https://www.salesforce.com/services/Soap/u/15.0"/>

 

            private function login ():void    {
                var lr:LoginRequest = new LoginRequest();
                lr.server_url = parameters.server_url;
                lr.session_id = parameters.session_id;
                lr.callback = new AsyncResponder(getReconData, handleFault);
                apex.login(lr);
               
            }
 

2)The query involves all custom objects. Object o is the parent of Object a and Object g in the following query. The query needs to involve them all to get the desired result. The following query runsusing APEX explorer pointing to API version 15.0. Even if there is an alternate to the following query [ which I would like to know], I sure would like to use the later version of the API to get outer join results.

 

Query

 

Select o.ID, (SELECT a.Id, a.Name, a.AdjustmentAmt__c, a.AirlineTicket__c, a.FinancialAdjDate__c, a.PerDiem__c, a.ObligationNbr__c
from Obligations__r a) FROM Obligation__c o
WHERE o.ID in ( SELECT Obligation__c
                         FROM GFMSReconIfce__c g
                        WHERE g.ProcessStatus__c = 'P')

mrammram

Tracked down the API version issue. Atleast I think so. Left me feeling dumb.

 

<salesforce:Connection id="apex" serverUrl="https://www.salesforce.com/services/Soap/u/15.0"/>

 

The above line in my flash code is not setting the serverUrl[ hence may be removed]. My module was embedded in the VForce page and my login function [ provided in my previous post] in the flash program clearly gets server_url and session_id as param from VForce page. 

 

 

I changed the server_url in my VForce page from 110 to 140 like indicated below and that apparently has solved the issue.

 

flashvars="session_id={!$API.Session_ID} &server_url={!$API.Partner_Server_URL_110}"

 

flashvars="session_id={!$API.Session_ID} &server_url={!$API.Partner_Server_URL_140}"

This was selected as the best answer