1

我有一个 WCF 服务,可以很好地与 WCF 客户端配合使用,但我需要它使用的最关键的客户端是 ASMX 客户端。如何使我的 WCF 服务与 ASMX 客户端兼容?

我已按照本指南进行操作,但无济于事(尽管我知道 100% 确定我已正确实施)

下面是我的 ServiceContract 和 OperationContracts。我的 Web.config 没有 MEX 端点。

  <ServiceContract()>
<XmlSerializerFormat(Use:=OperationFormatUse.Literal, Style:=OperationFormatStyle.Document)>
Public Interface racoSMS
    <OperationContract(Action:="http://tempuri.org/ReceiveSMS", ReplyAction:="http://tempuri.org/ReceiveSMS")>
    Function ReceiveSMS(ByVal securityKey As String, ByVal from As String, ByVal message As String) As ServiceResult
    <OperationContract(Action:="http://tempuri.org/Test", ReplyAction:="http://tempuri.org/Test")>
    Function Test(ByVal securityKey As String) As ServiceResult
End Interface
4

1 回答 1

1

你的问题很模糊。需要注意的几点:

  • 是的,您可以使用 WCF 创建与 ASMX 样式 Web 服务兼容的服务。
  • 强烈建议使用BasicHttpBinding 。
  • 传输安全(SSL)应该是可能的,但除此之外要警惕花哨的功能(例如,我认为 ASMX 不支持消息安全)。
  • 注意你的数据和服务契约的命名空间,确保它是 ASMX 端所期望的(或者准备好改变那端的代码)。与 Action 和 ReplyAction 相同(我可以从您的示例代码中看到您已经处理好了)。
  • 您需要什么序列化类型和 SOAP 样式确实可以取决于客户端的期望,相应地使用属性。
  • 我听说过Web Service Enhancements来扩展 ASMX 端的一些功能,但我自己没有使用过。

事实上,我想这几乎可以回答你的问题。您说您做了所有这些“无济于事”,但您需要更具体(在此处,甚至可能在新问题中)以便我们为您提供帮助。

于 2012-09-18T19:57:06.020 回答