我使用JaxWs创建了一个Web服务。我相信存在两种在客户端使用Web服务的方法。
我认为这种方法的唯一优点是,如果wsdl发生了变化,就不需要生成存根文件了。但是它看起来不太实际,因为我可能需要在客户端代码中更改某些内容并重新编译。我还没有使用这个技术。当我在开发Java客户端时需要生成代理文件的原因时,我发现this option,但是当我使用.Net时我没有。
然后,我有两个问题:
答案 0 :(得分:3)
1.存根和动态代理tecnich有什么区别?
不推荐使用JAX-RPC
新标准是JAX-WS
JAX-WS允许程序员调用Web服务,就好像他们正在进行本地方法调用一样
为此,定义了从WSDL到Java的标准映射
此映射将wsdl:port
定义与称为服务端点接口(Interface
)的Java SEI
相关联。
SEI
是Web服务端点的Java表示形式
在运行时,JAX-WS创建一个SEI实例,只需在SEI上进行方法调用即可用于进行Web服务调用。
现在,用于创建SEI实例的方式是通过动态代理类
它被称为动态代理,因为它是动态创建的
没有存根需要实现代理,但SEI必须已经实现才能使用
代理使用/基于要运行的存根类,它们是由WSDL生成的。
所以存根是先决条件
因此,正如您在帖子中所说的那样,技术没有分离
你误解了这个概念