我正在尝试使用Svcutil从本地托管服务导出代理生成的元数据。我不想进入视觉工作室并点击“添加服务参考”,因为这是我的学习练习(!)
我使用svcutil如下:
Svcutil / d:c:\ temp / t:metadata http://localhost/IISCalculatorService/service.svc
然后生成两个WSDL文件:calculatorservice.wsdl和tempuri.org.wsdl。但是我还希望它能生成两个.XSD文件。如果没有这些.XSD文件,我就无法使用svcutil来生成客户端代码。
我在使用svcutil时是否遗漏了某些内容,或者是我的低调fauly?任何帮助表示赞赏。
这是服务的web.config
<?xml version="1.0"?>
<configuration>
<system.web>
<compilation debug="true" targetFramework="4.0"/>
</system.web>
<system.serviceModel>
<behaviors>
<serviceBehaviors>
<behavior>
<serviceMetadata httpGetEnabled="true"/>
<serviceDebug includeExceptionDetailInFaults="false"/>
</behavior>
</serviceBehaviors>
</behaviors>
<serviceHostingEnvironment multipleSiteBindingsEnabled="true"/>
<services>
<service name="CalculatorService.Calculator">
<endpoint address="" binding="basicHttpBinding" contract="CalculatorService.Contracts.ICalculator" />
<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
</service>
</services>
</system.serviceModel>
<system.webServer>
<modules runAllManagedModulesForAllRequests="true"/>
</system.webServer>
</configuration>
答案 0 :(得分:4)
使用disco.exe生成XSD文件。 http://msdn.microsoft.com/en-us/library/cy2a3ybs%28v=vs.80%29.aspx
打开Visual Studio命令提示符并编写disco http://localhost/IISCalculatorService/service.svc
答案 1 :(得分:3)
如果您正在寻找服务参考,可以试试这个
svcutil.exe http://localhost/IISCalculatorService/service.svc?wsdl
希望这会对你有所帮助。