3

我正在一个我们开发一些网络服务的项目中工作。我是这项技术的新手,所以我并没有真正质疑某些做法。但是现在过了一段时间,我的脑海里仍然有一个很大的问题。

设计 Web 服务的常用方法是什么?

  • 是否应该从 wsdl合同生成 java 类,并附带 xsd 模式文件(多个第三方和我们已经讨论了 wsdl 和 xsd)。

  • 如果 java 类是从没有任何附带 xsd 模式文件的 wsdl 契约生成的,则类型定义应该包含在 wsdl.xml 文件中。(我猜这将成为维护的噩梦)

  • wsdl 是否应该从我们设计的 java 类中生成。

我想知道这一点,因为目前,我们很难从 Axis2 中堆叠的 Web 服务公开的 wsdl 创建存根。这些是我们在 META-INF 中提供的 wsdl,Axis2 做了一些非常细微的修改,它基本上是由第三方建立的。

我想知道:如果 wsdl 是从我们的 Java 类中生成的,那不是更合乎逻辑吗?

例如,我也感到震惊的是,我们无法拥有正确的节点位置

<wsdl:service name="myEntry">
<wsdl:port name="myport_http" binding="ns1:myBinding">
<soap12:address location="our.development.machine.ipaddress">

由于它在我们的 .war 文件中作为 META-INF 提供,因此它不能与运行 Web 服务的生产机器同步。我们无法猜测它将运行的机器的 IP 地址。

有什么建议吗?链接到文档?最佳实践?

4

0 回答 0