Webservice实践(五)基于CXF的服务端开发

Spring和CXF整合发布WebService(服务端、客户端) 目录 一、服务端 1、依赖 1.1 第一种方式 1.2 第二种方式 2、测试代码 3、配置文件 3.1 第一种配置方式 3.2 第二种配置方式 4、运行 二、生成客户端 第一种方式wsdl2java 第二种方式 wsimport 三、测试 工作上遇到了,所以自己琢磨了一下,也是第一次想到用博客来记录,平时也有用word文档记录,怕忘了。所以在这里来一个详细总结,那些关于... 阅读详情

本节将实践目前最流行的第二种web service 发布和调试框架  CXF

Apache CXF 是一个开放源代码框架,提供了用于方便地构建和开发 Web 服务的可靠基础架构。它允许创建高性能和可扩展的服务,您可以将这样的服务部署在 Tomcat 和基于 Spring 的轻量级容器中,以及部署在更高级的服务器上。Java的webService实现本身就是一个很耗性能的实现方案(xml与java对象之间在服务端以及客户端的互转比较消耗性能),目前java主流的webService应用以CXF、AXIS2为主,CXF比AXIS2效率更高,并且在java 应用中CXF很成熟,因此CXF在webservice中占有非常重要的地位。

下面一张网络上的图比较好的说明了CXF 与web service的关系

           

下面将具体说说如何使用CXF 进行Webservice 开发。关于CXF的实践分2篇,第一篇通过注解发布webservice,利用cxf 进行客户端开发。 第二篇:通过spring与cxf 结合进行发布

一、实践目标

1、 webservice 发布服务

2、使用CXF 进行 客户端开发

二、环境准备

1、 myeclipse 

2、cxf 包

三、服务发布

1、首先在myeclipse中创建一个java web project

工程里面的实体类、DAO类就沿用上一篇中的类。 它们是Student.java   StudentDAO.java  StudentDAOImpl.java   StudentSimlationDB.java.

这里重点贴一下 StudentWs.java  和  StudentWsImpl.java.    StudentWs是暴露的接口类,也是web service 服务接口,  实现类是服务的实现。

整个工程的结构如下图:

下面列出 StudentWs.java  和  StudentWsImpl.java这两个类的源码,其他类源码见其他

StudentWs.java源码如下: 

package com.study.cxfws;

import javax.jws.WebParam;
import javax.jws.WebService;

//这个接口是用来暴露给外部的webservice类
//只提供接口是为了服务端便于扩展,增加灵活性
@WebService
public interface StudentWs {
	
	//暴露的接口 增加学生
	public boolean addStudent(@WebParam(name="name")String name, @WebParam(name="sex")String sex, @WebParam(name="birthday")String birthday);

	//暴露的接口查询学生
	public String queryStudent(@WebParam(name="studentName")String studentName) ;

}

 StudentWsImpl.java源码如下:

package com.study.cxfws.impl;

import com.study.cxfws.StudentWs;
import com.study.dao.StudentDAO;
import com.study.dao.impl.StudentDAOImpl;

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

@WebService(endpointInterface="com.study.cxfws.StudentWs",serviceName="StudentWs")
public class StudentWsImpl implements  StudentWs {
	
	//Student的dao 类,负责处理student 实体类的操作
	private StudentDAO studentDAO;
	
	public  StudentWsImpl(){
		studentDAO = new StudentDAOImpl();
	}

	public boolean addStudent(String name, String sex, String birthday) {
		// 调用studentDAO.addStudent 方法入库
		System.out.println("Now put student into DB!");
		studentDAO.addStudent(name, sex, birthday);
		return true;

	}

	public String queryStudent(String studentName) {
		System.out.println("StudentWsImpl queryStudent->"+studentName);
		Object tmp = studentDAO.queryStudent(studentName);
		if (tmp== null) {
			return "null";
		} else {
			return tmp.toString();
		}

	}

