• Covenant
  • NEWBIE
  • 5 Points
  • Member since 2003

  • Chatter
    Feed
  • 0
    Best Answers
  • 0
    Likes Received
  • 0
    Likes Given
  • 9
    Questions
  • 7
    Replies
Hello,
 
I have a fair ammount of legacy code written using the XMLRPC 2.0 API interface.  Do I have to be using SOAP and version 2.5 in order to "see" the custom object I create via the API?  I'm betting so, but wanted to check, for sure.
 
If not, it sure would be great to, at least, give me custom object visibility from within XMLRPC/2.0.  I don't need the other features of the 2.5 API and have a pretty solid base class built up in XMLRPC/2.0.
 
Thanks and Best Regards,
 
- Brendan
 
P.S.:  I've written all of this in Python in case anyone is interested.
Is there a console password masking class/method for Java?  I googled for this topic and only found some stupid method that used threads to delete characters echoed to the screen.  Sounds like a serious kludge, to me, and I'd prefer not to use it.
 
Any help would be appreciated.
 
Thanks,
 
- Brendan
Via the UI, we are able to reset customer "user" accounts off of the "View Self-Service" button.
 
Is there a way for us to reset this password via the API?  I noticed that the API reset_password call relates only to users.  My bet is that this is probably not possible.
 
The issue that we have is that we are faced with a large number of resets, based upon the proactiveness (or lack, thereof) of the account managers and AEs.
 
If this is not possible, it would be great to know when/if it will be.
 
Thanks and Best Regards,
 
- Brendan
Hello,

I have several userland applications that I've written in Python XMLRPC to access and modify data on Salesforce.com.

Prior to the change this weekend, everything was working fine.

This morning user's started complaining about one of my scripts not working (Using Python with the 2.0 XMLRPC API). I logged in as one of them and discovered that one of the fields I need to update with this script ('ownerID' on a task entity) only had 'select' and 'filter' allowed in 'access'. If I log on as an admin., I don't see this issue. What's strange is that user's *can* log on and access/change this field via the Salesforce web UI. At the very least, I would expect this to behave the same via the web UI as it does via the API....

Just for the heck of it, here's the returned result of a describe call when I'm logged in as admin.:

{'byteLength': 15, 'nullable': False, 'label': 'Owner ID', 'field': 'ownerID', 'length': 15, 'referenceTo': 'user', 'type': 'string', 'display': {'type': 'reference'}}

...and here it is for one of the user's that is failing:

{'byteLength': 15, 'label': 'Owner ID', 'access': ['select', 'filter'], 'field': 'ownerID', 'length': 15, 'referenceTo': 'user', 'type': 'string', 'display': {'type': 'reference'}}

I suspected that there was something in our role definitions or permissions setup, but I no longer think that's the problem... Has anyone else seen this issue? Any timeline on a fix?
Hello,

I understood that plain text searching would not be available for custom objects in the next version of Salesforce.com. What I failed to understand and what will be critical (for us) is reporting on custom objects.

Will user's be able to generate reports based upon custom objects and their fields?

Thanks and Best Regards,

- Covenant (Magma Design Automation)
Hello,

I, occasionally, trap the following error message and although my methods are catching it, I was curious to find out what it meant. Here it is:



This doesn't look like a real "user id/password" issue, even though that is the faultCode. It looks to me like you had a server failure on your end and that this error got sent by mistake.... Am I correct? The other side effect of this is that I could not login successfully.

Thanks,

- Covenant
Hello,

I know that a session_id isn't supposed to expire unless there is no activity for a two hour timeframe.

I wrote a script to access SalesForce.com to add a huge number of attachments. Every two hours, like clockwork, the script would fail with an "invalid session_id".

I've since changed the script to obtain a new session for every attachment and things are working fine.

I don't have a big problem, but I'd like to know how "activity" is defined or detected on your end. I'm using Python XMLRPC, which is identified as "other sforce API" by Salesforce.

Thanks, in advance, and Best Regards,

Covenant

Hello,

