• Captain62
  • NEWBIE
  • 10 Points
  • Member since 2014

  • Chatter
    Feed
  • 0
    Best Answers
  • 0
    Likes Received
  • 0
    Likes Given
  • 5
    Questions
  • 5
    Replies
We have an application that accesses Salesforce via SOAP API. For internal users the app can pull the WSDL using the URL *.my.salesforce.com/soap/wsdl.jsp, but Community Licensed users do not have access to that. How do we dynamically pull the WSDL as a Community User?
We have two inter-related communities, each with their own custom subdomain (community1.mycompany.com, and community2.mycompany.com). Because we are using custom domains, users are being prompted to login again when visiting the other community. After a month of back and forth with Premier Support they said that it was working as designed (the session cookie is tied to the specific subdomain and is not a domain wide cookie).

My next thought is to use Single Sign On to make one community the identity provider for the other, so that the prompt to login would be forwarded to the "primary" community, and the secondary community would become the service provider. Under Security Controls -> Single Sign On, I created a new entry by taking the Metadata file from Security Controls -> Identity Provider, but I cannot figure out how to configure the second community to specify it to use the Single Sign On entry.

 
We have an OAuth enabled website that is hooked into a Salesforce Community for our customers and partners, that lets them login using their Community username/password (or if they are already logged into the Community it lets them right in). This works correctly.

Internal users, however, cannot login directly to a Community using their Salesforce username/password, and instead have to use a special link built into the Community login page: https://<org>.my.salesforce.com/servlet/networks/session/create?site=XXXXXXX. However, that link ALWAYS takes them to the Community homepage, and not the original URL they typed into the browser. I have read that there is an additional parameter you can add to /networks/session/create called "&url=<url>" to send them to a specific URL, but I do not know how to lookup the original URL since it is wrapped up in the OAuth request, and not present in the Page's URL

For reference the URL shown in the browser is
https://<my community.com>/setup/secur/RemoteAccessAuthorizationPage.apexp?source=YYYYYYY

How do I access the original requested URL so I can append it to /networks/session/create so Internal Users are send to the correct destination URL after logging in?
I have a Salesforce Community site set to Public Access, and Data Category visibility is set to "All" under the Public Access Settings, but the page below prompts for a login
<apex:page title="Hello World" applyHtmlTag="false" cache="false" docType="xhtml-1.1" showHeader="false" standardStylesheets="false">
    <apex:composition template="{!$Site.Template}">
        <apex:define name="content">
                <h1>Hello World</h1>
                <ul>
                    <knowledge:categoryList categoryGroup="Feature" categoryVar="cat" level="1" rootCategory="All">
                        <li><a href="/kb/browse?id={!cat.name}&g=Feature">{!cat.label}</a></li>
                    </knowledge:categoryList>
                </ul>
        </apex:define>
    </apex:composition>
</apex:page>
When the <knowledge:categoryList> tag is removed the page loads without prompting for a login.
 
We are having issues where queries against certain fields (both out-of-box, and custom fields) become inaccessible via the API. The same query (against the same record) works correctly 99% of the time. This happens with multiple fields on separate objects (Case, and KnowledgeArticleVersion) queried at separate times (ie not part of the same script or page).

Here's an example of the message we receive back:

INVALID_FIELD: ArticleType, ^ ERROR at Row:4:Column:6 No such column 'ArticleType' on entity KnowledgeArticleVersion'. If you are attempting to use a custom field, be sure to append the '__c' after the custom field name. Please reference your WSDL or the describe call for the appropriate names.

And here's the raw HTTP output we receive.

POST /services/Soap/c/29.0/00DC0000000PlX2/0DFC0000000H5KA HTTP/1.1
Host: shoretel.my.salesforce.com
Connection: Keep-Alive
User-Agent: PHP-SOAP/5.4.29
Content-Type: text/xml; charset=utf-8
SOAPAction: ""
Content-Length: 1251

<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="urn:enterprise.soap.sforce.com"><SOAP-ENV:Header><ns1:SessionHeader><ns1:sessionId>00DC0000000PlX2!ARwAQAB.8JoFPLxB3BlOlbIZt41Imf0BfLU4M37ANtH1ooAUz7cUnI_esfhWCSskoiFRPSRqxVQf24TYl8jEHakYcbDY5Ulv</ns1:sessionId></ns1:SessionHeader></SOAP-ENV:Header><SOAP-ENV:Body><ns1:query><ns1:queryString>SELECT Id, &#13;
     CaseNumber,&#13;
     RMA__c,&#13;
&#13;
     Subject,&#13;
&#13;
     End_User__r.Name,&#13;
     Feature__c,&#13;
     Sub_Feature__c,&#13;
     Version__c,&#13;
     Trunk_Provider__c,&#13;
&#13;
     Status,&#13;
     Sub_Status__c,&#13;
     Area__c,&#13;
     Priority,&#13;
