• Nick
  • NEWBIE
  • 0 Points
  • Member since 2004

  • Chatter
    Feed
  • 0
    Best Answers
  • 0
    Likes Received
  • 0
    Likes Given
  • 10
    Questions
  • 5
    Replies
I'm using the Apex Toolkit for Eclipse to create an SControl (mtbclimber/Andrew said to post the question here instead of Apex Code Development).
 
The Merge Field wizard is missing some important things, most notably the API and SControl (not to be confused with $SControl) families. Am I missing something, or can these be added?
 
Regards,
Nick
  • February 16, 2007
  • Like
  • 0
The enterprise and partner WSDLs imply that LoginScopeHeader.organizationId is required, because the WSDLs do not explicitly indicate minOccurs=0. So our platform interprets this per spec, causing it to be required in our generated applications.
Based on observed behavior, this value is actually optional. So we'd like to see the WSDLs change to include minOccurs=0. or perhaps nillable="true", to reflect the actual behavior of the Login() service.
 
Nick
  • January 31, 2007
  • Like
  • 0
{!SUBSTITUTE("This is a test","a","/") }
evaluates to "This is / test", as expected.
 
But {!SUBSTITUTE("{!Opportunity.Name}","a","/") }
evaluates *literally* to "{!Opportunity.N/me}", instead of embedding slashes in the actual Opportunity Name.
 
Am I doing something wrong or is this broken. I can't find any documentation that addresses this.
 
Nick
 
  • January 31, 2007
  • Like
  • 0
I was looking for the WSDL for executeAnonymous. I found a reference to the WSDL for runTests on pg88. Fortunately that WSDL contains all kinds of goodies, including executeAnonymous. This URL should be documented some place more centralized.
 
Please let me know if this is not the right place to make such suggestions.
 
Nick
 
  • January 31, 2007
  • Like
  • 0
1. Is there any documentation in addition to what I've found on the Apex Wiki (just one page, at https://wiki.apexdevnet.com/index.php/Eclipse_Plug-in).
 
2. I don't see how to create a new Apex code package. If I right-click on the SControls folder I get a menu item for Apex/New SControl, but no such luck with the Packages folder.
 
3. This really has to do with SControls, but I'll ask here. The Merge Field wizard is missing some important things, most notably the API and SControl (not $SControl) families. Can these be added?
 
4. There is a code template for a new SControl. If/when I am able to create a new Apex code package, will I be able to create my own template? Maybe this is obvious, but I'm not familiar with that side of Eclipse, so some guidance would be appreciated.
 
Nick
 
 
p.s. Dave: I've watched your Eclipse plug-in evolve over the last year or so. Thank you for taking this on--it's a great tool!
  • January 31, 2007
  • Like
  • 0

I want to derive a general purpose JavaScript script that uses for example the URL for /secur/frontdoor.jsp, but I don't want to assume that it will aways start with https://na1.salesforce.com.

Can I safely assume that all of the URLs available via scontrol merge fields (Scontrol_URL, API_Enterprise_Server_URL_25, API_Enterprise_Server_URL_30, Scontrol_JavaCodebase, and Scontrol_JavaArchive) will always start with the same base for any customer session? If not, which one will be the right one to use for this purpose?

My preference is to use Scontrol_URL, extract it's base URL, and then assume that this is good enough to build up URLs for /secur/frontdoor, /servlet/servlet.SoapApi, and also to redirect the user to an object page (such as by appending Opportunity_ID to the base URL).

Nick

  • April 25, 2004
  • Like
  • 0

The documentation is not clear on a couple subtle but important points about the dateTime values.

Is the range inclusive, exclusive or mixed? I'd expect the startDate to be inclusive and the endDate to be exclusive (so that a subsequent call could use the endDate as the new startDate). If not, then there is the risk of the same object ID being returned in two consecutive (and presumably disjoint) requests. This could happen when the seconds portion of the object's LastModifiedDate is zero.

I noted that the seconds portion of the startDate and endDate are ignored. Is the seconds portion of the object's timestamp similarly ignored? If so, this could provide a work-around for the first problem. Either way, this should be clearly documented.

Does leaving blank one or both of the dateTime values give an open-ended search? If not, this would be a reasonable feature to add in the next release.

 

One final note: the Usage section of the doc for both calls mentioned "updatedDate", which is not defined. This should get changed to reflect startDate, endDate, and the answers to the above questions.

Nick

  • April 22, 2004
  • Like
  • 0

I am trying to use an Scontrol to save an application file (an MS Word .doc file) and then address it in the corresponding HTML script.

The merge field {!Scontrol_URL} returns a URL to the application file (https://na1.salesforce.com/servlet/servlet.FileDownload?file=01N3000000000S0). With an active salesforce.com session, I can paste this into the IE6 address field and it'll bring up the embedded file as expected.

However, when I use this URL inside the Scontrol HTML script, I can't seem to get the URL to work. (I have seen examples where this merge field value is used successfully in "APPLET archive=" and "SCRIPT src=" references, so I don't see how this use is any different.)

What do I need to do in the HTML script (or otherwise) to get the merge field URL to work for something like a .doc file?

Nick

  • March 02, 2004
  • Like
  • 0

Using the 2.5 API, the login() call returns the URL: https://na1-api.salesforce.com/services/Soap/u/2.5. Through the salesforce.com UI, the {API_Partner_Server_URL} merge fields returns the URL: https://na1.salesforce.com/services/Soap/u/2.5.

