Solución:
Creación manual (desde cero)
Si construye desde cero y no le importa cómo lo hace Visual Studio, puede comenzar con algunos conceptos básicos de esta solución aquí, así como con los otros enlaces a los que se hace referencia en la solución aceptada en la misma página.
Creación manual usando el mismo método que usa Visual Studio
Como referencia, algunos de los archivos generados por el método de referencia de adición de Visual Studio a continuación, se almacenan dentro de una subcarpeta Referencias web/Ejemplo (dónde Ejemplo es el nombre de la variable utilizada para acceder a la referencia) y contiene lo siguiente:
archivo .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>
Archivo .wsdl (el mismo nombre que el parámetro ‘nombre de archivo’ de arriba)
Este archivo es el archivo fuente wsdl sin procesar completo (xml bien formateado).
archivo de referencia
Este archivo contiene código para inicializar todos los métodos y propiedades y es la clase base que se extiende System.Web.Services.Protocols.SoapHttpClientProtocol
Las propiedades asignadas a la clase (lo siento, me estoy quitando de un antiguo proyecto de VB.NET: tienen el siguiente aspecto:
<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
.datasource (1 archivo para cada tipo)
Código de ejemplo
<?xml version="1.0" encoding="utf-8"?>
<!--
This file is automatically generated by Visual Studio .Net. It is
used to store generic object data source configuration information.
Renaming the file extension or editing the content of this file may
cause the file to be unrecognizable by the program.
-->
<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>
Use Visual Studio para compilarlo por usted, luego ábralo nuevamente en VSCode
Dentro de Visual Studio, puede hacer lo siguiente (y copiar los resultados a su proyecto VSCode)
Paso 1
Haga clic con el botón derecho en su proyecto en el Explorador de proyectos y seleccione Agregar> Referencia de servicio …