>我可以访问包含SendData方法的特定Web服务的WSDL文件 - 基本上我指定要发送的时间戳和值。我将 WSDL 文件作为连接服务上传到 Visual Studio 2019 中的项目(Add->Connected Service->Microsoft WCF Web Service Reference Provider->Browse->我添加了 WSDL 文件的位置并指定了包含 SendData 方法的服务(。之后,我创建了一个新客户端:
ServiceSoapClient client = new ServiceSoapClient(ServiceSoapClient.EndpointConfiguration.ServiceSoap);
添加的凭据(Web 服务需要登录(:
client.ClientCredentials.UserName.UserName = "test"; client.ClientCredentials.UserName.Password = "test";
创建了一个包含时间戳和值的新变量 Data(采用方法所需的特定格式(。
之后,我调用了该方法:
client.SendData(Data);
但它不起作用。不会引发错误或异常,但数据在 Web 服务上不可见(Web 服务也具有 GUI(。我开始怀疑是否可以以这种方式将数据发送到 Web 服务,或者是否有必要使用请求创建一个 xml 文件并使用 HttpWebRequest?
也许有人可以帮助我找出问题所在,有没有办法检查,编译过程中发生了什么?不幸的是,我不能包含 URI 或 WSDL 文件,但希望我对问题的描述就足够了。提前感谢您的任何指导!
好的,在罗伯特·哈维的建议(再次感谢您(和一些反复试验下,我设法解决了我的问题。希望我的回答对有类似问题的人有用。
我发现在某些情况下,WCF Web 服务的调用在 Fiddler 中不可见。就我而言,这是由于某些软件包不是最新的。这些过期的包是在通过 WCF Web 服务引用提供程序连接 Web 服务后自动添加Microsoft。
System.ServiceModel.Duplex/Http/NetTcp/Security都安装在4.4版而不是4.7版中。我使用 Project->Manage NuGet 包更新了它们,现在我的请求在 Fiddler 中可见,我设法验证了我使用方法的方式是否正确,但对 Web 服务的访问(具有保存数据的能力(目前受到限制,这就是为什么结果不直接在 Web 服务上可见(在 GUI 中(。