	public static void main(String[] args) {
		 
		 System.out.println("web service start");
		 StudentWsImpl studentWs= new StudentWsImpl();
                 String address="http://localhost:8080/StudentWs?wsdl";
         
                 Endpoint.publish(address, studentWs);
                 System.out.println("web service started");
		 
	}


}

在整个工程上,选中 StudentWsImpl.java 右键运行,url:http://localhost:8080/StudentWs


点击wsdl链接可以看到接口说明wsdl文档


                                                       

好了,简单的服务端就写到这里。(注: 实质上这里是利用java ws 发布服务端)

四、CXF 客户端编写

1、下载cxf工具

可以从下面URL下载cxf, http://cxf.apache.org/download.html, 将下载的apache-cxf-3.1.10.zip 保存到本地,并解压。

        2、利用cxf的工具 wsdl2java 将 服务端发布的wsdl 进行编译转换为java

这些是使用cxf 里面的工具wsdl2java  生成的java类。在命令行执行下面命令,就可以生成这些类

E:\cwqwork\myeclipse_workspace\StudyWSCxfStudentCli\src>F:\lib\cxf\apache-cxf-3.1.10\bin\wsdl2java http://localhost:8080/StudentWs?wsdl

3、编写client端类

package com.study.cxfws.client;

import org.apache.cxf.jaxws.JaxWsProxyFactoryBean;  
import com.study.cxfws.StudentWs;  
  
public class StudentWsClient {  
  
    /** 
     * @param args 
     */  
    public static void main(String[] args) {  
          
        //首先右键run as 运行com.hsy.server.webServiceApp类,然后再运行这段客户端代码  
        JaxWsProxyFactoryBean jwpfb = new JaxWsProxyFactoryBean();  
        jwpfb.setServiceClass(StudentWs.class);  
        jwpfb.setAddress("http://localhost:8080/StudentWs");  
        StudentWs   ws = (StudentWs) jwpfb.create();  
        
        ws.addStudent("Tom", "male", "19780618");
        ws.addStudent("Jerry", "female", "19800323");
        
        System.out.println( ws.queryStudent("Tom") );  
        System.out.println( ws.queryStudent("Jerry") );  
          
    }  
  
}  

4、为客户端加上cxf需要的jar包,否则运行会报错误

5、在StudentWsClient.java 右键run as -》java application

执行结果如下:

五、服务端修改发布方式:用cxf 框架 替换 javax ws 方式

前面的服务端,我们可以看到是采用 java ws方式,也就是说并没有用到cxf框架,下面说明一下如何用cxf 发布。

1、修改服务端 StudentWsImpl.java

源码如下:

package com.study.cxfws.impl;

import javax.jws.WebService;

import com.study.cxfws.StudentWs;
import com.study.dao.StudentDAO;
import com.study.dao.impl.StudentDAOImpl;

import org.apache.cxf.endpoint.Server;  
import org.apache.cxf.jaxws.JaxWsServerFactoryBean; 

@WebService  
public class StudentWsImpl implements  StudentWs {
	
	//Student的dao 类,负责处理student 实体类的操作
	private StudentDAO studentDAO;
	
	public  StudentWsImpl(){
		studentDAO = new StudentDAOImpl();
	}

	public boolean addStudent(String name, String sex, String birthday) {
		// 调用studentDAO.addStudent 方法入库
		System.out.println("Now put student into DB!");
		studentDAO.addStudent(name, sex, birthday);
		return true;

	}

	public String queryStudent(String studentName) {
		System.out.println("StudentWsImpl queryStudent->"+studentName);
		Object tmp = studentDAO.queryStudent(studentName);
		if (tmp== null) {
			return "null";
		} else {
			return tmp.toString();
		}

	}

	public static void main(String[] args) {

  	      System.out.println("web service start");
	        JaxWsServerFactoryBean factory = new JaxWsServerFactoryBean();  
	        //这里必须传入class,不能是接口,否则客户端会报异常 Could not instantiate service class ... because it is an interface
	        factory.setServiceClass(StudentWsImpl.class);  
	        factory.setAddress("http://localhost:8080/StudentWs");  
	          
	        Server server = factory.create();  
	        server.start();  
	        System.out.println("web service started");
	
	}


}
2、服务端通过run as 运行起来后,重新执行wsdl2java 命令,生成客户端需要的java

