My ASP.NET Core 8 application in C# has Web API controller. This controller should invoke a SOAP method using https.
WSDL of SOAP server is available in https://ncfailid.emta.ee/index.php/s/wTKjgm9QQnWLZEH/download/tor.wsdl.txt
Method TOOTREG which should called is defined in it as
<element name="TOOTREG">
<complexType>
<sequence>
<element name="request" type="tns:tootregRequestType"/>
</sequence>
</complexType>
</element>
<element name="TOOTREGResponse">
<complexType>
<sequence>
<element name="request" type="tns:tootregRequestType"/>
<element name="response" type="tns:tootregResponseType"/>
</sequence>
</complexType>
</element>
Request body tns:tootregRequestType in complex type defined in this file. Response is also complex type.
How to call a SOAP method in C# from the API controller?
Can .NET code be generated from the WSDL, or should the XML request be created and posted manually and response parsed using xml parser?
I tried in Visual Studio Community edition to use "Add Service Reference" contextmenu , but got errors:
The optional WSDL extension element 'address' from namespace 'http://x-road.eu/xsd/xroad.xsd' was not handled.\r\nXPath: //wsdl:definitions[@targetNamespace='http://emta-v6.x-road.eu']/wsdl:service[@name='TorServiceV6']/wsdl:port[@name='TorV6WebServiceImpl']
The optional WSDL extension element 'title' from namespace 'http://x-road.eu/xsd/xroad.xsd' was not handled.\r\nXPath: //wsdl:definitions[@targetNamespace='http://emta-v6.x-road.eu']/wsdl:service[@name='TorServiceV6']/wsdl:port[@name='TorV6WebServiceImpl']
The optional WSDL extension element 'version' from namespace 'http://x-road.eu/xsd/xroad.xsd' was not handled.\r\nXPath: //wsdl:definitions[@targetNamespace='http://emta-v6.x-road.eu']/wsdl:binding[@name='TorPortBinding']/wsdl:operation[@name='TORTI']
The optional WSDL extension element 'version' from namespace 'http://x-road.eu/xsd/xroad.xsd' was not handled.\r\nXPath: //wsdl:definitions[@targetNamespace='http://emta-v6.x-road.eu']/wsdl:binding[@name='TorPortBinding']/wsdl:operation[@name='TORSPORT']
The optional WSDL extension element 'version' from namespace 'http://x-road.eu/xsd/xroad.xsd' was not handled.\r\nXPath: //wsdl:definitions[@targetNamespace='http://emta-v6.x-road.eu']/wsdl:binding[@name='TorPortBinding']/wsdl:operation[@name='TORT']
The optional WSDL extension element 'version' from namespace 'http://x-road.eu/xsd/xroad.xsd' was not handled.\r\nXPath: //wsdl:definitions[@targetNamespace='http://emta-v6.x-road.eu']/wsdl:binding[@name='TorPortBinding']/wsdl:operation[@name='TORRKA']
The optional WSDL extension element 'version' from namespace 'http://x-road.eu/xsd/xroad.xsd' was not handled.\r\nXPath: //wsdl:definitions[@targetNamespace='http://emta-v6.x-road.eu']/wsdl:binding[@name='TorPortBinding']/wsdl:operation[@name='TORINFO']
The optional WSDL extension element 'version' from namespace 'http://x-road.eu/xsd/xroad.xsd' was not handled.\r\nXPath: //wsdl:definitions[@targetNamespace='http://emta-v6.x-road.eu']/wsdl:binding[@name='TorPortBinding']/wsdl:operation[@name='TORIK']
The optional WSDL extension element 'version' from namespace 'http://x-road.eu/xsd/xroad.xsd' was not handled.\r\nXPath: //wsdl:definitions[@targetNamespace='http://emta-v6.x-road.eu']/wsdl:binding[@name='TorPortBinding']/wsdl:operation[@name='TOOTREG']
The optional WSDL extension element 'requirecontent' from namespace 'http://x-road.eu/xsd/xroad.xsd' was not handled.\r\nXPath: //wsdl:definitions[@targetNamespace='http://emta-v6.x-road.eu']/wsdl:binding[@name='TorPortBinding']/wsdl:operation[@name='TOOTREG_AMETNIK']
The optional WSDL extension element 'version' from namespace 'http://x-road.eu/xsd/xroad.xsd' was not handled.\r\nXPath: //wsdl:definitions[@targetNamespace='http://emta-v6.x-road.eu']/wsdl:binding[@name='TorPortBinding']/wsdl:operation[@name='TOOTREG_AMETNIK']
The optional WSDL extension element 'requirecontent' from namespace 'http://x-road.eu/xsd/xroad.xsd' was not handled.\r\nXPath: //wsdl:definitions[@targetNamespace='http://emta-v6.x-road.eu']/wsdl:binding[@name='TorPortBinding']/wsdl:operation[@name='TORRGNO']
The optional WSDL extension element 'version' from namespace 'http://x-road.eu/xsd/xroad.xsd' was not handled.\r\nXPath: //wsdl:definitions[@targetNamespace='http://emta-v6.x-road.eu']/wsdl:binding[@name='TorPortBinding']/wsdl:operation[@name='TORRGNO']
The optional WSDL extension element 'requirecontent' from namespace 'http://x-road.eu/xsd/xroad.xsd' was not handled.\r\nXPath: //wsdl:definitions[@targetNamespace='http://emta-v6.x-road.eu']/wsdl:binding[@name='TorPortBinding']/wsdl:operation[@name='TORSYNK']
The optional WSDL extension element 'version' from namespace 'http://x-road.eu/xsd/xroad.xsd' was not handled.\r\nXPath: //wsdl:definitions[@targetNamespace='http://emta-v6.x-road.eu']/wsdl:binding[@name='TorPortBinding']/wsdl:operation[@name='TORSYNK']
The optional WSDL extension element 'requirecontent' from namespace 'http://x-road.eu/xsd/xroad.xsd' was not handled.\r\nXPath: //wsdl:definitions[@targetNamespace='http://emta-v6.x-road.eu']/wsdl:binding[@name='TorPortBinding']/wsdl:operation[@name='TORKODAK']
The optional WSDL extension element 'version' from namespace 'http://x-road.eu/xsd/xroad.xsd' was not handled.\r\nXPath: //wsdl:definitions[@targetNamespace='http://emta-v6.x-road.eu']/wsdl:binding[@name='TorPortBinding']/wsdl:operation[@name='TORKODAK']
There was a validation error on a schema generated during export:\r\n Source: \r\n Line: 13 Column: 3\r\n Validation Error: The attributeGroup 'http://www.w3.org/XML/1998/namespace:specialAttrs' has already been declared.
There was a validation error on a schema generated during export:\r\n Source: \r\n Line: 12 Column: 3\r\n Validation Error: The global attribute 'http://www.w3.org/XML/1998/namespace:id' has already been declared.
There was a validation error on a schema generated during export:\r\n Source: \r\n Line: 11 Column: 3\r\n Validation Error: The global attribute 'http://www.w3.org/XML/1998/namespace:base' has already been declared.
There was a validation error on a schema generated during export:\r\n Source: \r\n Line: 3 Column: 3\r\n Validation Error: The global attribute 'http://www.w3.org/XML/1998/namespace:space' has already been declared.
There was a validation error on a schema generated during export:\r\n Source: \r\n Line: 2 Column: 3\r\n Validation Error: The global attribute 'http://www.w3.org/XML/1998/namespace:lang' has already been declared.
How to fix those erros?