gpt4 book ai didi

web-services - 使用 Coldfusion 与 Bullhorn SOAP web 服务 API 集成

转载 作者:行者123 更新时间:2023-12-02 02:17:49 26 4
gpt4 key购买 nike

我开始使用 Coldfusion 8 进行 Bullhorn SOAP 网络服务集成。我在身份验证方面遇到问题 - 获取 session 。我试过像别人那样做 here :

<cfset   session_arg   =   structnew()>
<cfset session_arg.username = 'xxxxxx'>
<cfset session_arg.password = 'xxxxxxx'>
<cfset session_arg.apiKey = 'xxxxxxxxxxxxxxxxxxxxxxx'>

<cfinvoke
webservice = "https://api.bullhornstaffing.com/webservices-2.0/?wsdl"
method = "startSession"
returnvariable = "bhSession"
argumentcollection = "#session_arg#">
</cfinvoke>

我已将 1.1 端点替换为 2.0 网络服务端点。startSession() 工作正常,但我应该使用 getSession() 获取 session 值,但它在返回的对象中不可用 - 它是来自父类的函数。

enter image description here

我试过使用 bhSession.super.getSession() 但也没有用。

对于如何处理此集成的任何建议,我将不胜感激:

  • 我是否应该完全离开 cfinvoke/createObject 并继续CFHTTP 和手工制作 SOAP 信封?

  • 或者可能使用一些 Java 库来进行集成?

  • 或者可能使用 API 的 1.1 版本?


我使用 soapUI 得到的 SOAP 响应:

<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
<S:Body>
<ns2:startSessionResponse xmlns:ns2="http://apiservice.bullhorn.com/">
<return>
<session>THE_SESSION_VAR</session>
<corporationId>COPRPORATION_ID</corporationId>
<userId>USER_ID</userId>
</return>
</ns2:startSessionResponse>
</S:Body>
</S:Envelope>

那里一切都很好。似乎手动方式是正确的解决方案。

感谢您的帮助。
卢卡斯

最佳答案

最后想通了。

应该使用 GetSOAPResponse 来获取实际响应。

示例代码,如果有人感兴趣的话:

<cfscript>
webservice = createObject("webservice", "https://api.bullhornstaffing.com/webservices-2.0/?wsdl");
webservice.startSession(myUsername, myPassword, myAPIKey);
sessionResult = GetSOAPResponse(webservice);
</cfscript>

sessionResult 将包含所需的 XML。

关于web-services - 使用 Coldfusion 与 Bullhorn SOAP web 服务 API 集成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9680329/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com