我有一个成功运行的WCF服务,我可以使用javascript调用。但是,我想使用WCF测试客户端调用它,我很难做到这一点。我被告知需要确保我已在指定地址启用元数据发布。阅读完文档后,我无法看到我的意思是我的配置:
<system.serviceModel>
<services>
<service name="CommentSessionIDWCFService"
behaviorConfiguration="CommentSessionIDBehavior">
<endpoint
address=""
behaviorConfiguration="CountryProvinceBehavior"
binding="webHttpBinding"
contract="ICommentSessionIDWCFService" />
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior name="CommentSessionIDBehavior">
<serviceMetadata httpGetEnabled="true"/>
<serviceDebug includeExceptionDetailInFaults="true"/>
</behavior>
</serviceBehaviors>
<endpointBehaviors>
<behavior name="CountryProvinceBehavior">
<webHttp/>
</behavior>
</endpointBehaviors>
</behaviors>
</system.serviceModel>
我已阅读其他帖子,但我看不到要填充的内容,我只是不断收到错误。 Q的..
1)我说我需要在配置中配置一个完整的新服务以显示元数据吗?
2)我将如何添加到配置中以使此元数据发布,以便我可以与客户端一起调用?
答案 0 :(得分:48)
您需要一个服务的元数据端点,这是一个例子。
<services>
<service name="MyService" behaviorConfiguration="MEX">
<endpoint
address="http://localhost:8000/MEX"
binding="mexHttpBinding"
contract="IMetadataExchange"
/>
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior name="MEX">
<serviceMetadata/>
</behavior>
</serviceBehaviors>
</behaviors>
答案 1 :(得分:0)
在使用右键单击更改TestClient中的配置文件并使用svceditor&#34;编辑后,我遇到了类似的问题。增加我的maxbuffersize。如果有人也犯了这个错误,请尝试重建您的项目。
答案 2 :(得分:0)
添加
[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Required)]
答案 3 :(得分:-1)
将httpGetEnabled
设为true
并将includeExceptionDetailInFaults
设为false
:
<serviceMetadata httpGetEnabled="true"/>
<serviceDebug includeExceptionDetailInFaults="false"/>