通用Windows平台 - 使用Web服务,ASMX(内容类型解析)

时间:2016-11-22 13:35:34

标签: c# .net web-services uwp

我开始使用UWP并希望使用一个用VB.Net 2.0编写的旧的,使用频繁的ASMX Web服务。

我已经创建了对Web服务的服务引用,但无论我调用什么函数,我总是最终得到错误

“mscorlib.ni.dll中发生了'System.PlatformNotSupportedException'类型的异常但未在用户代码中处理

其他信息:不支持MessageEncoder内容类型解析。“

除此之外没有其他帮助,不确定是否因为返回类型是XML并且它期待JSON或其他东西,即使是这种情况,我认为无处可改变它。

以下是我用来撤回简单回复的相关行,非常感谢帮助。

WSSoapClient proxy = new WSSoapClient();
Guid ProviderGUID = Guid.Parse("[REDACTED]");
string ProviderPassword = "[REDACTED]";
objWSEthnicitiesGetReturn result;
result = await proxy.WSEthnicitiesGetAsync(ProviderGUID, ProviderPassword);

1 个答案:

答案 0 :(得分:1)

我发现了这个问题,而W / S正在使用HTTP ...在使用过程中,端点被更改为HTTP。现在,虽然IIS中存在重定向,但这导致查找始终返回301错误。

在服务引用的参考文件中,我必须更改proc GetBindingForEndpoint以包含以下行

result.Security.Transport.ClientCredentialType = System.ServiceModel.HttpClientCredentialType.None;
result.Security.Mode = System.ServiceModel.BasicHttpSecurityMode.Transport;

虽然将引用引入项目.NET,但也改变了对HTTPS到HTTP的所有引用,因此我不得不在整个项目中搜索所有实例并手动更改它们。

现在一切都很好,所以谢谢你们的时间。