首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从.net核心api2调用asmx服务

从.net核心api2调用asmx服务
EN

Stack Overflow用户
提问于 2017-10-25 03:25:31
回答 2查看 10K关注 0票数 4

我需要从.net核心web api调用旧的asmx web服务(我无法控制)。

有可能吗?

谢谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-11-15 04:24:35

我能够做到的方法是完全更新Visual Studio2017,然后从这里获得最新的WCF连接服务扩展:https://marketplace.visualstudio.com/items?itemName=WCFCORETEAM.VisualStudioWCFConnectedService

这样做之后,我就可以像这样添加和调用SOAP服务了。

右键单击连接服务文件夹(应该显示在项目的正下方),然后选择添加连接服务。然后选择“添加WCF web服务”。将asmx url放入URI字段,设置名称空间,然后单击Finish。现在,您将拥有引用集。

下面是我的代码的一个示例。

如果您没有authorization头部,您可以忽略该部分:

代码语言:javascript
复制
MySoapClient.EndpointConfiguration endpoint = new MySoapClient.EndpointConfiguration();  
MySoapClient myService = new MySoapClient(endpoint, myURL);              
AuthorizationSoapHeader MyAuthHeader = new AuthorizationSoapHeader();

MyAuthHeader.AppName = FDSServiceAppName;
MyAuthHeader.AppID = Guid.Parse(MyAppID); 

Entry[] entries = MyService.GetUsers().Result;
票数 5
EN

Stack Overflow用户

发布于 2020-01-23 00:23:33

公认的答案是100%正确的,但是当我尝试使用VS连接的服务添加ASMX Web服务时,有一个问题,我遇到了,但最初对我来说并不明显。

在我的例子中,我试图连接的web服务禁用了Web.config中的WSDL。我必须删除或注释掉Web.config中的以下内容,才能成功导入元数据和代码搭建。

代码语言:javascript
复制
<webServices>
  <protocols>
    <!-- <remove name="Documentation" /> -->
  </protocols>
</webServices>

一旦像上面的例子那样移除或注释掉<remove name="Documentation" />,就可以将它添加到您的项目中。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46918505

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档