关于Webservice接口的Java客户端调用

问题描述:
1.目前有一个项目,需要调用客户提供的Webservice接口,在取得返回结果的基础上做进一步处理
2.目前客户只提供的与Webservice接口有关的WSDL文件
3.至于Webservice接口的服务器端采用何种方式,何种语言实现,不清楚
4.客户端程序需要运行在IBM Websphere上,开发工具使用的是IBM RAD

问题:
1.如何通过客户提供的WSDL文件,自动化的生成相应的JavaBean类
2.如何使用Java调用Webservice接口
3.目前主流的Java Webservice框架有那些,各有什么优缺点
4.项目开发中,我们希望能尽量避免使用第三方提供的框架或工具,但并非绝对禁止使用
5.IBM或者Websphere,RAD中,有没有提供能够满足我需求的框架或者工具

求达人解答疑问

第1个回答  推荐于2017-11-24
String endpoint="http://localhost:8080/xxx/services/userservice?wsdl";
String id = "11111";
Service service = new Service();
Call call = (Call) service.createCall();
call.setTargetEndpointAddress(new URL(endpoint));
call.setOperationName("webservice方法名");
String res = (String) call.invoke(new Object[] {id});
看了你的描述觉得你把webservice想得太复杂化了,其实就是一个jar包和几个类。
以上就是最简单的webservice客户端用法,和反射有点像。当然返回值不一定是String,返回的类型和格式要问服务提供方。
我用的是axis的,我不了解websphere什么的,但是webservice就是那么易用的东西。追问

大概明白了,感谢
你上面这段调用的代码,也是axis的调用方式,对吗?

追答

嗯,axis也包括了服务端的类和客户端的类,以上用到的Service、Call这些类就在axis的jar包里

本回答被提问者采纳
相似回答