SOAP新手将WSDL导入NetBeans开发@WebService测试客户端问题咨询
WebService客户端调用报错解决方案
导入要求说明
你确实需要将WSDL生成的相关工件导入到NetBeans项目中,cannot find symbol报错的核心原因就是IDE无法识别WSDL生成的存根类、接口等定义,没有这些定义就无法正常编译调用代码。
NetBeans导入WSDL工件操作步骤
- 打开你编写客户端代码的NetBeans项目,右键项目名称,依次选择【新建】→【Web服务客户端】
- 在弹出的配置窗口中选择WSDL来源:如果已经将WSDL导出到本地,选择本地WSDL后选中对应文件即可;如果服务端正在运行,也可以直接填写浏览器访问WSDL的在线URL
- 指定生成代码的存放包名,建议单独设置独立包(例如
com.example.ws.client),避免和现有业务代码冲突 - 点击【完成】,NetBeans会自动调用JAX-WS的
wsimport工具生成所有客户端需要的工件,且自动将生成的代码加入项目的编译路径
从生成工件确认调用方法的方式
- 首先找到生成代码中带
@WebServiceClient注解的类,这是客户端调用的入口类,需要先实例化该类 - 调用入口类中的
get[你的服务接口名]Port()方法,会返回服务接口的代理实例 - 代理实例下的所有public方法,就是服务端
@WebService类暴露的可调用方法,参数、返回值和服务端定义完全一致
现有报错排查
你当前的报错优先排查两个点:
- 生成的WSDL工件是否已经加入项目编译路径,按照上述步骤重新导入即可解决
- 代码中是否已经import对应生成类的全限定名,补全import语句即可
相关参考截图



内容的提问来源于stack exchange,提问作者Evan12
相关产品推荐
相关产品推荐

