JDK 方式发布webservice和客户端调用案例

xiaoxiao2021-02-28  71

第一步:写MyWebService接口

package cxf; import javax.jws.WebService; @WebService public interface MyWebService { String helloWord(String name); String getMessage(String name); }

第二步:写实现类

package cxf; import javax.jws.WebService; @WebService(endpointInterface="cxf.MyWebService") public class MyWebServiceImpl implements MyWebService { @Override public String helloWord(String name) { System.out.println("MyWebService helloWord接口调用成功"); return name+"helloWord!"; } @Override public String getMessage(String name) { System.out.println("MyWebService getMessage接口调用成功"); return name+"sayHello!"; } }

第三步:发布webService

package cxf; import javax.xml.ws.Endpoint; public class MyWebServicePublish { public static void main(String[] args) { String address="http://自己的ip:端口/MyWebService"; Endpoint.publish(address, new MyWebServiceImpl()); System.out.println("MyWebService 发布成功!"); } }

第四步:客户端调用

package cxf; import java.net.MalformedURLException; import java.net.URL; import javax.xml.namespace.QName; import javax.xml.ws.Service; public class MyWebServiceClient { private static final String ENDPOINTADDRESS="http://自己的ip:端口/MyWebService?wsdl"; private static final String NAMESPACEURI="http://cxf/"; private static final QName SERVICE_NAME=new QName(NAMESPACEURI,"MyWebServiceImplService"); private static final QName POINT_NAME=new QName(NAMESPACEURI,"MyWebServiceImplPort"); public static void main(String[] args) { try { URL url=new URL(ENDPOINTADDRESS); Service service=Service.create(url, SERVICE_NAME); MyWebService myWebService=service.getPort(POINT_NAME,MyWebService.class); String result=myWebService.helloWord("zzx"); System.out.println(result+"客户端调用服务器的helloWord接口成功!"); result=myWebService.getMessage("zzx"); System.out.println(result+"客户端调用服务器的getMessage接口成功!"); } catch (MalformedURLException e) { e.printStackTrace(); } } }

转载请注明原文地址: https://www.6miu.com/read-57450.html

最新回复(0)