Mik*_*rks 5 .net coldfusion service
错误:无法找到参数{part = {...},storeId = {...},contractId = {...}}的Web服务操作....
我创建了一个与ColdFusion页面对话的.NET Web服务.当用户在零件编号字段中键入零件编号然后从中选中标签时,会调用Web服务以获得该零件的适当定价.它是如何在幕后完成定价的,是无关紧要的,并且太复杂了,无法在这里展示我想要了解的重点.
这就是我发生的事情 - 我让ColdFusion页面传递了3个变量:part,storeId和contractId.
<cfset vars = structNew()>
<cfset vars["contractId"] = "#Trim(Attributes.contract)#">
<cfset vars["part"] = "#Trim(Attributes.part)#">
<cfset vars["storeId"] = "#Trim(Attributes.store)#">
<cfinvoke webservice = "http://compassnetdev/Services/CustomerContractPartPrice.asmx?wsdl"
method = "GetCustomerContractPrice"
returnVariable = "price"
argumentCollection = "#vars#">
</cfinvoke>
在此之前,我刚收到了contractId和传入的部分,并且效果很好.没问题.但是因为我在storeId中添加了它,它会抛出这个错误消息:
Error Occurred While Processing Request
Web service operation GetCustomerContractPrice with parameters {part={BV410070},storeId={001},contractId={21}} cannot be found.
The error occurred in C:\inetpub\wwwroot\CustomTags\fn_get_price_2.cfm: line 58
56 : method = "GetCustomerContractPrice"
57 : returnVariable = "price"
58 : argumentCollection = "#vars#">
59 :
60 :
你可以看到它正在传递我正在传递的值.
我确定的:
我确保上面指出的Web服务地址是最新的(意思是,我确保它是包含我的新参数的最新版本).
我手动转到Web服务,wsdl显示(正如预期的那样).
我也可以通过转到Web服务URL手动调用Web服务.我可以输入我的3个变量并单击Invoke,然后返回正确的值.
这是我的网络服务代码:
public class CustomerContractPartPrice : System.Web.Services.WebService
{
[WebMethod]
public decimal GetCustomerContractPrice(string part, string storeId, int contractId)
{
var context = new PricingBLL();
decimal price = context.GetCustomerContractPartPrice(contractId, part, storeId);
return price;
}
}
这将转到业务对象并完成工作,并返回结果.最终我认为这是一个ColdFusion/.NET互操作性问题.思考?
Webservices可以缓存在CFAdmin中; 登录到CFAdmin并转到Webservices并找到指向您的WSDL的webservice条目,找到并单击此条目的刷新按钮,这应该可以解决问题.有时我不得不删除webservice条目,不得不重新添加它.
小智 4
在您的通话中添加refreshwsdl =“true”怎么样?
<cfinvoke webservice = "http://compassnetdev/Services/CustomerContractPartPrice.asmx?wsdl"
method = "GetCustomerContractPrice"
returnVariable = "price"
argumentCollection = "#vars#"
refreshwsdl="true">
Run Code Online (Sandbox Code Playgroud)
否则将 wsdl 的转储放在这里。
| 归档时间: |
|
| 查看次数: |
3227 次 |
| 最近记录: |