【问题标题】:mapping WCF getURL to string always returns NULL (Taleo SOAP)将 WCF getURL 映射到字符串始终返回 NULL (Taleo SOAP)
【发布时间】:2011-01-13 05:42:45
【问题描述】:

快速总结
Taleo 有一个单一的操作“Dispatcher WSDL”,它应该返回一个 URL 以供其 WebAPI WSDL 使用……目的是允许 URL 用于所有意图和目的的软编码。

对于getURL操作, WcfTestClient.exe XML 视图显示在 SOAP 信封中返回了一个 URL。

但是,WcfTestClient.exe 格式的视图显示
名称:(返回)值:(null)类型:NullObject

我的 c# vs2010 .NET 4 代码; taleoURL 始终为空

DispatcherAPIClient dispatcherClient = new DispatcherAPIClient("rpcrouter");
string taleoOrgCode = "TALEOSK";
string taleoURL = dispatcherClient.getURL(taleoOrgCode);
if (taleoURL == null) Console.WriteLine("null returned for " + taleoOrgCode);

这个空值很奇怪,因为这是来自 WcfTestClient.exe 的 XML 响应:

<SOAP-ENV:Envelope
 xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <s:Header xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" />
  <SOAP-ENV:Body>
<ns1:getURLResponse xmlns:ns1="urn:TBEDispatcherAPI" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<return xsi:type="xsd:string">https://tbe.taleo.net/NA12/ats/services/rpcrouter</return>
</ns1:getURLResponse>

</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

https://tbe.taleo.net/NA12/ats/services/rpcrouter return> 元素。

为了能够使用上面的链接,显然我需要 taleoURL 不为空。

Taleo API 指南的第 154-155 页说 getURL 定义为字符串 getURL(string orgCode)
http://tbe.taleo.net/products/TBE_API_Guide.pdf from
http://www.taleo.com/solutions/taleo-business-edition-web-integration-api

还有
http://tbe.taleo.net/wsdl/DispatcherAPI.wsdl
http://tbe.taleo.net/wsdl/WebAPI.wsdl

这是 DispatcherAPI.wsdl 的请求/响应部分:

 <wsdl:message name="getURLRequest">
    <wsdl:part name="orgCode" type="xsd:string" />
  </wsdl:message>
  <wsdl:message name="getURLResponse">
    <wsdl:part name="getURLReturn" type="xsd:string" />
  </wsdl:message>

我最好的猜测是我错过了一些东西。
这是我自己的无知不是幸福的情况。
MSDN 和谷歌没有帮助。

谢谢你...格里

【问题讨论】:

    标签: c# wcf visual-studio-2010 .net-4.0 soap-client


    【解决方案1】:

    我刚开始使用 Taleo WebAPI,遇到了同样的问题。

    更新:我将参考从 VS2010 C# 服务参考更改为“老派”网络参考,然后它就起作用了。我仍在研究“真正的”解决方案,但这确实有效。

    【讨论】:

    • 嗨帕特,哪个“老派”网络参考?我的想法是他们可能正在使用比当前更少的东西。他们的 .pdf API 指南的第 10 页有一个指向非 .NET 解决方案的断开链接。我曾希望通过研究获得一些见解;我正在等待支持此 API 的人回复我。此外,我已经交叉发布到 forums.asp.net 的 WCF 部分,但那里还没有答案。通过使用您的解决方案,您是否能够让 Microsoft 的 WcfTestClient.exe 正常工作?请解释您所说的“真实”解决方案是什么意思。 thnx /g.
    • 如果在创建服务引用时进入VS2010中的“高级”设置,可以使用兼容性下的“添加Web引用...”按钮。这将创建 .NET 2.0 Web 服务代码。我无法让 wcftestclient 与 Taleo 的 API 一起正常工作。他们使用 Java - Apache Axis 1.3 - 作为他们的服务。
    • thnx Pat ...我会试试这个...“真正的”解决方案是指 .NET 4 解决方案吗?
    • 是的...我希望使用“服务参考”,但没有时间搞砸,因为我今天需要向客户估算!哦,好吧... API 有点乱,但我可以通过 .net 进行一些基本调用,用 Fiddler 观察流量。
    • 感谢您提供非常有用的解决方案!太糟糕了,只有当我自己以同样的方式解决它时,我才发现它:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-10-08
    • 2021-05-16
    • 2020-07-31
    • 2021-03-28
    • 2016-11-01
    • 2012-01-23
    • 1970-01-01
    相关资源
    最近更新 更多