代码之家  ›  专栏  ›  技术社区  ›  Jurgen Hannaert

现有服务层的WSDL优先

  •  0
  • Jurgen Hannaert  · 技术社区  · 16 年前

    我正在使用一个典型的services-dao设置处理一个现有的Java项目,其中只有一个webapplication可用。我的工作是在服务层之上添加webservices,但是webservices有自己的功能分析和数据模型。资源的功能分析集中在不同的服务方法中可能发生的事情上。

    作为良好实践的需求,我们使用WSDL优先策略,并为webservices生成JAXB绑定的Java类和SEI。在部分实现了webservices之后,我们注意到数据模型之间有70%的匹配。这导致编写转换器,这些转换器接受webservicejaxb类并将它们与服务层类映射。

    Customer customer = new Customer();
    customer.setName(wsCustomer.getName());
    customer.setFirstName(wsCustomer.getFirstName();
    ..
    

    这是一个非常明显的例子,其他一些映射稍微复杂一些。 有人能给出他在这种情况下的最佳实践、经验和解决方案吗?

    这些框架有用吗? http://transmorph.sourceforge.net/wiki/index.php/Main_Page http://ezmorph.sourceforge.net/

    2 回复  |  直到 14 年前
        1
  •  1
  •   jon077    16 年前

    我在我的项目中遇到了同样的问题。我为生成的对象创建了一个工厂,并使用它来创建对象。

    Customer customer = factory.createCustomer(wsCustomer);
    

    它隔离了构造代码,而不改变生成的代码。

        2
  •  0
  •   Jim Barrows    16 年前

    我想真正的问题是。。。你想在将来使用多少代码生成器,你能让它们生成你现在正在做的事情吗。 如果您不关心工具的代码生成功能,或者工具可以适应您的需要,那么将所有内容转换为当前数据模型是一个好主意。