最近开发一个java c/s结构的程序,该程序需要访问一个web Service,基于Swing使用NetBeans6.9.1 IDE进行开发。
基本开发步骤如下:
- 为项目添加一个Web服务客户端,通过向导可以自动生成 jax-ws 的客户端类,这些类用于完成对WebService接口相关返回结果信息(基于xml)的对象映射转换与封装,有了这些自动生成的类之后,我们就可以直接使用这些类的实例化对象来访问WebService并接收返回结果信息。
- 在需要访问WebService的类文件中按‘Alt+Insert’,选择‘调用Web服务操作…’,根据向导操作最终IDE将自动生成访问所选WebService方法的客户端调用代码。
- 运行,通过,最终“生成”在dist目录下生成了一个jar文件和一个lib子目录!
首先遇到的问题:
我要分发这个客户端程序,它访问的WebService到用户现场后肯定不是我开发调试阶段部署的地址,那么分发部署的时候应该在哪里配置它真正访问的WbService地址呢?
经过对“添加Web服务客户端”向导的研究,发现勾选“生成分发代码”选项后,向导会在java工程中自动生成wsdl文件,打开该文件后,在底部有如下代码:
<wsdl:service name="AuthenticationService">
</wsdl:service>
经过实践,通过修改上述address location地址即可实现该程序分发部署时