【问题标题】:How to convert string to SOAPMessage in C#如何在 C# 中将字符串转换为 SOAPMessage
【发布时间】:2011-05-12 15:10:13
【问题描述】:

我正在编写应用程序,要求我必须与一个设备通信,该设备通过 UDP 发送 SOAP 消息。我正在使用 .Net UDPClient 类与该设备进行通信。我在 UDPClient 中收到了这个回复,但我得到的是 Byte[] 数组。如何将其转换为 SoapMessage 对象?

    public void ReceiveCallback(IAsyncResult ar)
    {
        UdpClient udpClient = (UdpClient)((UdpState)(ar.AsyncState)).udpClient;
        IPEndPoint ipEndpt = (IPEndPoint)((UdpState)(ar.AsyncState)).ipEndpt;

        Byte[] receiveBytes = udpClient.EndReceive(ar, ref ipEndpt);
        string receiveString = Encoding.ASCII.GetString(receiveBytes);
                   //Here receiveString  I want to convert to SoapMessage
        BeginReceive();
    }

【问题讨论】:

    标签: c# .net wcf soap udpclient


    【解决方案1】:

    我建议使用 WCF 为您生成客户端并实现您自己的通道来处理与客户端之间的通信。您应该能够连接您的代码。当然,大多数套接字通信已经由 WCF 完成,因此在使用 WCF 时,您实际上并不需要您的代码。

    见:

    http://msdn.microsoft.com/en-us/library/ms789050.aspx

    【讨论】:

      【解决方案2】:

      MSDN article shows how to build a UDP transport based binding 用于 WCF,您可以将其用于您的客户端。假设您可以访问服务的 WSDL,构建和配置此 UDP 绑定是值得的,因为它将为您处理所有序列化/反序列化。文章代码作为WCF/WF samples for .NET 4 的一部分提供,因此您只需下载并安装示例即可开始使用。

      如果您无权访问 WSDL,那么至少您可以查看示例代码以了解如何处理 UdpClient 内容。

      【讨论】:

        猜你喜欢
        • 2012-11-16
        • 1970-01-01
        • 2022-10-05
        • 2023-03-24
        • 1970-01-01
        • 2011-01-21
        • 1970-01-01
        • 2014-01-19
        • 2010-12-15
        相关资源
        最近更新 更多