我用C#和.Net 2.0创建了一个Windows服务应用程序,并添加了一个Web服务
http://localhost/postIncidents.ws.php?wsdl
它有“ReportIncident”方法。我检查了本地环境中的Windows服务。 有效。 在我部署它之前,我添加了下面的代码来从设置文件中获取特定的URL。
shids_client.shidsWebServer.ReportIncident r = new shids_client.shidsWebServer.ReportIncident();
r.Url = Constant.readUrl();
r.CallReportIncident(time,LocalIPAddress(),type,line);
部署后,我将URL添加到我的设置文件
http://192.168.1.1/postIncidents.ws.php?wsdl
检查后,它无法正常工作。我的日志中出现以下错误:
“操作'CallReportIncident'未在此服务的WSDL中定义”
如果我删除它,那么它将不会显示wsdl xml。它只会显示一个渲染的页面。
答案 0 :(得分:0)
使用?wsdl标志,以便Visual Studio可以下载WSDL并生成服务代理。当代理实际运行时,它会针对http:///postIncidents.ws.php运行,而不是需要wsdl。所以尝试从URL中删除?wsdl。