使用ColdFusion消费ASP.Net Web服务
问题描述:
这是我到目前为止。我正在创建一个ASP.NET Web服务来记录我们的内部网站活动。我们的大多数内部网站都是用ColdFusion编写的。我之前在ASP.Net世界中使用过Web服务,但ColdFusion对我来说有点新鲜。我刚开始尝试这种情况。作为解释为什么我们要混合这两种技术:我们现在正在从ColdFusion中转移,并处于过渡阶段。使用ColdFusion消费ASP.Net Web服务
C#代码是第一个。我相信这是正确的。
[WebService(Namespace = "http://oursite.org:86")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[System.ComponentModel.ToolboxItem(false)]
[System.Web.Script.Services.ScriptService]
public class LogEvent : System.Web.Services.WebService
{
private IContainer components = null;
public LogEvent()
{
InitalizeComponent();
}
private void InitalizeComponent()
{
}
protected override void Dispose(bool disposing)
{
if (disposing && components != null)
{
components.Dispose();
}
base.Dispose(disposing);
}
[WebMethod]
public string InsertEvent()
{
return "HellWorld";
}
}
我只是一个简单的CFC来调用Web服务。
<cffunction name="TestWebService" access="remote" returntype="Any" >
<cfinvoke webservice="oursite.org:86/LogEvent.asmx?wsdl" method="InsertEvent" returnvariable="result" >
<cfdump var="#result#">
</cffunction>
当我运行CFC方法时,我得到以下错误。
Unable to read WSDL from URL:
我已经搜索并按照我找到的每个教程和建议,但我不是ColdFusion的专家。我错过了什么吗?
任何帮助,将不胜感激。
答
所以我完全分开了,ColdFusion服务器是一个云服务器(即不在我们的网络中)并且Web服务正在本地网络服务器上运行。一旦我将ColdFusion代码移动到本地服务器,服务就像它想象的那样工作。
你有没有尝试把'http://'放在网址前面?我不知道ColdFusion是否会在没有它的情况下解析URL。 –
是的,我认为我尝试过,而不是仅仅看它是否会起作用。 –
哪个版本的ColdFusion? .NET正在生产什么类型的WSDL?我认为这些选择是“RPC”或“文档”风格。查看您的CF版本能够读取哪些WSDL。过去我遇到过这个问题,旧版本的CF不支持更新的WSDL规范。 –