I've a problem when trying to find an automatic way (via the XMLRPC API, using Python) to deal with the ownerID of a case when that ID refers to a "Case Queue".  What entity type should I use when querying on this ID?  I noticed that the referenceTo field calls for a type of 'user', so I assumed I should use the returned ID in queries for the 'user' type, but that does not work.

I'm stuck as I don't consider it a valid option to generate a local Case Queue ==> id map and use that.  That's pretty lame and can't last for long.  Another option would be to allow for multiple "Case Owners".  In that way, at least someone would get notified when I send an e-mail to them letting them know their case is fixed and ready for review.

In the most recent docs., you mention that queues are not accessible via the API.  When is that likely to change???  Will it change for both the XMLRPC and SOAP?  If I must go with the above mapping table, I will, but only for a very short time!

Other than this problem, I'm pretty happy with how the API is functioning.  I was able to add attachments to over 2000 cases last week in less than 10 minutes.  Not too bad!

Please let me know when/if you're going to expose the queue entity in the API as I imagine that they're going to be pretty common "owners" for our cases....

Thanks,

- Brendan

Hello,

I am having some difficulty using the 'session_id' returned by the login Response using Python 2.3.  Prior to this version of Python, xmlrpclib would always fail because it wasn't able to deal with Boolean types.  I am quite new to XMLRPC, so please forgive me if the question is ignorant.

Here's the, quite simple, code I am using:

----------

import xmlrpclib

loginServer = xmlrpclib.Server("https://www.salesforce.com/servlet/servlet.Api")
loginParams = {'version':'2.0',
               'username':'covenantr@yahoo.com',
               'password':'luvPilar',
               'secure':True
               }

loginResponse = loginServer.sfdc.login(loginParams)

print loginResponse

transactionServer = xmlrpclib.Server( loginResponse['server_url'] )

logoutParams = {'version':'2.0',
                'session_id':loginResponse['session_id']
                }

logoutResponse = transactionServer.sfdc.logout(logoutParams)

----------

Here's what I get as output:

--------

