WebService第一步 - MyEclipse中开发JAX-WS
发布时间:2020-12-17 00:00:13 所属栏目:安全 来源:网络整理
导读:1、了解WebService WebService的主要目标是跨平台的可互操作性。为了达到这一目标,WebService完全基于XML(可扩展标记语言)、XSD(XMLSchema)等独立于平台、独立于软件供应商的标准,是创建可互操作的、分布式应用程序的新平台。说直接点,就是可以在不同
1、了解WebService
WebService的主要目标是跨平台的可互操作性。为了达到这一目标,WebService完全基于XML(可扩展标记语言)、XSD(XMLSchema)等独立于平台、独立于软件供应商的标准,是创建可互操作的、分布式应用程序的新平台。说直接点,就是可以在不同的平台进行数据的交互。
例如,有一个C#开发的学生成绩管系统、还有一个用Java开发的毕业生管理系统。现在,有一批学生即将毕业,但是有些学生由于挂科严重,是毕不了业的。为了能够得到学生毕业的名单,就需要毕业生管理系统查询学生毕业信息时,还需要得到学生成绩系统的信息。怎么办?WebService应用而生。
2、MyEclipse 10.x下开发一个简单的JAX-WS
JAX-WS是WebService的一种实现,是本文讲解的重点,有兴趣的可以参见其它文章学习其他的一些实现。
在MyEclipse中新建WebService project项目,其主要的命名类及包名项目名如下图所示。
类中的代码如下。
IMyService接口类:
package org.tjgd.service; import javax.jws.WebService; @WebService() public interface IMyService { public int add(int a,int b); public int minus(int a,int b); public User login(String username,String password); } MyServiceImpl实现类:package org.tjgd.service; import javax.jws.WebService; @WebService(endpointInterface="org.tjgd.service.IMyService") public class MyServiceImpl implements IMyService { public int add(int a,int b) { System.out.println(a+"+"+b+"="+(a+b)); return a+b; } public int minus(int a,int b) { System.out.println(a+"-"+b+"="+(a-b)); return a-b; } public User login(String username,String password) { System.out.println(username+" is logining"); User user = new User(); user.setId(1); user.setUsername(username); user.setPassword(password); return user; } }实体类User的代码如下:package org.tjgd.service; public class User { private int id; private String username; private String password; public int getId() { return id; } public void setId(int id) { this.id = id; } public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } }下面为实现类创建WebService服务:package org.tjgd.service; import javax.xml.ws.Endpoint; public class MyServer { public static void main(String[] args) { String address = "http://localhost:666/ns"; Endpoint.publish(address,new MyServiceImpl()); } }在MyEclipse中启动这个应用程序后,就可以在当前的项目下建立TestClient类进行WebService发布的测试了。package org.tjgd.service; import java.net.MalformedURLException; import java.net.URL; import javax.xml.namespace.QName; import javax.xml.ws.Service; public class TestClient { public static void main(String[] args) { try { //创建访问wsdl服务地址的url URL url = new URL("http://localhost:666/ns?wsdl"); //通过Qname指明服务的具体信息 QName sname = new QName("http://service.tjgd.org/","MyServiceImplService"); //创建服务 Service service = Service.create(url,sname); //实现接口 IMyService ms = service.getPort(IMyService.class); System.out.println(ms.login("dd","dd").getId()); //以上服务有问题,依然依赖于IMyServie接口 } catch (MalformedURLException e) { e.printStackTrace(); } } }打印输出的结果为:1或者可以在浏览器中访问: (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |