Web services 具有大量扩展的Web服务

Web services 具有大量扩展的Web服务,web-services,soap,wsdl,soa,Web Services,Soap,Wsdl,Soa,我需要设计一种传统的“通过ID获取客户”SOAP服务操作。问题是,客户数据是从大约15个以上的系统中检索的,根据客户的地理位置,除了关于客户的传统基本事实(姓名、地址、电话号码等)之外,还需要返回不同的数据 因此,手头有两种类型的客户信息: 可以放入“规范数据模型”类型存储桶的常见客户数据,例如名称、地址等 特定于客户所在地区或国家/地区的特定于区域的客户数据。如果你在美国,想想社会保险号码,如果你在英国,想想国家保险号码,等等 客户可以来自广泛的地区,因此,如果我们遵循传统客户基础类型和大

我需要设计一种传统的“通过ID获取客户”SOAP服务操作。问题是,客户数据是从大约15个以上的系统中检索的,根据客户的地理位置,除了关于客户的传统基本事实(姓名、地址、电话号码等)之外,还需要返回不同的数据

因此,手头有两种类型的客户信息:

  • 可以放入“规范数据模型”类型存储桶的常见客户数据,例如名称、地址等
  • 特定于客户所在地区或国家/地区的特定于区域的客户数据。如果你在美国,想想社会保险号码,如果你在英国,想想国家保险号码,等等
客户可以来自广泛的地区,因此,如果我们遵循传统客户基础类型和大量扩展的方法,例如扩展客户基础类型的
usacustometype
,我们将很快遇到两个问题:

  • WSDL将是巨大的
  • WSDL将包含大量与大量人员无关的信息
  • 我试图避免这两件事

    我所想到的选择,在我看来都是平庸的,是:

  • 只有一个基本客户类型和一个无界的名称-值对列表,不同的系统可以添加自己的名称-值对,而寻找该数据的消费者可以寻找这些名称-值对(这很好,可以扩展,但不是一个很好的主意)
  • 咬紧牙关,拥有一个巨大的WSDL,它有一个
    CustomerType
    基本类型和许多扩展,当它们可用时,会添加更多的国家
  • #2的一个变体,它只有一个基本
    CustomerType
    和大量可选字段

  • 我想问题是:您遇到过这样的情况吗?如果遇到,您是如何处理的?

    名称-值对的问题,您必须记住,几乎不可能验证数据是否符合任何要求。@Namphibian这是我的问题。一旦我决定转移到名称-值对,验证就消失了,如果您试图寻找一个不存在的属性,那么您就必须处理这样一个事实,即它不存在,即使它是一个必填字段。您是否在WSDL中建模您的请求和响应?你到底在用XSD吗?@Namphibian我肯定会用XSD来建模。WSDL将只引用XSD。