$ python scripts/sforceXMLRPC.py
{'userID': '00530000000c4BV', 'server_url': 'https://na1-api.salesforce.com/serv
let/servlet.Api', 'session_id': 'rZVyAYxJHzioUs1Tx5x9CeWp5QeKVIIPcwDAUguWiqV9vYt
04QqF5QemGXwg.IDWkWByTFHyy2rvJ4CmaYRpUfbtzKggVlhL'}
Traceback (most recent call last):
  File "scripts/sforceXMLRPC.py", line 43, in ?
    logoutResponse = transactionServer.sfdc.logout(logoutParams)
  File "c:\Python23\lib\xmlrpclib.py", line 1029, in __call__
    return self.__send(self.__name, args)
  File "c:\Python23\lib\xmlrpclib.py", line 1316, in __request
    verbose=self.__verbose
  File "c:\Python23\lib\xmlrpclib.py", line 1080, in request
    return self._parse_response(h.getfile(), sock)
  File "c:\Python23\lib\xmlrpclib.py", line 1219, in _parse_response
    return u.close()
  File "c:\Python23\lib\xmlrpclib.py", line 742, in close
    raise Fault(**self._stack[0])
xmlrpclib.Fault: <Fault 1112: 'session ID missing or invalid'>

-----------

As you can see, the loginResponse dictionary looks correct.  I "think" I'm doing the correct thing by creating a new server instance for the remaining transactions, while grabbing the 'session_id' and other parameters from the login Response.

Any hints, ideas, or help into why this is failing would be great!!

Thanks and Best Regards,

- Covenant

This may not be the place to ask this but does anyone know if there were changes to the API (specifically v1.7) last night?  It would appear that custom fields we created on both the Contact Record and Case Record stated failing with "bad field names on insert/update call" as of about 10:00pm EST last night. Our code has not changed since July 3, 2003 so I am assuming something chaned on the SF side?

Hello -

I'm trying to figure out a way to invoke activity to another system from the completion of SalesForce Case process. I'd like to gather some data and through a URL be able to hit a system on our end.

I read in an earlier post that there isn't a way to hook into a UI event such as a Save button click. The best I can figure out is that I'd have to use a WIL to do this. The only thing I don't like about this is that the completion of the Case process wouldn't be seamless - the user would then have to click on a link.

Can anyone suggest any techniques to do something like this?

Thanks,

John

Hello,

I have several userland applications that I've written in Python XMLRPC to access and modify data on Salesforce.com.

Prior to the change this weekend, everything was working fine.

This morning user's started complaining about one of my scripts not working (Using Python with the 2.0 XMLRPC API). I logged in as one of them and discovered that one of the fields I need to update with this script ('ownerID' on a task entity) only had 'select' and 'filter' allowed in 'access'. If I log on as an admin., I don't see this issue. What's strange is that user's *can* log on and access/change this field via the Salesforce web UI. At the very least, I would expect this to behave the same via the web UI as it does via the API....

Just for the heck of it, here's the returned result of a describe call when I'm logged in as admin.:

{'byteLength': 15, 'nullable': False, 'label': 'Owner ID', 'field': 'ownerID', 'length': 15, 'referenceTo': 'user', 'type': 'string', 'display': {'type': 'reference'}}

...and here it is for one of the user's that is failing:

{'byteLength': 15, 'label': 'Owner ID', 'access': ['select', 'filter'], 'field': 'ownerID', 'length': 15, 'referenceTo': 'user', 'type': 'string', 'display': {'type': 'reference'}}

I suspected that there was something in our role definitions or permissions setup, but I no longer think that's the problem... Has anyone else seen this issue? Any timeline on a fix?

Hello,

I am having some difficulty using the 'session_id' returned by the login Response using Python 2.3.  Prior to this version of Python, xmlrpclib would always fail because it wasn't able to deal with Boolean types.  I am quite new to XMLRPC, so please forgive me if the question is ignorant.

Here's the, quite simple, code I am using:

----------

import xmlrpclib

loginServer = xmlrpclib.Server("https://www.salesforce.com/servlet/servlet.Api")
loginParams = {'version':'2.0',
               'username':'covenantr@yahoo.com',
               'password':'luvPilar',
               'secure':True
               }

loginResponse = loginServer.sfdc.login(loginParams)

print loginResponse

transactionServer = xmlrpclib.Server( loginResponse['server_url'] )

logoutParams = {'version':'2.0',
                'session_id':loginResponse['session_id']
                }

logoutResponse = transactionServer.sfdc.logout(logoutParams)

----------

Here's what I get as output:

--------

$ python scripts/sforceXMLRPC.py
{'userID': '00530000000c4BV', 'server_url': 'https://na1-api.salesforce.com/serv
let/servlet.Api', 'session_id': 'rZVyAYxJHzioUs1Tx5x9CeWp5QeKVIIPcwDAUguWiqV9vYt
04QqF5QemGXwg.IDWkWByTFHyy2rvJ4CmaYRpUfbtzKggVlhL'}
Traceback (most recent call last):
  File "scripts/sforceXMLRPC.py", line 43, in ?
    logoutResponse = transactionServer.sfdc.logout(logoutParams)
  File "c:\Python23\lib\xmlrpclib.py", line 1029, in __call__
    return self.__send(self.__name, args)
  File "c:\Python23\lib\xmlrpclib.py", line 1316, in __request
    verbose=self.__verbose
  File "c:\Python23\lib\xmlrpclib.py", line 1080, in request
    return self._parse_response(h.getfile(), sock)
  File "c:\Python23\lib\xmlrpclib.py", line 1219, in _parse_response
    return u.close()
  File "c:\Python23\lib\xmlrpclib.py", line 742, in close
    raise Fault(**self._stack[0])
xmlrpclib.Fault: <Fault 1112: 'session ID missing or invalid'>

-----------

As you can see, the loginResponse dictionary looks correct.  I "think" I'm doing the correct thing by creating a new server instance for the remaining transactions, while grabbing the 'session_id' and other parameters from the login Response.

Any hints, ideas, or help into why this is failing would be great!!

Thanks and Best Regards,

- Covenant