我有一些调用.NET、asmx和svc服务的经验,但在大多数情况下,我依赖于Visual Studio的Add Web Reference Wizard来生成代理,我使用该代理来调用web服务。我意识到使用此向导可能不是理想的方式,但这可能是另一个单独的主题,我的问题甚至更基本:
我得到了一个WSDL和一堆xsd文件。然后,我浏览了WSDL,寻找似乎是我们公司内部的URL,并将其复制并粘贴到"Add Service Reference“对话框中。
https://a-entesb.sys.MyCompany.com:64005/MemberServicesGatewayG7Web/sca/ComeFolder当我按下"go“按钮时,我得到了这个错误:
The HTML document does not contain Web service discovery information.
Metadata contains a reference that cannot be resolved: 'https://a-entesb.sys.MyCompany.com:64005/MemberServicesGatewayG7Web/sca/SomeFolder'.
Metadata contains a reference that cannot be resolved: 'https://a-entesb.sys.MyCompany.com:64005/MemberServicesGatewayG7Web/sca/SomeFolder'.
If the service is defined in the current solution, try building the solution and adding the service reference again.当我使用浏览器导航到URL时,首先会收到安全证书已过期的警告。当我单击“确定继续”时,我收到一条HTML消息:
<h1>Hello! This is an Axis2 Web Service! <h1>请注意,我使用的web服务url没有包含诸如.asmx或svc之类的文件后缀,但话又说回来,这个web服务可能不是使用微软工具开发的。然而,我知道web服务应该是通用的,我想知道如果url是正确的,“添加服务引用”向导是否应该能够检测到任何web服务并为我生成一个代理对象。
我不认为我会从托管这项服务的技术人员那里得到太多帮助。我不认为是他们写的。
过期的证书会影响我调用服务的能力吗?
发布于 2011-12-17 07:09:31
您需要使用指向WSDL文件的URL,或者将文件和相关的XSD文件保存到磁盘位置,然后将该位置的路径传递给"Add Service Reference“。
https://stackoverflow.com/questions/8541240
复制相似问题