2012-09-17 38 views

回答

2

是的,请参阅SOAP request to APEX webservice without requiring authentication

进入设置中的站点详细信息页面,单击公共访问设置, ,然后在那里添加Apex类。这实际上授予您的 匿名正在运行的用户帐户(访客许可证)能够直接 访问此课程。

还有更详细的说明,在Public Web Services via Apex and Force.com Sites

请注意,通过此Web服务公开的数据将不再安全

+0

谢谢您的回复。但我想要做的是。我在salesforce中创建了自定义Web服务,并在我的C#项目中下载了wsdl文件。我想使用该wsdl文件来访问salesforce。但为了获得访问权限,我们必须使用salesforce默认wsdl(企业或合作伙伴)访问salesforce。我不想使用那个wsdl。我想要的是在我的自定义wsdl文件中实现默认wsdl的登录功能。有没有办法做到这一点? –

1

如上所述,您需要进行身份验证,登录方法未包含在自定义apex WSDL中,您有很多选择,具体取决于您正在构建的是哪种应用程序。

  1. 将企业或合作伙伴WSDL添加到您的应用程序并从那里调用登录。
  2. 使用interactive OAuth流程将导致您获得访问令牌&实例Url,然后您可以将其与apex WSDL一起使用。
  3. 使用流(用户名/密码)programamtic OAuth,再次导致访问令牌*实例Url,然后您可以与apex WSDL一起使用。
  4. 如果您有基于Web的应用程序,则可以在salesforce中创建自定义链接/选项卡,以向您传递现有的serverUrl/sessionId信息。

对于OAuth的流程,你会通过接收到的访问令牌在你心尖的请求为SessionID的(就像如果你登录了它),你会从实例URL的路径相结合的主机名从apex WSDL中设置您的存根的端点URL。

相关问题