C# 将WCF getURL映射到字符串始终返回NULL(Taleo SOAP)

C# 将WCF getURL映射到字符串始终返回NULL(Taleo SOAP),c#,wcf,visual-studio-2010,.net-4.0,soap-client,C#,Wcf,Visual Studio 2010,.net 4.0,Soap Client,快速总结: Taleo有一个单独的操作“DispatcherWSDL”,该操作应该返回一个URL,以便与其WebAPI WSDL一起使用。。。其目的是允许对URL进行所有意图和目的的软编码 对于操作getURL, WcfTestClient.exe XML视图显示SOAP信封中已返回URL 但是,WcfTestClient.exe格式的视图显示 名称:(返回)值:(null)类型:NullObject 我的c#vs2010.net4代码taleoURL始终为空 DispatcherAPIClie

快速总结
Taleo有一个单独的操作“DispatcherWSDL”,该操作应该返回一个URL,以便与其WebAPI WSDL一起使用。。。其目的是允许对URL进行所有意图和目的的软编码

对于操作getURL, WcfTestClient.exe XML视图显示SOAP信封中已返回URL

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

我的c#vs2010.net4代码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
元素的属性

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

Taleo API指南第154-155页指出 getURL被定义为字符串getURL(字符串orgCode)



以下是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和谷歌对此没有帮助


谢谢你。。。Gerry

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


更新:我将引用从VS2010 C#服务引用更改为“旧式”Web引用,然后它工作了。我仍在研究一个“真正”的解决方案,但这确实有效。

嗨,帕特,哪一个“老派”的网络参考?我的想法是,他们可能正在使用比现在少的东西。他们的.pdf API指南的第10页有一个指向非.NET解决方案的断开链接。我曾希望通过研究这一点获得一些见解;我正在等待他们支持此API的人员返回给我。另外,我已经交叉发布到forums.asp.net的WCF部分,但还没有答案。通过使用变通解决方案,您是否能够让Microsoft的WcfTestClient.exe工作?请解释你所说的“真正的”解决方案是什么意思。thnx/g。如果在创建服务引用时进入VS2010中的“高级”设置,则可以使用兼容性下的“添加Web引用…”按钮。这将创建.NET2.0Web服务代码。我无法让wcftestclient正确使用Taleo的API。他们的服务使用Java-ApacheAxis1.3。。。我试试这个。。。你说的“真正的”解决方案是指.NET4解决方案吗?是的。。。我希望使用“服务参考”,但没有时间胡闹,因为我今天需要向客户进行评估!哦,好吧。。。API有点凌乱,但我可以通过.net进行一些基本调用,用Fiddler观察流量。感谢您提供了一个非常有用的解决方案!太糟糕了,只有当我自己用同样的方法解决它时,我才发现:)