【发布时间】:2011-08-24 16:26:07
【问题描述】:
我有一个 wcfrest 方法,它需要 2 个参数,纬度和经度。 界面为:
[OperationContract]
[WebInvoke(Method = "GET",
RequestFormat = WebMessageFormat.Json,
ResponseFormat = WebMessageFormat.Json,
BodyStyle = WebMessageBodyStyle.Wrapped,
UriTemplate = "/json/location/{lat}/{lon}")]
List<EntityModel.Location> getLocation(string lat,string lon);
但是当我在浏览器中测试服务时,它给了我错误。它说“找不到资源”。网址:http://localhost:52747/Location.svc/json/location/52.0222/12.3698
我相信这是因为 lat/lon 是双值(12.255888、55.23657)。 任何想法如何解决它??
【问题讨论】:
-
您的服务的基本 url 是什么,您是否尝试调用 localhost:52747/json/location/52.0222/12.3698 ?
-
是的。我试过了。不工作。同样的错误。但是,如果我删除删除双精度值并改用 12/55,它就可以工作。
-
服务是否配置为向您显示其 WSDL?显示了吗?
-
配置不正确。但是如果我浏览localhost:52747/Location.svc?wsdl,它会显示操作名称。
-
您是否尝试过将方法签名更改为 getLocation(double lat,double lon); ?