webservciescxf框架之客户端与服务端实例详解

Posted xiaohanjy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了webservciescxf框架之客户端与服务端实例详解相关的知识,希望对你有一定的参考价值。

webservciescxf框架之客户端与服务端实例详解

可以关注我之前发的文章,那是采用jdk发布服务并且使用wsimpor来生成客户端的。

但本文采用的是soap1.2协议,而wsimport仅对soap1.1协议有效,所以,本文采用的是

cxf框架提供的wsdl2java 来生成客户端,如下:

wsdl2java -d . http://127.0.0.1/framework?wsdl

另外,需要强调的是wsdl2java工具(axis好像也提供了)既支持soap1.1协议,也支持soap1.2协议,生成客户端代码。

如图:

技术图片

1)服务端cxfservices:

package com.neusoft.si;

import javax.jws.WebService; import javax.xml.ws.BindingType;

@WebService @BindingType(value=javax.xml.ws.soap.SOAPBinding.SOAP12HTTP_BINDING)

public class cxfservices  

public String sayHello(String name)   return "hello:"+name;  

2)  发布服务端server

package com.neusoft.si;

import org.apache.cxf.interceptor.LoggingInInterceptor;

import org.apache.cxf.interceptor.LoggingOutInterceptor;

import org.apache.cxf.jaxws.JaxWsServerFactoryBean;

public class mycxfserver  

public static void main(String[] args)  

 //soap1.1---wsimpot可以使用   

//soap1.1  ,  soap1.2---wsdl2java -d . wsdl路径   

JaxWsServerFactoryBean server=new JaxWsServerFactoryBean();  

//客户端调用时,打印输入输出日志

 server.getInInterceptors().add(new LoggingInInterceptor());   

server.getOutInterceptors().add(new LoggingOutInterceptor());   

server.setAddress("http://127.0.0.1/framework");   

server.setServiceClass(cxfservices.class);   

server.setServiceBean(new cxfservices());   

server.create();   

System.out.println("server ready");  

 

3)客户端:

客户端生成代码根据wsdl2java生成下,此处不做展示。

package com.slrc;

import com.neusoft.si.Cxfservices;

import com.neusoft.si.CxfservicesService;

public class cxf_client  

public static void main(String[] args)  

 CxfservicesService service=new CxfservicesService();  

 Cxfservices  client=service.getCxfservicesPort();  

 String result=client.sayHello("hanjingwen");   

System.out.println(result);

 

 

以上是关于webservciescxf框架之客户端与服务端实例详解的主要内容,如果未能解决你的问题,请参考以下文章

游戏服务器框架之网关

SuperSocket与Netty之实现protobuf协议,包括服务端和客户端

《Python》网络编程之客户端/服务端框架套接字(socket)初使用

微服务开源框架TARS的RPC源码解析 之 初识TARS C++服务端

4. Beego 框架之cookie与session

SpringCloud框架之Config分布式配置中心