大家好,又见面了,我是你们的朋友全栈君。
Web服务可以用来解决跨网络应用集合问题的开发模式,目的是保证不同平台的应用服务可以相互操作
JAX-WS实现WebService
package com.service;
import javax.jws.WebService;
/*
* WebService准备发布的接口
* @WebService注解说明该类为Web服务发布类
*/
@WebService
public interface IWebServiceTest {
public String webServiceTest(String name);
}
package com.service;
import javax.jws.WebService;
/*
* WebService准备发布的接口实现类
* @WebService注解说明该类为Web服务发布类
*/
@WebService
public class WebServiceImp implements IWebServiceTest{
@Override
public String webServiceTest(String name) {
return "欢迎"+name+"访问WebService";
}
}
package com.service;
import javax.xml.ws.Endpoint;
/*
* 使用java支持WebService的类进行发布
* Endpoint.publish("访问路径",接口),
*/
public class Test {
public static void main(String[] args) {
System.out.println("start 发布......");
//
IWebServiceTest implementor = new WebServiceImp();
Endpoint.publish("http://127.0.0.1/ws", implementor);
System.out.println("持续发布中.......");
}
}
package com.service;
/*
* 在cmd中使用命令: wsdl2java http://127.0.0.1/ws?wsdl
* 实现将发布接口xml文件转换为java文件
* WebServiceImpService为加载发布服务类
*/
public class Test {
public static void main(String[] args) {
// 创建该服务类,反射加载发布实现类
WebServiceImpService wsi = new WebServiceImpService();
WebServiceImp ws = wsi.getPort(WebServiceImp.class);
// 调用发布类方法
String str = ws.webServiceTest("JAX-WS");
System.out.println(str);
}
}
CXF实现WebService
package com.service;
import org.apache.cxf.jaxws.JaxWsServerFactoryBean;
/*
* 使用CXF支持WebService的类进行发布
*/
public class Test {
public static void main(String[] args) {
// 创建CXF支持的类进行服务发布
JaxWsServerFactoryBean factoryBean = new JaxWsServerFactoryBean();
System.out.println("strat 发布服务中....");
IWebServiceTest implementor = new WebServiceImp();
// 设置地址
factoryBean.setAddress("http://127.0.0.1/ws");
// 接口类
factoryBean.setServiceClass(IWebServiceTest.class);
factoryBean.setServiceBean(implementor);
// 进行发布
factoryBean.create();
System.out.println("服务持续发布中.......");
}
}
package com.service;
/*
* 在cmd中使用命令: wsdl2java http://127.0.0.1/ws?wsdl
* 实现将发布接口xml文件转换为java文件
* IWebServiceTestService为加载发布服务类
*/
public class Test {
public static void main(String[] args) {
// 创建该服务类,反射加载发布接口类
IWebServiceTestService wsi = new IWebServiceTestService();
IWebServiceTest ws = wsi.getPort(IWebServiceTest.class);
// 调用发布类方法
String str = ws.webServiceTest("CXF");
System.out.println(str);
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/191070.html原文链接:https://javaforall.cn