手动创建(从头开始)
如果您想从头开始构建并且不关心Visual Studio的构建方式,您可以从这个解决方案链接和同一页上被接受的解决方案中引用的其他链接入手。
使用Visual Studio相同的方法进行手动创建
供参考,下面的Visual Studio添加引用方法生成的一些文件存储在一个子文件夹Web References/Example中(其中Example是用于访问该引用的变量的名称),包含以下内容:
.map文件
<?xml version="1.0" encoding="utf-8"?>
<DiscoveryClientResultsFile xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<Results>
<DiscoveryClientResult referenceType="System.Web.Services.Discovery.ContractReference" url="http://example.com/api/index.php?wsdl" filename="index.wsdl" />
</Results>
</DiscoveryClientResultsFile>
.wsdl文件(与上面的“filename”参数同名)
这个文件是完整的原始wsdl源文件(格式良好的xml)。
参考文件
此文件包含初始化所有方法和属性的代码,并且是扩展System.Web.Services.Protocols.SoapHttpClientProtocol
的基类。
分配给该类的属性(抱歉,我从一个旧的VB.NET项目中剥离出来:看起来像以下内容:
<System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "4.6.1586.0"), _
System.Diagnostics.DebuggerStepThroughAttribute(), _
System.ComponentModel.DesignerCategoryAttribute("code"), _
System.Web.Services.WebServiceBindingAttribute(Name:="ExampleAPIBinding", [Namespace]:="urn:ExampleAPI"), _
System.Xml.Serialization.SoapIncludeAttribute(GetType(MyCustomType1)), _
System.Xml.Serialization.SoapIncludeAttribute(GetType(MyCustomType2)), _
Partial Public Class ExampleAPI
Inherits System.Web.Services.Protocols.SoapHttpClientProtocol
End Class
.数据源(每种类型1个文件)
示例代码
<?xml version="1.0" encoding="utf-8"?>
<GenericObjectDataSource DisplayName="MyMethodName" Version="1.0" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
<TypeInfo>ExampleAPI.SOAP.ClientMerchant, Web References.SOAP.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</TypeInfo>
</GenericObjectDataSource>
使用Visual Studio构建,然后在VSCode中重新打开
在Visual Studio中,您可以执行以下操作(并将结果复制到您的VSCode项目中)
步骤1
右键单击项目资源管理器中的项目,然后选择添加 > 服务引用..
步骤 2
在此屏幕上点击 [高级]
步骤三
在此屏幕上点击 [添加 Web 引用]
步骤4
输入完整的WSDL位置URL并按Enter键。
最后
如果成功(找到格式良好的WSDL),则[添加引用]按钮将启用。单击该按钮,它将添加引用到您的项目中。