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);

}

}

原文地址:https://www.cnblogs.com/xiaohanjy/p/11183083.html

时间: 2024-10-05 04:43:27

webservciescxf框架之客户端与服务端实例详解的相关文章

PHP-Socket服务端客户端发送接收通信实例详解

Socket介绍 什么是socket 所谓socket通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄.应用程序通常通过"套接字"向网络发出请求或者应答网络请求. 在Internet上的主机一般运行了多个服务软件,同时提供几种服务.每种服务都打开一个Socket,并绑定到一个端口上,不同的端口对应于不同的服务. Socket连接过程 根据连接启动的方式以及本地套接字要连接的目标,套接字之间的连接过程可以分为三个步骤:服务器监听,客户端请求,连接确认.

nfs服务端配置文件详解

配置参数语法 配置文件路径 /etc/exports 可以使用#进行注释说明 一个完整的配置实例至少需要3个参数 1.被共享的目录 必须是存在的目录 2.向谁共享 可以指定主机或网络范围,支持通配符*(表示谁都可以访问) 10.0.0.1,10.0.0.0/24,10.0.0.0/255.255.255.0都是有效的参数 3.怎么共享 在“向谁共享”参数后边以“()”存在,之间没有空格,不同的参数之间以“,”相隔 实例:/data 192.168.220.0/24(rw) 默认参数 在配置一个n

RabbitMQ服务端配置详解

RabbitMQ支持三种配置方式: 1) 读取环境变量中配置, 这包括shell中环境变量和rabbitmq-env.conf/rabbitmq-env-conf.bat文件中配置的环境变量 可配置如端口.配置文件指定自定义位置.节点名字等信息. 2) 读取配置文件rabbitmq.config 可配置权限.集群.插件设置等高级信息, 当然也可配置端口等简单信息 3) 通过运行命令时指定参数 通常用来配置集群范围信息, 用来运行时动态传入 环境变量读取优先级 1) 读取shell中环境变量 2)

Shiro安全框架入门篇(登录验证实例详解与源码)

一.Shiro框架简单介绍 Apache Shiro是Java的一个安全框架,旨在简化身份验证和授权.Shiro在JavaSE和JavaEE项目中都可以使用.它主要用来处理身份认证,授权,企业会话管理和加密等.Shiro的具体功能点如下: (1)身份认证/登录,验证用户是不是拥有相应的身份: (2)授权,即权限验证,验证某个已认证的用户是否拥有某个权限:即判断用户是否能做事情,常见的如:验证某个用户是否拥有某个角色.或者细粒度的验证某个用户对某个资源是否具有某个权限: (3)会话管理,即用户登录

info查看redis服务端信息详解

#主要查看参数: # Server uptime_in_seconds:83904           #redis服务运行时间 uptime_in_days:0                  #redis运行天数 # Clients  connected_clients:1               #已连接的客户端数量(不包括从slave服务器过来的连接) blocked_clients:0                 #正在等待&阻塞命令(BLPOP/BRPOP/BRPOPLPU

linux epoll机制对TCP 客户端和服务端的监听C代码通用框架实现

1 TCP简介 tcp是一种基于流的应用层协议,其"可靠的数据传输"实现的原理就是,"拥塞控制"的滑动窗口机制,该机制包含的算法主要有"慢启动","拥塞避免","快速重传". 2 TCP socket建立和epoll监听实现 数据结构设计 linux环境下,应用层TCP消息体定义如下: typedef struct TcpMsg_s { TcpMsgHeader head; void* msg; }TcpM

DatagramSocket客户端与服务端Java实例

1 import java.io.IOException; 2 import java.net.DatagramPacket; 3 import java.net.DatagramSocket; 4 import java.net.InetAddress; 5 6 public class TimeClient_UDP{ 7 public static void main(String args[]) throws IOException{ 8 String host = "localhost&

客户端和服务端

客户端和服务端 在这一章节,我们会深入学习怎样使用Boost.Asio建立非凡的客户端和服务端应用.你可以运行并测试它们,而且在理解之后,你可以把它们做为框架来构造自己的应用. 在接下来的例子中: 客户端使用一个用户名(无密码)登录到服务端 所有的连接由客户端建立,当客户端请求时服务端回应 所有的请求和回复都以换行符结尾('\n') 对于5秒钟没有ping操作的客户端,服务端会自动断开其连接 客户端可以发送如下请求: 获得所有已连接客户端的列表 客户端可以ping,当它ping时,服务端返回pi

基于thrift的java和python分别作为客户端和服务端的调用实现

前面已经实现了纯java的thrift的实现. 现在实现实现一下python作为客户端和服务端的thrift的调用 1.python作为客户端,java作为服务端 java服务端代码参考前面写的博客 客户端python的准备: 1.使用mac下的PyCharm,专业的python开发工具 2.生成python代码 thrift --gen py thrift/data.thrift 3.在mac下安装thrift的python依赖 sudo python setup.py install 安装t