【发布时间】:2011-07-30 20:20:09
【问题描述】:
错误:无法找到带有参数 {part={...},storeId={...},contractId={...}} 的 Web 服务操作。
我创建了一个与 ColdFusion 页面对话的 .NET Web 服务。发生的情况是,当用户在零件号字段中键入零件号然后从其中跳出时,将调用 Web 服务以获取该零件的适当定价。它如何获得定价是在幕后完成的,无关紧要,而且为了我想要表达的观点,这里太复杂了,无法展示。
这就是我要做的事情 - 我让 ColdFusion 页面传入 3 个变量:part、storeId 和 contractId。 p>
之前,我只是将 contractId 和 part 传入,效果很好。没问题。但是由于我在 storeId 中添加了,所以它会抛出此错误消息:
处理请求时发生错误 找不到参数为 {part={BV410070},storeId={001},contractId={21}} 的 Web 服务操作 GetCustomerContractPrice。 错误发生在 C:\inetpub\wwwroot\CustomTags\fn_get_price_2.cfm:第 58 行 56:方法=“GetCustomerContractPrice” 57:returnVariable = "价格" 58:参数集合=“#vars#”> 59: 60:如您所见,它可以很好地获取我传入的值。
我确定的:
我确保上面指出的 Web 服务地址是最新的(意思是,我确保它是包含我的新参数的最新版本)。
我手动转到 Web 服务,然后显示 wsdl(如预期的那样)。
我也可以通过访问 Web 服务 URL 手动调用 Web 服务。我可以输入我的 3 个变量并单击 Invoke,它会返回正确的值。
这是我的网络服务代码:
公共类 CustomerContractPartPrice : System.Web.Services.WebService
{
[网络方法]
公共小数 GetCustomerContractPrice(字符串部分,字符串 storeId,int contractId)
{
var context = new PricingBLL();
小数价格 = context.GetCustomerContractPartPrice(contractId, part, storeId);
退货价格;
}
}
这传给业务对象并完成工作,并返回结果。最终我认为这是一个 ColdFusion/.NET 互操作性问题。想法?
【问题讨论】:
标签: .net coldfusion service