我在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文件?
任何帮助都将受到高度赞赏。 问候。
答案 0 :(得分:-1)
我认为最好的方法就是你已经在做的事情:将对象序列化为XML或Json并将这些字符串传递给客户端。然后,这些客户端将不得不重新创建对象(例如,使用特定方法,例如PHP的json_decode)。 WSDL文件描述了Web服务的公共方法。它将帮助您创建客户端,但它不会帮助您序列化和反序列化对象。