3、在StudentWsClient.java 上运行客户端,得到的效果与前面一致。说明用CXF发布服务端也是OK的。




SpringBoot 集成CXF开发WebService 参考文章传送门:https://www.dexcoder.com/selfly/article/4593 Apache CXF 介绍 Apache CXF 是一个开源的 Services 框架,CXF 帮助您利用 Frontend 编程 API 来构建和开发 Services ,像 JAX-WS 。这些 Services 可以支持多种协议,比如:SOAP、XML/HTTP、RESTf... 阅读详情

相关推荐

基于Apache CXF的WebService服务端与客户端开发实战

Apache CXF 是当前 Java 领域中最成熟、功能最全面的 WebService 框架之一,广泛应用于企业级服务集成场景。它不仅支持标准的 SOAP/WSDL 协议栈,还提供了对 RESTful 服务、JAX-WS、JAX-RS 等多种编程模型的良好支持。其模块化设计和高度可扩展性使其成为构建高可用、高性能分布式系统的首选工具链。

weixin_36364707的博客 1037

cxf根据wsdl生成webserivice服务端

1.根据wsdl文件生成相关代码 wsdl2java用法:  wsdl2java -p com -d src -all  aa.wsdl  -p  生成代码的包名:  -d  指定要产生代码所在目录  -client 生成web service客户端代码  -server 生成web  service服务器代码  -impl 生成web service

yecong111的专栏 9596

CXF-SOAP WebService服务端搭建实战教程

Maven的强大之处在于它的插件系统,通过使用插件,可以执行广泛的构建任务。以下是一些常用的Maven插件:: 编译项目的源代码。: 执行测试。: 创建一个JAR文件。: 部署项目到远程仓库。每个插件都有默认的行为,但是通常需要对其进行配置以满足特定需求。简单对象访问协议(Simple Object Access Protocol, SOAP)是一种基于XML的协议,用于在分布式环境中交换信息。

weixin_33245447的博客 742

cxf反向根据.net wsdl内容生成服务器端代码

cxf 3.5根据低版本.net web service wsdl生成服务端代码

程序员记事本 831

根据wsdl生成webservice服务端(3种方式)

详细介绍3种方法根据wsdl逆向生成webservice服务端;有最原始的wsdl2java指令,还有通过soapUI工具以及通过myeclipse的web service project来生成。

PCB数据集

整理了一部分PCB数据集

m0_57996537的博客 3867

CXF 根据WSDL生成客户端服务器端代码

根据wsdl生成客户端服务端代码

Cnc2014的博客 3243

S参数反演法

等效介质理论模型— 利用S参数反演法提取超材料结构的等效参数 等效介质理论模型—利用S参数反演法提取超材料结构的等效参数 S参数反演法,即利用等效模型的传输矩阵和S参数求解超材料结构的等效折射率n和等效阻抗Z的过程。本文对等效介质理论模型进行了详细介绍,并提供对应代码。 超材料的传输矩阵 超材料结构的传输矩阵函数为: 其中,d 为等效光学活性材料的厚度,n 为折射率,Z 表示阻抗。 S参数和传输矩阵T 超材料结构的S参数和传输矩阵T满足下列方程: 利用以上两式,可以得到等效折射率n和相对阻抗的表达式

weixin_43962864的博客 1万+

java cxf服务端代码_webservice 服务端例子+客户端例子+CXF整合spring服务端测试+生成wsdl文件 +cxf客户端代码自动生成...

首先到CXF官网及spring官网下载相关jar架包,这个不多说。webservice是干嘛用的也不多说。入门例子模拟新增一个用户,并返回新增结果,成功还是失败。大概的目录如上,很简单。ResultInfo.javapackagecom.fei.webservice.user.bean;importjava.text.MessageFormat;importjavax.xml.bind.an...

