将WSDL导入.NET项目只会创建一个空名称空间



我正在尝试首次使用WCF。这是我所做的:

  1. 在VS 2010中创建了一个控制台.NET 4项目
  2. 添加了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>

显然有错误导入模式,我应该在"错误列表"窗口中查看。

尝试运行命令工具wsdl.exe。我尝试了您的WSDL,并且有一些错误。将WSDL保存到文件(shere service.wsdl)并尝试运行:

wsdl service.wsdl /language:CS

应该创建一个称为" service.cs"的文件,您可以在项目中包含。

最新更新