0

嘿,我正在尝试在 salesforce 中创建一些对象。我有: SObject myobj = new SObject(); myobj.setType("MyType"); ...

但我得到: exceptionMessage='sObject type 'string' is not supported。如果您尝试使用自定义对象,请务必在实体名称后附加“__c”。请参考您的 WSDL 或相应名称的描述调用。

我不只是在那里放了一个“字符串”。有人请给一些建议吗?非常感谢。

4

2 回答 2

0

使用合作伙伴 API 时有一个 setType() 方法。这是你在做什么?

在这种情况下,您只需要遵循异常消息即可。所有自定义对象都有一个以“__c”结尾的 API 名称。

尝试

myObj.setType("MyType__c");

您看到的错误也可能以完全不同的方式发生。我在尝试使用 InvalidSObjectFault 解决我的问题时发现了您的问题。就我而言,这不是我指定 sObject 类型的方式。不,这是权限。一个用户(管理员)可以运行查询,但另一个(我的 API 用户)不能。事实证明,用户的个人资料需要设置权限才能查看该对象。如果没有,那么您会收到此故障消息!

在我的博客上发布了更多关于此的信息:

http://sforcehacks.blogspot.ca/2013/11/invalidsobjectfault-invalidtype.html

于 2013-11-28T00:06:46.703 回答
0

您没有通过分配类型来说明您要做什么,但看起来您无法以这种方式设置 sObject 的类型。错误所抱怨的“字符串”是您试图用来设置 sObject 类型的字符串“MyType”。

如果您查看描述 sObjects 方法的页面,

http://www.salesforce.com/us/developer/docs/apexcode/index_Left.htm#CSHID=apex_methods_system_sobject.htm|StartTopic=Content%2Fapex_methods_system_sobject.htm|SkinName=webhelp

你会看到没有“setType”方法,只有“getType”方法。

你为什么要这样做?您是否拥有要用于创建对象的变量类型?

于 2013-09-14T14:47:10.087 回答