首页 > 解决方案 > SalesForce SOAPUI 登录调用失败并出现 SocketTimeoutException

问题描述

我是 SalesForce 的新手,并试图设置我对 Sandbox SalesForce 的第一次调用。我生成了一个企业 WSDL 文件并在 SOAPUI 中创建了该项目。

登录请求的 URL 设置为https://test.salesforce.com/services/Soap/c/48.0/0DFr0000XXXXXXX

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:urn="urn:enterprise.soap.sforce.com">
   <soapenv:Header>
   </soapenv:Header>
   <soapenv:Body>
      <urn:login>
         <urn:username>XXXX@XXXXXXX</urn:username>
         <urn:password>Password+Token</urn:password>
      </urn:login>
   </soapenv:Body>
</soapenv:Envelope>

获取 java.net.SocketTimeoutException

我可以将此 URL 放入浏览器并获得响应

https://test.salesforce.com/services/Soap/c/48.0/0DFr0000XXXXXXX

并得到回应

Only POST allowed

这意味着它可能不是防火墙问题?请帮忙。

标签: salesforcesoapuisalesforce-communities

解决方案


(不是 100% 的答案,但评论太长了)

  1. 可能是您在代理或防火墙后面。也许您的浏览器会自动下载一些配置脚本,但在 SoapUI 和其他类似工具中,您需要手动指定代理详细信息。你有其他可以连接OK的应用吗?数据加载器?也许简单ping test.salesforce.comcurl如果你熟悉它?或者告诉 SoapUI 获取 www.google.com 看看会发生什么?如果这些都失败了 - 与您的 IT 讨论代理详细信息。或者从另一台机器上试试?

  2. 看看 Salesforce 是否有任何问题。在设置中转到您的用户,一直向下滚动到登录历史记录,查看是否有任何非浏览器活动。

  3. 您的 SF 管理员可能禁用了从通用 test.salesforce.com 登录。您可以在设置 -> 我的域中进行验证。(但如果您可以通过浏览器登录就好了,并且使用普通的 SF 用户名并通过,没有单点登录技巧 - 忽略这一点)

  4. 听起来很愚蠢 - 您在 SoapUI 中的超时时间是多少;)


推荐阅读