(五)web服务中的异常处理
一、服务端发布服务
package com.webservice; import javax.jws.WebParam;
import javax.jws.WebResult;
import javax.jws.WebService; @WebService
public interface IExceptionService { @WebResult(name = "addResult")
public int add(@WebParam(name = "x")
int x, @WebParam(name = "y")
int y) throws Exception; @WebResult(name = "subtractResult")
public int subtract(@WebParam(name = "x")
int x, @WebParam(name = "y")
int y) throws RuntimeException; @WebResult(name = "divideResult")
public int divide(@WebParam(name = "x")
int x, @WebParam(name = "y")
int y) throws DivideException;
}
package com.webservice; import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date; import javax.jws.WebService; @WebService(endpointInterface = "com.webservice.IExceptionService")
public class ExceptionImpl implements IExceptionService { public int add(int x, int y) throws Exception {
if (x == 0 || y == 0) {
throw new Exception("add中Exception====X或者Y不能为0");
} else {
return x + y;
}
} public int subtract(int x, int y) throws RuntimeException {
if (x == 0 || y == 0) {
throw new RuntimeException("subtract中RunTimeException===X或者Y不能为0");
} else {
return x + y;
}
} public int divide(int x, int y) throws DivideException {
if (x == 0 || y == 0) {
throw new DivideException("divide中DivideException===X或者Y不能为0");
} else {
return x + y;
}
} }
- 自定义异常
package com.webservice;
public class DivideException extends Exception {
public DivideException() {
super();
}
public DivideException(String arg0, Throwable arg1, boolean arg2,
boolean arg3) {
super(arg0, arg1, arg2, arg3);
}
public DivideException(String arg0, Throwable arg1) {
super(arg0, arg1);
}
public DivideException(String arg0) {
super(arg0);
}
public DivideException(Throwable arg0) {
super(arg0);
}
}
package com.publish; import javax.xml.ws.Endpoint; import com.webservice.BeanImpl;
import com.webservice.DateImpl;
import com.webservice.ExceptionImpl;
import com.webservice.ListImpl;
import com.webservice.MapImpl;
import com.webservice.StrImpl; public class TestPublish {
public static void main(String[] args) { Endpoint.publish("http://localhost:9090/ExceptionService",
new ExceptionImpl());
System.out.println("发布成功...");
}
}
二、客户端
package com.exception;
public class TestMain {
public static void main(String[] args) {
//TestMain.add();
// TestMain.subtract();
TestMain.divide();
}
private static void add() {
// 服务端没有异常
// 客户端:com.exception.Exception_Exception
IExceptionService exceptionService = new ExceptionImplService()
.getExceptionImplPort();
try {
exceptionService.add(1, 0);
} catch (Exception_Exception e) {
Exception exception = e.getFaultInfo();
String server_msg = exception.getMessage();
System.out.println(server_msg);
e.printStackTrace();
}
}
private static void subtract() {
// 服务端的异常:java.lang.RuntimeException
// 客户端的异常:javax.xml.ws.soap.SOAPFaultException
IExceptionService exceptionService = new ExceptionImplService()
.getExceptionImplPort();
exceptionService.subtract(3, 0);
}
private static void divide() {
IExceptionService exceptionService = new ExceptionImplService()
.getExceptionImplPort();
try {
exceptionService.divide(1, 0);
} catch (DivideException_Exception e) {
System.out.println(e.getFaultInfo().getMessage());
e.printStackTrace();
}
}
}
(五)web服务中的异常处理的更多相关文章
- ASP.NET Web API 中的异常处理(转载)
转载地址:ASP.NET Web API 中的异常处理
- 【ASP.NET Web API教程】4.3 ASP.NET Web API中的异常处理
原文:[ASP.NET Web API教程]4.3 ASP.NET Web API中的异常处理 注:本文是[ASP.NET Web API系列教程]的一部分,如果您是第一次看本系列教程,请先看前面的内 ...
- web应用中的异常处理
楼主前几天写了一篇“Java子线程中的异常处理(通用)”文章,介绍了在多线程环境下3种通用的异常处理方法. 但是平时大家的工作一般是基于开发框架进行的(比如Spring MVC,或Spring Boo ...
- Web服务中延时对QoE(体验质量)的影响
S. Egger等人在论文<WAITING TIMES IN QUALITY OF EXPERIENCE FOR WEB BASED SERVICES>中,研究了Web服务中延时对主观感受 ...
- 2017.10.28 针对Java Web应用中错误异常处理方法的运用
针对Java Web应用中错误异常处理方法的运用 在javaweb中其异常都需要对Checked Exception之下的Exception进行继承,并且有选择地对发生的错误和异常进行处理.Java同 ...
- REST服务中的异常处理
在REST服务中,服务端如果产生了异常信息,无论是业务异常或是系统异常,如果直接将异常抛出,在客户端浏览器中,是无法获取异常的详细,只能获取一个StateCode 500 Internal Serve ...
- 第五章 python中的异常处理
每种编程语言都会有自己的异常处理机制,虽然各有特色,但基本上都差不多,那么python中强大异常处理机制是什么样的呢? 一.异常: python用异常对象来表示异常情况,遇到错误后,会引发异常.如果异 ...
- 【Web】Web开发中的异常处理方案
我认为最合理的做法: 1.dao层不捕获异常.不抛出异常:spring框架将底层的数据库checked异常封装成unchecked异常了 2.service层捕获异常,并抛出自定义unchecked异 ...
- 在 ASP.NET Core Web API中使用 Polly 构建弹性容错的微服务
在 ASP.NET Core Web API中使用 Polly 构建弹性容错的微服务 https://procodeguide.com/programming/polly-in-aspnet-core ...
随机推荐
- C# GDI+ 简单实现图片写文字和图片叠加(水印)(转)
using System; using System.Collections; using System.Configuration; using System.Data; using System. ...
- LC 486. Predict the Winner
Given an array of scores that are non-negative integers. Player 1 picks one of the numbers from eith ...
- 算法习题---3.12浮点数(UVa11809)
一:题目 尴尬的非会员水印 二:题目摘要 1.int和float比较 int共32位,可以表示的最大的数为2^32次方 float虽然也是32位,但是是以指数形式保存,指数占8位(含符号),最大127 ...
- spark简单文件配置
cd /usr/local/spark/spark-2.2.1-bin-hadoop2.7/conf cp slaves.template slaves cp spark-env.sh.templat ...
- SpringCloud学习成长之路 六 cloud配置中心
一.简介 在分布式系统中,由于服务数量巨多,为了方便服务配置文件统一管理,实时更新,所以需要分布式配置中心组件.在Spring Cloud中,有分布式配置中心组件spring cloud config ...
- spring-core-5.0.6.RELEASE-sources.jar中java源代码不全
笔者最近在调试一段代码,进入spring-core以后,IDEA帮我反编译出源码,其中MethodProxy.java如下 // // Source code recreated from a .cl ...
- Kafka管理与监控——broker宕机后无法消费问题
背景 因磁盘满了,导致kafka所有的服务器全部宕机了,然后重启kafka集群,服务是启动成功了,但有一些报错: broker1: broker2: broker3:一直在刷以下错误信息 虽然报了这些 ...
- 微信小程序企业付款到个人
<?php /** * 小程序之企业付款到个人! */ class WxPayModel extends Model { public function sendMoneyToPerson($t ...
- php关于文件上传的两个配置项说明
; Maximum allowed size for uploaded files.; http://php.net/upload-max-filesizeupload_max_filesize = ...
- FCKEDITOR在.NET中的使用
FCKEDITOR在.NET中的使用 FCKeditor介绍 FCKeditor是一个功能强大支持所见即所得功能的文本编辑器,可以为用户提供微软office软件一样的在线文档编辑服务.它不需要安装任何 ...