weixin_39524574的博客 506

DeepSeek提示词实战:从零到百的AI角色扮演指南(附100+场景模板)

本文提供了一份详尽的DeepSeek提示词实战指南,重点讲解AI角色扮演的核心技巧。通过“角色扮演四要素法”和五大核心场景模板,帮助用户从零开始掌握如何设计高质量提示词,有效提升AI输出的深度与精度,并附赠100+实用场景模板供参考。

weixin_29305337的博客 582

Python气象雷达数据处理实战:用PyCINRAD从基数据到PPI图的完整流程

本文详细介绍了使用PyCINRAD库处理气象雷达基数据并生成PPI图的完整流程,涵盖环境配置、数据读取、反射率与速度数据提取、可视化优化等关键步骤。通过实战案例演示如何从原始雷达数据到专业级PPI图像生成,为气象研究和业务应用提供高效解决方案。

yog99的博客 758

cxf动态构建webservice

title: cxf动态构建webservice date: 2020-06-11 09:58:55 tags: [cxf,webservice,xml/http] categories:平台需要提供一个可配置的webservice接口,用于其他服务的远程调用,并且可以依照项目不同的业务意义自定义webservice接口的上下文。本文主要描述如何通过cxf动态构建webservice接口。 维基百科上基于web服务的体系结构流程: 大概的流程图:Web Service也叫XML Web Service We

qq_40224163的博客 1061

AI市场风起云涌,ai浏览器是最佳的落地项目,现在ai市场的ai浏览器竞争加剧,得ai浏览器者得天下!

从场景覆盖度来看,AI 浏览器已突破 “网页浏览” 的传统边界,成为连接个人生活、工作、消费的 “超级入口”,这是其他 AI 应用难以比拟的落地优势。在个人生活场景,AI 浏览器可基于用户行为数据主动提供服务 —— 当用户浏览马拉松赛事信息时,浏览器能自动生成 “训练计划 + 装备推荐 + 能量补给方案”,并关联预订链接;在工作场景,Opera Neon 浏览器已实现 “网页内容提取 - 代码生成 - 报告撰写” 的全流程辅助,开发者可直接在浏览器内完成网站开发初稿;

zhang9880000的博客 1086

SpringBoot整合CXF框架实现Webservice服务端

1、前言 近期接手一个10多年的老项目,敲重点,10多年!!!就是最纯粹的servlet技术,貌似是从2008年运维到现在,老项目终究会有被淘汰的这一天,这不,到我接手的时候,我就是那接手的最后一个人,由我来开发数据迁移接口,通过Webservice接口调用的方式,把数据传输到新系统。没办法,只能忍住寂寞好好研究这坨代码。说来也是奇葩,这坨代码在一几年的时候,居然引入了Spring,导致这坨代码无敌臃肿,servlet和Spring共存,本身还引入了很古老的EJB框架,我直接当场头大。踩完了一个一个坑之后

qq_42109746的博客 2687

cordic算法的FPGA实现

cordic 算法的MATLAB仿真及verilog实现

qq_38360574的博客 1676

硬件原理图:从软件思维到硬件接口的嵌入式开发破局指南

本文为软件开发者提供了读懂硬件原理图的嵌入式开发破局指南。文章将硬件原理图类比为“硬件系统的架构图”,引导读者将软件API调用思维迁移到硬件接口理解上,详细解析了电阻、电容、二极管等常见元器件的“硬件API”功能与选型逻辑,并通过实战电路拆解,阐述了从原理图分析到驱动代码编写的完整思维链条,帮助开发者建立软硬件协同的系统级视角。

lg888的博客 496

基于CXF框架下的SOAP Webservice服务端接口开发

最近对webservice 进行入门学习,网上也是找了很多的学习资料。总得感觉就是这了解点,那了解点。感觉不够系统,不够容易入门。差不多断断续续看了一个星期了,今天小有成果,把客户端,服务端都搞定了。我先写服务端,在说客户端。 框架:服务端webservice是spring+cxf的maven工程。 环境:jdk1.7+maven3.3.9+tomcat7 新建maven工程可

