WebService系列博客{四}[基于接口的发布服务和测试客户端]
发布时间:2020-12-17 00:28:43 所属栏目:安全 来源:网络整理
导读:1、??编写接口代码如下 import javax.jws.WebService;@WebServicepublic interface WsServerDao {public int add(int a,int b);public int minute(int a,int b);} 2、??编写实现类如下(注意@WebService的Annotation内部声明的接口) //声明实现接口的endpoint
1、??编写接口代码如下
import javax.jws.WebService; @WebService public interface WsServerDao { public int add(int a,int b); public int minute(int a,int b); } 2、??编写实现类如下(注意@WebService的Annotation内部声明的接口) //声明实现接口的endpoint @WebService(endpointInterface="com.java.ws.WsServerDao") public class WsServerImpl implements WsServerDao{ @Override public int add(int a,int b) { System.out.println("a+b="+(a+b)); return a+b; } @Override public int minute(int a,int b) { System.out.println("a-b="+(a-b)); return a-b; } } 3、??发布服务 public class MyServer { //发布该webservice public static void main(String[] args){ String address = "http://192.168.1.103:7878/web"; Endpoint.publish(address,new WsServerImpl()); System.out.println("服务已经启动!"); } } 4、 模仿客户端解析服务
public class ClientTest { public static void main(String[] args) { try { //声明地址的url URL url = new URL("http://192.168.1.103:7878/web?wsdl"); //声明namespace arg0:访问地址的namespace,arg1:namespace后面的服务name QName qname = new QName("http://ws.java.com/","WsServerImplService"); //声明service Service service = Service.create(url,qname); //利用service拿到接口对象 WsServerDao wsd = service.getPort(WsServerDao.class); //调用方法 wsd.add(1,2); } catch (MalformedURLException e) { e.printStackTrace(); } } } 上述url中得两个参数分别是下图中得圈红部分。Namespace和服务name
说明: ???? 上述程序只是我们对webservice的一个发布和测试。在client端调用的时候由于我们要声明接口对象。但是在现实中我们不可能给调用者接口对象代码。所以上述方法适合自行测试而已 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |