web客户端中怎么调用webservice接口
1个回答
2016-10-25 · 知道合伙人软件行家
关注
展开全部
客户端调用WebService的方式
通过wsimport生成客户端代码
通过客户端编程的方式调用
通过ajax调用 (js+XML)
通过URLConnection调用
2.2.1 通过wsimport生成客户端代码
参见2.1
2.2.2 通过客户端编程的方式调用
(1),使用javax.xml.ws.Service类用于访问web服务
(2),关键类Service
方法create – 用户创建Service对像,提供wsdlurl和服务名。
getPort-用于通过指定namespace,portName和接口的范型。
在客户端需要一个与服务器接口完全相同的类。(仍然使用工具生成。但只需要一个接口。并需要简单修改。如果返回的是复杂数据类型如POJO,还需要将POJO一并放到项目中)。
App.class文件:
Service s =
Service.create(new URL(“http://192.168.1.108:5678/hello?wsdl”),
new QName(targetNamespace,serviceName)
);
HelloService hs = s.getPort(portName,serviceEndpointInterface);
(注意:这里portName=new QName(targetNamespace,portName))
String str = hs.sayHello(“Lisi”,10);
System.out.println(str); //打印hello Lisi
说明 :关键类QName – 被称为完全限定名即:Qualified Name的缩写。
QName 的值包含名称空间 URI、本地部分和前缀。
客户端编程的方式不常用。
通过wsimport生成客户端代码
通过客户端编程的方式调用
通过ajax调用 (js+XML)
通过URLConnection调用
2.2.1 通过wsimport生成客户端代码
参见2.1
2.2.2 通过客户端编程的方式调用
(1),使用javax.xml.ws.Service类用于访问web服务
(2),关键类Service
方法create – 用户创建Service对像,提供wsdlurl和服务名。
getPort-用于通过指定namespace,portName和接口的范型。
在客户端需要一个与服务器接口完全相同的类。(仍然使用工具生成。但只需要一个接口。并需要简单修改。如果返回的是复杂数据类型如POJO,还需要将POJO一并放到项目中)。
App.class文件:
Service s =
Service.create(new URL(“http://192.168.1.108:5678/hello?wsdl”),
new QName(targetNamespace,serviceName)
);
HelloService hs = s.getPort(portName,serviceEndpointInterface);
(注意:这里portName=new QName(targetNamespace,portName))
String str = hs.sayHello(“Lisi”,10);
System.out.println(str); //打印hello Lisi
说明 :关键类QName – 被称为完全限定名即:Qualified Name的缩写。
QName 的值包含名称空间 URI、本地部分和前缀。
客户端编程的方式不常用。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询