• kchurch
  • NEWBIE
  • 0 Points
  • Member since 2005

  • Chatter
    Feed
  • 0
    Best Answers
  • 0
    Likes Received
  • 0
    Likes Given
  • 5
    Questions
  • 5
    Replies

Hi all

 

We’ve recently started using the OfficeToolkit for some in-house development.  We’re developing an application that implements some interactions between excel and salesforce. This application creates a new custom object using a combination of data generated by salesforce and data generated by our excel file.

 

Strange as this may sound, a few weeks ago we downloaded the office toolkit (version 3 which I think is the newest one) and started implemented our application. We were easily able to create standard objects like Accounts, Contacts, etc using the samples provided in the office toolkit developers guide. We were also able to create a custom object using the toolkit.

 

However, as of today, the code no longer works. We can still create standard objects but we can no longer create custom objects via the toolkit. When we try to create one of our custom objects we receive the following error – “One of the records in the batch call resulted in an error. Examine the records to determine which one(s) failed”.

 

The code hasn’t changed in the past two weeks and I’ve checked the permissions to ensure I have appropriate rights to create an object. I had another look at the office toolkit developer guide and noticed the following statement regarding custom objects - Client applications cannot Create custom objects via the API. However, client applications with sufficient permissions can invoke API calls on custom objects.” I take it this means we cannot create custom objects via the office toolkit? If so, I don’t know why we were able to do this successfully two weeks ago and not today? I don’t think I’m loosing my mind :-(  Any insights into our problem would be greatly appreciated.

 

Our code hasn’t been changed in the past two weeks, I haven’t upgraded/re-installed the toolkit in the past two weeks and the references are setup to point to the SForceOfficeToolkitV3.  If the toolkit has been updated and this functionality is simply not supported anymore – are there any workarounds or alternatives that you guys could suggest? I’ve included some code snippets to illustrate how we’re creating the custom object below.

 

Thanks,

 

Karen

 

 

 

'create using batch call

Dim so(0) As SObject3

 

Set so(0) = g_sfApi.CreateObject("proposal__c")

 

Dim oppid As String

 

oppid = ………. //We take this from salesforce

 

'set the values of the proposal to the appropiate cell values

so(0)("Opportunity__c") = oppid

 

'call batch method

g_sfApi.Create so, False

 

'call batch refresh

g_sfApi.Refresh so, False

We want to be able to have a calculated field in a custom object A, which is the result of adding field values together from custom object B and custom object C. So for example:

 

Custom_Object_A.field = Custom_Object_B.field + Custom_Object_C.field

 

I understand that the latest version of salesforce supports formulae fields that allow me to automatically calculate a value in one field based on the values in other fields, however as far as I’m aware this only works with fields associated the same object. We want to do something similar apart from the fields we want to use in our calculation are spread across different objects.

 

I’m sure there is a way to do this using sforce controls but I can’t find that many samples online. I was wondering if anyone has any sample code or suggestions about how I might go about implementing this functionality?

 

Also, we don’t want to have to click on a link to execute the sforce control. Instead, what we’d really like is to have the calculated field in our custom object A update/change automatically whenever the values in custom object B or C change. So we’d like to somehow attach or associate the sforce control with a field. Is there any way of doing this? Any help would be greatly appreciated.

 

Thanks

Karen

I was just wondering if any developers have experienced a decrease in the performance/speed of their salesforce application when using SSL?

 

We've built a web-based application in java that allows our clients to submit some profile details to us which we store directly in a custom object in salesforce. We found that generally, the performance of the application was very poor. It took ages to establish the initial connection with salesforce (i.e. login via the salesforce api) and then the process of creating or update our custom object was very slow.

 

We've carried out a number of steps in an attempt to improve the speed and performance of the application including the following:

 

(1) We enabled SOAP compression

(2) We implemented a singleton for session management. We have a servlet deployed on our server that maintains a constant connection with salesforce. We update/refresh this connection every couple of hours. This gets rid of the initial delay we experience while trying to establish a connection/login to salesforce.

(3) We switched the MRU (Most recently used) functionality off.

 

These attempts did help increase the speed of the application and since then we have successfully deployed the application. However, we're now using SSL so our clients can feel more secure when using the application and submitting their details. Since using SSL, we've found that the speed of the application has deteriorated.

 

Has anyone else had any experience with this sort of thing? Anyone else been trying to enhance the speed and performance of their application? If so what did you try/were you successful? And for those of you using SSL, did you find a decrease in the performance of your application?

 

Thanks

Karen

Hi,

We have a web-based application, built in Java that allows clients to submit information to us online. The application essentially carries out inserts and updates on a single custom object which stores customer details within salesforce. However, we are experiencing lots of problems regarding the performance of the application, particularly with the sforce API calls.

We've implemented compression but that doesn't appear to improve things. We only need to query a single object at any given time so bulk calls won't improve things. Also, the fields associated with the custom object are mostly numeric fields so very few large text fields exist.

The only bottleneck we can see is that the application executes a number of queries, i.e. select and insert/update queries while the users is filling out their details online.

Is there any way to improve the performance of the query process? Or have you any ideas on what else we should examine to improve the performance and speed of the application?

Regards,
Karen

Hi all,

I receive the error below when I try to execute a Query that returns a Field with a Double value.  Basically I'm trying to access the 'Amount' field from the object 'Opportunity'.  I am able to successfully access the ID or Name associated with an Opportunity object but not the Amount. Any ideas/suggestions? I noticed on some other related threads that the issue may be related to the namespace.  I'm using the Enterprise WSDL and the endpoint address is: https://www.salesforce.com/services/Soap/c/6.0

I'd really appreciate any help you can provide.

Thanks,

Karen

AxisFault

faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.userException

faultSubcode:

faultString: org.xml.sax.SAXException: No deserializer for {http://schemas.xmlsoap.org/soap/encoding/}double

faultActor:

faultNode:

faultDetail:

{http://xml.apache.org/axis/}stackTrace:org.xml.sax.SAXException: No deserializer for {http://schemas.xmlsoap.org/soap/encoding/}double

at org.apache.axis.encoding.ser.BeanDeserializer.onStartChild(BeanDeserializer.java:290)

at org.apache.axis.encoding.DeserializationContextImpl.startElement(DeserializationContextImpl.java:1040)

at org.apache.axis.message.SAX2EventRecorder.replay(SAX2EventRecorder.java:198)

at org.apache.axis.message.MessageElement.publishToHandler(MessageElement.java:856)

at org.apache.axis.message.RPCElement.deserialize(RPCElement.java:235)

at org.apache.axis.message.RPCElement.getParams(RPCElement.java:349)

at org.apache.axis.client.Call.invoke(Call.java:2379)

at org.apache.axis.client.Call.invoke(Call.java:2278)

at org.apache.axis.client.Call.invoke(Call.java:1772)

at com.sforce.soap.enterprise.SoapBindingStub.query(SoapBindingStub.java:1717)

at src.data.AutoSummarizer.getData(AutoSummarizer.java:83)

at src.data.AutoSummarizer.<init>(AutoSummarizer.java:35)

at src.data.AutoSummarizer.main(AutoSummarizer.java:149)

We want to be able to have a calculated field in a custom object A, which is the result of adding field values together from custom object B and custom object C. So for example:

 

Custom_Object_A.field = Custom_Object_B.field + Custom_Object_C.field

 

I understand that the latest version of salesforce supports formulae fields that allow me to automatically calculate a value in one field based on the values in other fields, however as far as I’m aware this only works with fields associated the same object. We want to do something similar apart from the fields we want to use in our calculation are spread across different objects.

 

I’m sure there is a way to do this using sforce controls but I can’t find that many samples online. I was wondering if anyone has any sample code or suggestions about how I might go about implementing this functionality?

 

Also, we don’t want to have to click on a link to execute the sforce control. Instead, what we’d really like is to have the calculated field in our custom object A update/change automatically whenever the values in custom object B or C change. So we’d like to somehow attach or associate the sforce control with a field. Is there any way of doing this? Any help would be greatly appreciated.

 

Thanks

Karen

Hi,

We have a web-based application, built in Java that allows clients to submit information to us online. The application essentially carries out inserts and updates on a single custom object which stores customer details within salesforce. However, we are experiencing lots of problems regarding the performance of the application, particularly with the sforce API calls.

We've implemented compression but that doesn't appear to improve things. We only need to query a single object at any given time so bulk calls won't improve things. Also, the fields associated with the custom object are mostly numeric fields so very few large text fields exist.

The only bottleneck we can see is that the application executes a number of queries, i.e. select and insert/update queries while the users is filling out their details online.

Is there any way to improve the performance of the query process? Or have you any ideas on what else we should examine to improve the performance and speed of the application?

Regards,
Karen

Hi all,

I receive the error below when I try to execute a Query that returns a Field with a Double value.  Basically I'm trying to access the 'Amount' field from the object 'Opportunity'.  I am able to successfully access the ID or Name associated with an Opportunity object but not the Amount. Any ideas/suggestions? I noticed on some other related threads that the issue may be related to the namespace.  I'm using the Enterprise WSDL and the endpoint address is: https://www.salesforce.com/services/Soap/c/6.0

I'd really appreciate any help you can provide.

Thanks,

Karen

AxisFault

faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.userException

faultSubcode:

faultString: org.xml.sax.SAXException: No deserializer for {http://schemas.xmlsoap.org/soap/encoding/}double

faultActor:

faultNode:

faultDetail:

{http://xml.apache.org/axis/}stackTrace:org.xml.sax.SAXException: No deserializer for {http://schemas.xmlsoap.org/soap/encoding/}double

at org.apache.axis.encoding.ser.BeanDeserializer.onStartChild(BeanDeserializer.java:290)

at org.apache.axis.encoding.DeserializationContextImpl.startElement(DeserializationContextImpl.java:1040)

at org.apache.axis.message.SAX2EventRecorder.replay(SAX2EventRecorder.java:198)

at org.apache.axis.message.MessageElement.publishToHandler(MessageElement.java:856)

at org.apache.axis.message.RPCElement.deserialize(RPCElement.java:235)

at org.apache.axis.message.RPCElement.getParams(RPCElement.java:349)

at org.apache.axis.client.Call.invoke(Call.java:2379)

at org.apache.axis.client.Call.invoke(Call.java:2278)

at org.apache.axis.client.Call.invoke(Call.java:1772)

at com.sforce.soap.enterprise.SoapBindingStub.query(SoapBindingStub.java:1717)

at src.data.AutoSummarizer.getData(AutoSummarizer.java:83)

at src.data.AutoSummarizer.<init>(AutoSummarizer.java:35)

at src.data.AutoSummarizer.main(AutoSummarizer.java:149)