Импорт WSDL в проект.NET создает только пустое пространство имен
Я пытаюсь использовать WCF в первый раз. Вот что я сделал:
- Создан консольный проект.NET 4 в VS 2010
- Добавлен файл WSDL в качестве справочной службы.
Тем не менее, я не могу использовать эту службу, потому что классы не были созданы. Ссылка на сервис - это просто пустое пространство имен.
Что мне не хватает?
Вот WSDL:
<?xml version="1.0" encoding="UTF-8"?>
<!-- edited with XMLSPY v2004 rel. 3 U (http://www.xmlspy.com) by Christophe Duquesne (DRYADE SA) -->
<!-- edited with XMLSpy v2007 rel. 3 U (http://www.altova.com) by Nick js Knowles (Kizoom) -->
<definitions xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:siriWS="http://new.webservice.namespace" xmlns:siri="http://www.siri.org.uk/siri" xmlns:ns="http://datex2.eu/schema/1_0/1_0" xmlns:ns1="http://www.ifopt.org.uk/acsb" xmlns:ns2="http://www.ifopt.org.uk/ifopt" targetNamespace="http://new.webservice.namespace">
<types>
<xsd:schema targetNamespace="http://new.webservice.namespace">
<xsd:import schemaLocation="siri.xsd" namespace="http://www.siri.org.uk/siri"/>
</xsd:schema>
</types>
<message name="StopMonitoringServiceRequest">
<part name="Request" type="siri:ServiceRequestStructure"/>
</message>
<message name="StopMonitoringServiceDelivery">
<part name="Answer" type="siri:ServiceDeliveryStructure"/>
</message>
<portType name="SOAP-Port">
<operation name="GetStopMonitoringService">
<input message="siriWS:StopMonitoringServiceRequest"/>
<output message="siriWS:StopMonitoringServiceDelivery"/>
</operation>
</portType>
<binding name="SiriSOAPBinding" type="siriWS:SOAP-Port">
<soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
<!-- ====general services ===== -->
<!-- ====SIRI services ===== -->
<operation name="GetStopMonitoringService">
<soap:operation soapAction="GetStopMonitoringService"/>
<input>
<soap:body use="literal"/>
</input>
<output>
<soap:body use="literal"/>
</output>
</operation>
</binding>
<service name="SiriServices">
<port name="SiriWSPort" binding="siriWS:SiriSOAPBinding">
<soap:address location="http://www.siri-service-location.com"/>
</port>
</service>
<!--General messages-->
<!--SIRI Functional services-->
<!--Capabilities-->
<xsd:annotation>
<xsd:appinfo xmlns:gms="http://www.govtalk.gov.uk/CM/gms">
<Metadata xmlns="http://www.govtalk.gov.uk/CM/gms-xs">
<Aggregation>main schema</Aggregation>
<Audience>e-service developers</Audience>
<Contributor>Nicholas Knowles, KIZOOM LTD., London EC4A 1LT</Contributor>
<Coverage>Europe</Coverage>
<Creator>>Drafted for version 1.0, by Cen TC278 WG3 SG7 Christophe Duquesne DRYADE SA mailto:schemer@siri.org.uk</Creator>
<Date>
<Created>2005-03-01</Created>
</Date>
<Date>
<Modified>2005-05-11</Modified>
</Date>
<Date>
<Modified>2007-01-30</Modified>
</Date>
<Date>
<Modified>2007-04-17</Modified>
<!-- Name Space changes -->
</Date>
<Date>
<Modified>2008-02-12</Modified>
<!-- Situation Exchnages -->
</Date>
<Date>
<Modified>2007-04-17</Modified>
<!-- Name Space correction -->
<!-- Add StopMonitoringMultipleRequest -->
</Date>
<Description>
<p>SIRI is a European CEN standard for the exchange of real time information. This describes WSDL Server binding</p>
</Description>
<Format>
<MediaType>text/xml</MediaType>
<Syntax>http://www.w3.org/2001/XMLSchema</Syntax>
<Description>XML schema, W3C Recommendation 2001</Description>
</Format>
<Identifier>{http://www.siri.org.uk/schemas/1.3/siri}siri_wsProducer.wsdl</Identifier>
<Language>[ISO 639-2/B] ENG</Language>
<Publisher>Kizoom, 109-123 Clifton Street, London EC4A 4LD </Publisher>
<Rights>Unclassified
<Copyright>CEN, VDV, RTIG 2005-2008</Copyright>
</Rights>
<Source>
<ul>
<li>SIRI is derived from the VDV, RTIGXML and Trident standards.</li>
</ul>
</Source>
<Status>Version 1.0 Draft for approval</Status>
<Subject>
<Category>Arts, recreation and travel, Tourism, Travel (tourism), Transport,
Air transport, Airports,
Ports and maritime transport, Ferries (marine),
Public transport, Bus services, Coach services, Bus stops and stations,
Rail transport, Railway stations and track, Train services, Underground trains,
Business and industry, Transport, Air transport , Ports and maritime transport, Public transport,
Rail transport, Roads and road transport
</Category>
<Project>Cen TC278 WG3 SG7</Project>
</Subject>
<Title>SIRI XML schema. WSDL Server binding. </Title>
<Type>Standard</Type>
</Metadata>
</xsd:appinfo>
</xsd:annotation>
<!-- ======== All the structures are comming from siri.xsd ========= -->
<!-- ======== Descritions of request parameters (requests and answers) ========= -->
<!-- ========Service Requests ========= -->
<!-- ====StopMonitoring== -->
<!-- ====PORTS ================ -->
<!-- ====BINDINGS ================ -->
</definitions>
2 ответа
Решение
Видимо были ошибки при импорте схем, я должен был посмотреть в окне Список ошибок.
Попробуйте вместо этого запустить инструмент командной строки wsdl.exe. Я попробовал это с вашим wsdl и были некоторые ошибки. Сохраните wsdl в файл (здесь service.wsdl) и попробуйте запустить:
wsdl service.wsdl /language:CS
Должен быть создан файл с именем что-то вроде Service.cs, который вы можете включить в свой проект.