我是webservice开发的新手.我正在使用带有Axis2插件和Tomcat 7的Netbeans 7.0.
我为服务器组件创建了一个项目,我定义了Web方法,然后为客户端组件创建了另一个项目.通过选择New – >在Netbeans中创建客户端. Web服务客户端.
当您选择新建 – > Netbeans中的Webservice Client,它会立即向您询问WSDL URL.所以当然我从本地Tomcat安装中给它了WSDL URL.但是当我将它作为一个真正的应用程序分发时呢?用户不会将他们的客户指向http://localhost:8080/axis2/services/?wsdl.我的意思是,当从IDE运行客户端时,它一切正常,但是当我分发它时(它是一个劳动管理应用程序,通过你在一个或多个客户端进出时钟的方式,时间卡被写入*数据库),每个客户端都需要能够指向它应该连接的任何生产服务器的Web服务URL.
我想将webservice URL存储在属性文件中,但是不知道在客户端以编程方式执行什么操作来调用从属性文件加载的URL.
在我的客户端的dist文件夹中,如果我打开使用WinZip创建的netbeans的JAR,我会看到一个文件名jax-ws-catalog.xml,其中包含URL(指向localhost).我假设这是运行时使用的URL来自的地方.
那么正确的方法是什么呢?我一直在搜索,但我发现谷歌搜索的内容倾向于显示网络服务调用的方式与Netbeans放在一起的自动生成的代码完全不同,我想了解一些特定于Netbeans创建了一个Web服务客户端,这样我就不会为了让IDE覆盖它们而进行更改.
谢谢!很抱歉很长的解释.
-Jim
解决方法:
之前已经回答过:
How to change webservice url endpoint?
NetBeans使用普通的JAX-WS生成客户端代码,因此上面的答案应该适合您.您只需添加一些代码即可从属性文件中获取端点URL.