我在一个开发一些web服务的项目中工作。我是这项技术的新手,所以我并没有真正质疑某些方法。但是过了一段时间,我脑子里还有一个很大的问题。
设计网络服务的常用方法是什么?
是否应该从wsdl 合同生成java类,附带xsd架构文件(已讨论过wsdl和xsd) 在几个第三方和我们之间)。
如果从wsdl合约生成java类而没有任何附带的xsd架构文件,则类型定义应该包含在wsdl中。 (我想这将成为维护的噩梦)
是否应该从我们拥有的java类生成wsdl 设计的。
我对此感到疑惑,因为目前我们很难从堆积在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地址。
有什么建议吗?链接到文档?最佳做法?