团队 A 创建 WebServiceA。它将使用 Person 类型。当在 WebServiceA 中通过调用注册人员时,还必须通知其他系统(通过调用由团队 B 创建的 WebServiceB 传递注册人员)。
然后,当在系统 B 中编辑人员时,必须将修改迁移到系统 A(通过调用 WebServiceA 传递修改的人员)。
问题是如何让两个 WebServices 使用相同的类型?我们可以将 xml 作为字符串发送,然后将其序列化/反序列化为每个 WebService 端的对象,这样我们就不必使用 xml,但我很好奇它是否更简单。
我想要这个:
WebServiceA
Webmethod - RegisterPerson(Person person)
calls WebServiceB.PersonRegistered(person)
WebMethod - PersonModified(Person person)
WebSericeB
WebMethod - PersonRegistered(Person person)
WebMethod - ModifyPerson(Person person)
calls WebServiceA.PersonModified(person)
而不是这个
WebServiceA
Webmethod - RegisterPerson(Person person)
calls WebServiceB.PersonRegistered(person.SerializeToXml())
WebMethod - PersonModified(string person) - deserialize to WebServiceA.Person
WebSericeB
WebMethod - PersonRegistered(string person) - deserialize to WebServiceB.Person
WebMethod - ModifyPerson(Person person)
calls WebServiceA.PersonModified(person.SerializeToXml())
我们在团队 A 中使用 ASP.NET WebService,而团队 B 使用 Java。如果两个团队都使用 .NET,它会改变什么吗?