创建C#API的Web服务客户端

时间:2014-01-28 16:31:36

标签: c# web-services wsdl

我在C#中创建了一个Web服务,其中我使用了一个C#实体类,通过序列化这个类传递给Web服务作为输入,在Web服务中我已经反序列化了我的web方法,这里是我的序列化代码

string xmlText;
var msg = new System.Xml.Serialization.XmlSerializer(obj.GetType());
var ms = new MemoryStream();
using (var xmlTextWriter = new XmlTextWriter(ms, Encoding.ASCII) { Formatting = Formatting.Indented })
{
    msg.Serialize(xmlTextWriter, obj);
    ms = (MemoryStream)xmlTextWriter.BaseStream;
    xmlText = new UTF8Encoding().GetString(ms.ToArray());
    ms.Dispose();
}
return xmlText;

我得到了这个类的XML,并将它传递给我的web方法,我只是反序列化它并使用这个类。 现在我想向所有客户端公开此Web方法。客户端可以是Java,PHP或任何其他编程语言。我如何向这些客户提供此课程? 我在google上搜索过我发现创建wsdl文件。如何将我的实体类转换为wsdl文件?

任何帮助都将受到高度赞赏。 问候。

1 个答案:

答案 0 :(得分:-1)

我认为最好的方法就是你已经在做的事情:将对象序列化为XML或Json并将这些字符串传递给客户端。然后,这些客户端将不得不重新创建对象(例如,使用特定方法,例如PHP的json_decode)。 WSDL文件描述了Web服务的公共方法。它将帮助您创建客户端,但它不会帮助您序列化和反序列化对象。