&#13;
     Contact.Name,&#13;
     Contact.Account.Name,&#13;
     CreatedDate,&#13;
     ClosedDate,&#13;
&#13;
     Description,&#13;
&#13;
     (Select Id,cg__File_Name__c,cg__File_Size__c,CreatedDate FROM cg__Case_Files__r WHERE cg__WIP__c = FALSE ORDER BY CreatedDate),&#13;
     (Select CreatedBy.Name,CommentBody,CreatedDate FROM CaseComments WHERE IsPublished = TRUE ORDER BY CreatedDate DESC)&#13;
    FROM Case&#13;
    WHERE Id = '500C000000agpxoIAA'</ns1:queryString></ns1:query></SOAP-ENV:Body></SOAP-ENV:Envelope>

SFDC Response
query

HTTP/1.1 500 Server Error
Date: Fri, 13 Jun 2014 20:19:26 GMT
Content-Type: text/xml;charset=UTF-8
Content-Length: 1462
<?xml version="1.0" encoding="UTF-8"?><soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:sf="urn:fault.enterprise.soap.sforce.com" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><soapenv:Body><soapenv:Fault><faultcode>sf:INVALID_TYPE</faultcode><faultstring>INVALID_TYPE:
cg__File_Size__c,CreatedDate FROM cg__Case_Files__r WHERE cg__WIP__c
                                  ^
ERROR at Row:25:Column:68
Didn&apos;t understand relationship &apos;cg__Case_Files__r&apos; in FROM part of query call. If you are attempting to use a custom relationship, be sure to append the &apos;__r&apos; after the custom relationship name. Please reference your WSDL or the describe call for the appropriate names.</faultstring><detail><sf:InvalidSObjectFault xsi:type="sf:InvalidSObjectFault"><sf:exceptionCode>INVALID_TYPE</sf:exceptionCode><sf:exceptionMessage>
cg__File_Size__c,CreatedDate FROM cg__Case_Files__r WHERE cg__WIP__c
                                  ^
ERROR at Row:25:Column:68
Didn&apos;t understand relationship &apos;cg__Case_Files__r&apos; in FROM part of query call. If you are attempting to use a custom relationship, be sure to append the &apos;__r&apos; after the custom relationship name. Please reference your WSDL or the describe call for the appropriate names.</sf:exceptionMessage><sf:row>25</sf:row><sf:column>68</sf:column></sf:InvalidSObjectFault></detail></soapenv:Fault></soapenv:Body></soapenv:Envelope>

Our site is currently live and our customers are not able to view their open Cases because of this. Please consider this urgent.
Hi all,

Here is my requirement : Setup federation between My company and salesforce(Externally hosted) using SAML 2.0
What i did so far :
(1) I used login.salesforce.com and created my own salesforce instance(30 day trial version)
(2) Logged in and Enabled SAML 2.0 in My domain
(3) Went to "Setup"( located at the top of salesforce page)
(4) Under Administer ->  " Security Controls" -> Single Sign on Settings - I can only see few fields. But it doesn't show anything for ACS url, Name ID format etc., So was wondering did i miss anything here?

Please let me know

Thanks,
Jagadeesh.K
We have an OAuth enabled website that is hooked into a Salesforce Community for our customers and partners, that lets them login using their Community username/password (or if they are already logged into the Community it lets them right in). This works correctly.

Internal users, however, cannot login directly to a Community using their Salesforce username/password, and instead have to use a special link built into the Community login page: https://<org>.my.salesforce.com/servlet/networks/session/create?site=XXXXXXX. However, that link ALWAYS takes them to the Community homepage, and not the original URL they typed into the browser. I have read that there is an additional parameter you can add to /networks/session/create called "&url=<url>" to send them to a specific URL, but I do not know how to lookup the original URL since it is wrapped up in the OAuth request, and not present in the Page's URL

For reference the URL shown in the browser is
https://<my community.com>/setup/secur/RemoteAccessAuthorizationPage.apexp?source=YYYYYYY

How do I access the original requested URL so I can append it to /networks/session/create so Internal Users are send to the correct destination URL after logging in?
I have a Salesforce Community site set to Public Access, and Data Category visibility is set to "All" under the Public Access Settings, but the page below prompts for a login
<apex:page title="Hello World" applyHtmlTag="false" cache="false" docType="xhtml-1.1" showHeader="false" standardStylesheets="false">
    <apex:composition template="{!$Site.Template}">
        <apex:define name="content">
                <h1>Hello World</h1>
                <ul>
                    <knowledge:categoryList categoryGroup="Feature" categoryVar="cat" level="1" rootCategory="All">
                        <li><a href="/kb/browse?id={!cat.name}&g=Feature">{!cat.label}</a></li>
                    </knowledge:categoryList>
                </ul>
        </apex:define>
    </apex:composition>
</apex:page>
When the <knowledge:categoryList> tag is removed the page loads without prompting for a login.