SOAP服务可以发布描述客户端可以调用的方法的元数据。客户端可以使用诸如Visual Studio之类的工具来自动生成代码(称为客户端代理)。代理隐藏了调用服务的复杂性。要调用服务,只需在客户端代理上调用一种方法。
首先,您必须将元数据终结点添加到服务中。假设您的服务看起来与“第一个服务和主机”示例中定义的服务相同,则可以对配置文件进行以下更改。
<system.serviceModel> <behaviors> <serviceBehaviors> <behavior name="serviceBehaviour"> <serviceMetadata httpGetEnabled="true" /> </behavior> </serviceBehaviors> </behaviors> <services> <service name="Service.Example" behaviorConfiguration="serviceBehaviour"> <endpoint address="mex" binding="mexHttpBinding" name="mexExampleService" contract="IMetadataExchange" /> <endpoint name="netTcpExample" contract="Service.IExample" binding="netTcpBinding" /> <host> <baseAddresses> <add baseAddress="net.tcp://localhost:9000/Example" /> <add baseAddress="http://localhost:8000/Example" /> </baseAddresses> </host> </service> </services> </system.serviceModel>
mexHttpbinding通过http公开接口,因此现在您可以使用网络浏览器
http:// localhost:8000 /示例http:// localhost:8000 /示例?wsdl
它将显示服务及其元数据。