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

Web services 使用Coldfusion与Bullhorn SOAP Web服务API集成,web-services,soap,coldfusion,Web Services,Soap,Coldfusion,我开始使用Coldfusion 8进行Bullhorn SOAP Web服务集成。我在身份验证方面遇到问题-获取会话。 我试着像别人那样做: 我已将1.1端点替换为2.0 webservice端点。 startSession()工作正常,但我应该使用getSession()获取会话值,但它在返回的对象中不可用-它是父类中的函数 我尝试过使用bhSession.super.getSession(),但也没用 如果您能就如何实现这种整合提出任何建议,我将不胜感激: 我应该完全离开cfinvo

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


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

我尝试过使用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>

会话
公司名称
用户ID
那里一切都很好。看来手动方式将是正确的解决方案

谢谢你的帮助。

卢卡斯最终找到了答案

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

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

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

webservice=createObject(“webservice”https://api.bullhornstaffing.com/webservices-2.0/?wsdl");
开始会话(myUsername、myPassword、myAPIKey);
sessionResult=GetSOAPResponse(webservice);
sessionResult将包含所需的XML

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