Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/http/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Eclipse Workday Studio-HTTP输出到供应商API的请求接收错误:没有名为'的bean;http令牌身份验证';定义_Eclipse_Http_Workday Api - Fatal编程技术网

Eclipse Workday Studio-HTTP输出到供应商API的请求接收错误:没有名为'的bean;http令牌身份验证';定义

Eclipse Workday Studio-HTTP输出到供应商API的请求接收错误:没有名为'的bean;http令牌身份验证';定义,eclipse,http,workday-api,Eclipse,Http,Workday Api,我有一个Workday studio集成,使用HTTP组件向供应商的API发送GET请求,但我收到下面的错误。供应商没有用于连接的用户名/密码。我必须使用令牌连接。有人知道如何从Studio获取数据吗 原因:org.springframework.beans.factory.NoSuchBean定义异常:未定义名为“http令牌身份验证”的bean 我以许多不同的方式发送请求:使用令牌硬编码URL,使用令牌设置头。下面是我不同的尝试。 我不确定这应该使用什么Http授权。没有用户名/密码,只有

我有一个Workday studio集成,使用HTTP组件向供应商的API发送GET请求,但我收到下面的错误。供应商没有用于连接的用户名/密码。我必须使用令牌连接。有人知道如何从Studio获取数据吗

原因:org.springframework.beans.factory.NoSuchBean定义异常:未定义名为“http令牌身份验证”的bean

我以许多不同的方式发送请求:使用令牌硬编码URL,使用令牌设置头。下面是我不同的尝试。

我不确定这应该使用什么Http授权。没有用户名/密码,只有一个令牌和一个使用CURL发布的URL。下面是studio使用HTTP属性的外观。

下面是标题上设置的内容。

此外,我还可以使用SoapUI获取数据。下面是SoapUI中请求的一个片段。

下面是SoapUI中成功从API获取数据的JSON原始请求。

非常感谢您的帮助


谢谢,-Remo

为前言;我对Workday Studio不太熟悉,而且似乎也没有任何公共文档,所以这里可能有一些细微差别,这个答案没有提到

总结 Workday、您的代码或可能正在使用的某个库正在引用一个不存在或找不到的bean(请参阅Spring文档:)

如果您没有在这里编写任何Java代码,那么几乎可以肯定这是Workday Studio中的配置问题或bug。以下是基于您提供的信息的一些观察结果。但首先,一个疯狂的猜测

胡猜 Workday处理这个问题的方式似乎与cURL或SoapUI稍有不同。cURL和SoapUI正在执行以下操作:

  • 将GET请求发送到带有参数的URL,并在标头中包含API密钥
  • 服务器发送所需的响应
然而,听起来Workday更像是在做:

  • 使用质询类型“令牌”,假设预验证场景发送GET请求
  • 服务器使用其框架(可能是Rails)用于令牌的正确身份验证类型进行响应;'http令牌身份验证'
  • Workday(错误地)假设服务器正在使用Spring框架,并尝试基于该响应加载正确的身份验证类型bean
  • springframeworkbarfs是因为没有这样的bean
我想有一种方法可以让Workday很好地使用标准RESTAPI,并按照预期向供应商的服务器提供API密钥,而不是尝试进行质询/响应

如果不是这样的话,下面还有更多的可能性

奇数豆名 错误中指定的bean名称是
httptokenauth
,以kebab为例。命名bean的约定是(小写)camelCase,因此无论指定在哪里,都可能使用了错误的大小写

这可以是Workday Studio配置、XML配置文件或您编写的一些自定义代码(如果有的话)

配置 如果bean名称正确,则可能存在其他一些配置问题。Spring可以通过扫描类路径(请参见Spring文档:)或从项目XML加载来隐式检测候选组件。问题可能是:

  • 构建路径错误(请查看您是否不熟悉)
  • 类路径是错误的,所以Spring没有看到它。在本例中,这似乎是一个特定于Workday的配置
  • bean位于项目XML中,但嵌套。在这种情况下,它只能被封闭的bean访问。一种解决方案是激活相应的配置文件
  • 包装问题;如果bean没有包含在最终部署的jar中,那么就会出现问题。应适用于许多情况
  • 项目配置;屏幕截图中的所有设置看起来都完全正确,应该可以正常工作,因此项目设置中可能隐藏了一些内容
Workday Studio中的Bug 这似乎不太可能,但总是有可能的。如果您还没有编写任何Java代码,那么Workday代码中就有一些东西提供了这个意外的“http令牌身份验证”,或者不适当地从其他地方接受它并试图使用它加载bean

最后的想法
由于您正在尝试使用供应商的API,我强烈建议您尝试与那里的一位工程师合作。可以保证,他们至少有一名工程师以前处理过复杂的集成问题。他们将有更多关于API的详细信息,并且可能能够为您提供有关您可以共享的任何配置/代码的更直接的输入。

当使用承载身份验证从Workday Studio向第三方web服务发送Rest POST请求时,我报告了一条相同的错误消息

解决方案是将标题输出类型设置为“message”,而不是“rootpart”。这不是Workday Studio中的bug

问候,,
设拉子

这似乎是您的供应商api造成的错误。要求他们提供带有标题集的示例请求负载。他们在演播室也尝试了同样的方法。谢谢Rob的详细解释。原来是Workday的一个bug-雷莫