These are close, but not exactly the same. I'd like to know if these URLs can be used interchangeably, and if not, what are the different circumstances when I would use one or the other?

 

Using the 2.0 API, the login() call returns the URL: https://na1-api.salesforce.com/servlet/servlet.SoapApi. I need this URL for use in an Scontrol, but I don't see any merge field that will provide this, and I am very reluctant to hard-code this. Even though this is a 2.0 API issue, I'd like to see this oversight rectified. What can I do about this?

Nick

  • February 27, 2004
  • Like
  • 0

I'm using an Scontrol as a WIL, displayed in a salesforce.com window with sidebar. In this configuration, my control is actually displayed inside of an html IFRAME, which is fine.

When my Scontrol finishes what it needs to do, I'd like to send the user automatically to an Opportunity page. However, if my html code uses a javascript call to go to https://na1.salesforce.com/00630000000abcd, the new Opportunity page shows up inside the little frame, instead of being displayed in the full IE window. I tried the "frontdoor" technique (as described elsewhere in this forum), but that got the same results.

From inside my Scontrol, how can I send the user to an Opportunity page without being stuck inside of the Scontrol IFRAME?

Thanks,
Nick

  • February 18, 2004
  • Like
  • 0
The enterprise and partner WSDLs imply that LoginScopeHeader.organizationId is required, because the WSDLs do not explicitly indicate minOccurs=0. So our platform interprets this per spec, causing it to be required in our generated applications.
Based on observed behavior, this value is actually optional. So we'd like to see the WSDLs change to include minOccurs=0. or perhaps nillable="true", to reflect the actual behavior of the Login() service.
 
Nick
  • January 31, 2007
  • Like
  • 0
{!SUBSTITUTE("This is a test","a","/") }
evaluates to "This is / test", as expected.
 
But {!SUBSTITUTE("{!Opportunity.Name}","a","/") }
evaluates *literally* to "{!Opportunity.N/me}", instead of embedding slashes in the actual Opportunity Name.
 
Am I doing something wrong or is this broken. I can't find any documentation that addresses this.
 
Nick
 
  • January 31, 2007
  • Like
  • 0

I was experiencing an odd failure today that drove me crazy for about an hour.  The error message I was getting back was not in line with the actual behavior.

I was sending a getUpdated() and getDeleted() for "Contact" that was over 30 days old.  Since this is not documented that there is a limitation, I was getting back the following exception message:

AxisFault
 faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.userException
 faultSubcode: 
 faultString: java.lang.IllegalStateException
 faultActor: 
 faultNode: 
 faultDetail: 
 {http://xml.apache.org/axis/}stackTrace: java.lang.IllegalStateException

While I'm use to seeing the exceptions, this wasn't being returned as a normal SOAP message.  Possibly a bug in Axis.  But, looking at the HTTP Response, I noticed that it was coming back as an HTTP 500 Result.  Is this what's causing the issue and not giving back the correct exception?

 

POST /services/Soap/c/3.0 HTTP/1.0
Content-Type: text/xml; charset=utf-8
Accept: application/soap+xml, application/dime, multipart/related, text/*
User-Agent: Axis/1.1
Host: na1-api.salesforce.com
Cache-Control: no-cache
Pragma: no-cache
SOAPAction: ""
Content-Length: 1006





25


2b4PAnqmlEHaBb3Emud3ANiadvr8JBCwJaUfVNCdGEL7jlN7963X_Y2ZjzJ5k94fWSpw2lom2G3UoQSUdfxOTPbtzKggVlhL




Contact
2002-04-01T08:00:00.000Z
2004-05-11T21:47:37.359Z


HTTP/1.0 500 Internal Server Error
Server: sfdc
Server: sfdc
Content-Type: text/xml; charset=utf-8
Date: Tue, 11 May 2004 21:47:47 GMT





soapenv:Server
INVALID_REPLICATION_DATE: startDate cannot be more than 30 days ago


INVALID_REPLICATION_DATE
startDate cannot be more than 30 days ago




 

I want to derive a general purpose JavaScript script that uses for example the URL for /secur/frontdoor.jsp, but I don't want to assume that it will aways start with https://na1.salesforce.com.

Can I safely assume that all of the URLs available via scontrol merge fields (Scontrol_URL, API_Enterprise_Server_URL_25, API_Enterprise_Server_URL_30, Scontrol_JavaCodebase, and Scontrol_JavaArchive) will always start with the same base for any customer session? If not, which one will be the right one to use for this purpose?

My preference is to use Scontrol_URL, extract it's base URL, and then assume that this is good enough to build up URLs for /secur/frontdoor, /servlet/servlet.SoapApi, and also to redirect the user to an object page (such as by appending Opportunity_ID to the base URL).

Nick

  • April 25, 2004
  • Like
  • 0

I'm using an Scontrol as a WIL, displayed in a salesforce.com window with sidebar. In this configuration, my control is actually displayed inside of an html IFRAME, which is fine.

When my Scontrol finishes what it needs to do, I'd like to send the user automatically to an Opportunity page. However, if my html code uses a javascript call to go to https://na1.salesforce.com/00630000000abcd, the new Opportunity page shows up inside the little frame, instead of being displayed in the full IE window. I tried the "frontdoor" technique (as described elsewhere in this forum), but that got the same results.

From inside my Scontrol, how can I send the user to an Opportunity page without being stuck inside of the Scontrol IFRAME?

Thanks,
Nick

  • February 18, 2004
  • Like
  • 0