webserviceEndpoint和JaxWsProxyFactoryBean实现客户端。
。。
服务端:
1.编写SEI(Service Endpoint Interface),SEI在webservice中称为portType,在java中就是普通接⼝
public interface ICameraService {
public void test();
}
2. 编写SEI实现类,此类作为webservice提供服务类
@WebService///@WebService表⽰该类是⼀个服务类,需要发布其中的public的⽅法
@Service("CameraServiceImpl")//Spring mvc 纳⼊容器管理
public class CameraServiceImpl implements ICameraService {
@Override
public void test() {
System.out.print("asada");
}
}
3.发布服务,Endpoint类发布服务,publish⽅法,两个参数:1.服务地址;2.服务实现类
l.ws.Endpoint;
fo.spring.SpringInit;
public class Start {
public static void main(String[] args) {
Endpoint.publish("192.168.1.107:9010/CameraServiceImpl",Bean("CameraServiceImpl"));
System.out.println("同步视频数据,视频巡检数据已启动...........");
}
}
启动容器,获取bean
public class SpringInit {
public static AbstractApplicationContext ctx = null;
static{
ctx = new ClassPathXmlApplicationContext("l");
}
}
客户端:
客户端⽅式:
1.直接编写服务端接收程序,需要有服务端同名的接⼝类
客户端创建⼀个ICameraService接⼝,然后如下:
import f.jaxws.JaxWsProxyFactoryBean;
public static ICameraService ceraetWebServiceConnection(){
JaxWsProxyFactoryBean svr = new JaxWsProxyFactoryBean();
svr.setServiceClass(ICameraService.class);
svr.setAddress("192.168.1.107:9010/CameraServiceImpl");
ICameraService is = (ate();
return is;
}
2.⽤jdk⼯具⽣成java客户端代码
在JDK的bin⽂件夹中,有⼀个,这个⼯具依据wsdl⽂件⽣成相应的类⽂件,然后⽤这些类⽂件,就可以像调⽤本地的类⼀样调⽤WebService提供的⽅法。
1)⾸先创建⼀个server空项⽬
⽤cmd命令到项⽬所在路径下的src然后
cmd命令 dir 显⽰当前所有⽂件 cd 转到指定⽂件 直接输⼊ d: 跳转到D盘
如果cmd提⽰没有wsimport命令 需要在cmd中设置⼀下java环境变量,把电脑设置的环境变量路径复制到cmd中运⾏⼀遍就好
2)编写客户端
public class testClient {
public static void main(String[] args) {
如何生成webservice客户端//创建service
CameraServiceImplService service=new CameraServiceImplService ();
//获取代理对象
CameraServiceImpl Port(CameraServiceImpl.class);
//获取服务端⽅法
String st();
System.out.println(word);
}
}
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论