万米高空的博客 1万+

【GLM5】手把手教你在openclaw中白嫖英伟达羊毛

openclaw很强,但是也很贵,每一次请求都会消耗大量的token。而英伟达平台正好可以白嫖免费的模型,于是,我们一拍即合。

Science prince的博客 3820

【WebService开发】之使用CXF开发WebService

1.开发服务端 a) 下载CXF:apache-cxf-3.1.6 b) 把cxf的jar包加入到项目中,其它不需要改变(同JDK开发webservice一样),webservice服务端开发完成。 2.开发客户端 a) 加入环境变量path中,E:\apache-cxf-3.1.6\bin b) 在cmd命令下生成客户代码,命令为:wsdl2java url,该命令为cxf的bin目录

北风 957

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

WebService-CXF

WebService-CXF 注:如果只想开发一个简单的WebService,蓝色标注的文字可以不看。 红色字体是需要注意的地方。   简介:Apache CXF  ==  Celtix + Xfire, CXF 继承了 Celtix 和 XFire 两大开源项目的精华,提供了对 JAX-WS 全面的支持. CXF 既支持 WSDL 优先开发,也支持从 Java 的代码优先开发模式。容易

单眼皮的猫 4733

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

Apache CXF WebService 框架

WebService、JAX-WS、JAX-RS、Apache-CXF

hzz19943305823的博客 1792

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

使用cxf发布webservice接口,以及调用webservice接口

一、cxf发布webservice接口 添加maven依赖 <dependency> <groupId>org.apache.cxf</groupId> <artifactId>cxf-core</artifactId> <version>3.4.3</version> </dependency> <de

qq_20161461的博客 1万+

CXF开发webservice

现在常用的开发webservice接口的方式有两种,一种是CXF 一种是Axis       下面用CXF开发一个webservice接口      Apache CXF 下载地址:http://www.apache.org/dyn/closer.lua/cxf/3.1.6/apache-cxf-3.1.6.zip       引入CXF的jar包 lib中的  编写服务端

zml19910925的博客 797

WebService与CXF

标题WebService简介 Webservice也叫XML Web Service,Web服务。可使用开放的xml标准来描述、发布、发现、协调和配置这些应用程序。用于开发分布式的互操作的应用程序。是一种跨编程语言、跨操作系统、跨网络的远程服务器调用技术。 WebService,顾名思义就是基于Web的服务。它使用Web(HTTP)方式,接收和响应外部系统的某种请求。从而实现远程调用. 我们可以调...

欢迎大家互相交流分享 1678

WebService框架——CXF介绍

1. WebService与CXF简介 1.1WebService WebService是一种跨编程语言和跨操作系统平台的远程调用技术。 跨编程语言和跨操作平台 就是说服务端程序采用java编写,客户端程序则可以采用其他编程语言编写,反之亦然!跨操作系统平台则是指服务端程序和客户端程序可以在不同的操作系统上运行。 远程调用 就是一台计算机a上的...

武汉小喽啰 2255

Springboot 基于CXF构建WebService服务

前言 最近因为系统需要接入了一个新的支付通道,一般来说都是使用RestApi 来接入,但是本次接入的支付通道为境外支付,使用的WebService,对于WS我们在实际业务中基本上不会用到,所以查阅了一些资料,记录一下自己项目中使用的WS。 WebService概述 什么是WebService Web Service技术,能使得运行在不同机器上的不同应用无须借助附加的、专门的第三方软件或硬件, 就可相互交换数据或集成。依据Web Service规范实施的应用之间,无论它们所使用的语言、平台或内部协议是什么,

蜀道难,难于上青天。 2158
上一篇: Webservice实践(四)基于AXIS2的服务端开发
下一篇: Webservice实践(六)CXF拦截器简介
虎纠卫
博客等级 码龄24年 440粉丝 120原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值