Eclipse Workday Studio-HTTP输出到供应商API的请求接收错误:没有名为'的bean;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原始请求。 非常感谢您的帮助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授权。没有用户名/密码,只有
谢谢,-Remo为前言;我对Workday Studio不太熟悉,而且似乎也没有任何公共文档,所以这里可能有一些细微差别,这个答案没有提到 总结 Workday、您的代码或可能正在使用的某个库正在引用一个不存在或找不到的bean(请参阅Spring文档:) 如果您没有在这里编写任何Java代码,那么几乎可以肯定这是Workday Studio中的配置问题或bug。以下是基于您提供的信息的一些观察结果。但首先,一个疯狂的猜测 胡猜 Workday处理这个问题的方式似乎与cURL或SoapUI稍有不同。cURL和SoapUI正在执行以下操作:
- 将GET请求发送到带有参数的URL,并在标头中包含API密钥
- 服务器发送所需的响应
- 使用质询类型“令牌”,假设预验证场景发送GET请求
- 服务器使用其框架(可能是Rails)用于令牌的正确身份验证类型进行响应;'http令牌身份验证'
- Workday(错误地)假设服务器正在使用Spring框架,并尝试基于该响应加载正确的身份验证类型bean
- springframeworkbarfs是因为没有这样的bean
httptokenauth
,以kebab为例。命名bean的约定是(小写)camelCase,因此无论指定在哪里,都可能使用了错误的大小写
这可以是Workday Studio配置、XML配置文件或您编写的一些自定义代码(如果有的话)
配置
如果bean名称正确,则可能存在其他一些配置问题。Spring可以通过扫描类路径(请参见Spring文档:)或从项目XML加载来隐式检测候选组件。问题可能是:
- 构建路径错误(请查看您是否不熟悉)
- 类路径是错误的,所以Spring没有看到它。在本例中,这似乎是一个特定于Workday的配置
- bean位于项目XML中,但嵌套。在这种情况下,它只能被封闭的bean访问。一种解决方案是激活相应的配置文件
- 包装问题;如果bean没有包含在最终部署的jar中,那么就会出现问题。应适用于许多情况
- 项目配置;屏幕截图中的所有设置看起来都完全正确,应该可以正常工作,因此项目设置中可能隐藏了一些内容
由于您正在尝试使用供应商的API,我强烈建议您尝试与那里的一位工程师合作。可以保证,他们至少有一名工程师以前处理过复杂的集成问题。他们将有更多关于API的详细信息,并且可能能够为您提供有关您可以共享的任何配置/代码的更直接的输入。当使用承载身份验证从Workday Studio向第三方web服务发送Rest POST请求时,我报告了一条相同的错误消息 解决方案是将标题输出类型设置为“message”,而不是“rootpart”。这不是Workday Studio中的bug 问候,,
设拉子这似乎是您的供应商api造成的错误。要求他们提供带有标题集的示例请求负载。他们在演播室也尝试了同样的方法。谢谢Rob的详细解释。原来是Workday的一个bug-雷莫