题
这已经发生了几次我知道。如果我添加到许多必须为是一个与,WCF测试的客户应用程序,将引发一个例外:
"未能添加一项服务。服务的元数据不可以访问。请确保您的服务的运行和暴露的元数据。"
在细节上,它仍在继续:
错误:无法获取元数据。请求失败,HTTP状态400:糟糕的请求。
如果我取出几个操作合同,然后一切都很好。外面测试的客户也是好的。
解决方案 2
感谢您的答复。
这些是有问题的行:
<OperationContract(), FaultContract(GetType(WcfService.Common.DefaultFaultContract))> _
Function GetJobSubTypesForJobTypeList(ByVal jobTypeList As Dictionary(Of Integer, String)) As List(Of JobSubTypeOfJobTypeDTO)
<OperationContract(), FaultContract(GetType(WcfService.Common.DefaultFaultContract))> _
Function GetActivityTypesForJobTypeList(ByVal jobTypeList As Dictionary(Of Integer, String)) As List(Of ActivityTypeOfJobTypeDTO)
原来,我们缺少的返回类型制定者(DTO)和默认构造函数。
其他提示
你能不能更具体关于什么类型的操作你必须去除来自服务合同,以使它工作?
这里有一些已知的限制 WcfTestClient.exe 工具来用。净框架3.5SDK。注意,所有这些问题已经被固定在用的版本的船舶。净3.5SP1.
- 客户没有维持一个 届会 与被调用的服务。所有呼吁都在新的代理情况
- 自动生成的 配置文件 对客户的代理,可以查看,但未编辑
- 服务的使用 XML器 而不是的数据合同的程序不能援引
- 服务的使用 合同的消息 不能援引
这是我所遇到过最奇怪的问题之一。您可能需要检查你的代码和看出来的问题,例如:
Private _NetPay As Boolean
<DataMember()> _
Public Property NetPay() As Boolean
Get
Return _Amount = 0
End Get
Set(ByVal value As Boolean)
_NetPay = value
End Set
End Property
我已定义的数据成员与上述。注意返回statment。它试图返回一个计算值。我删除该数据成员;它工作得很好。
这是我不得不添加到我的devenv.exe.config为了得到我的WCF测试客户端具有非常大的服务工作。然后我不得不重新启动我的IDE。这可能不是你所期待的,但我希望它能帮助。
<system.serviceModel>
<bindings>
<customBinding>
<binding name="MyBinding">
<textMessageEncoding>
<readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647" maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647"/>
</textMessageEncoding>
<httpTransport maxReceivedMessageSize="2147483647" maxBufferSize="2147483647"/>
</binding>
</customBinding>
</bindings>
<client>
<endpoint binding="customBinding" bindingConfiguration="MyBinding" contract="IMetadataExchange" name="http"/>
</client>
</system.serviceModel>
不隶属于 StackOverflow