- 浏览: 1523011 次
- 性别:
- 来自: 厦门
文章分类
- 全部博客 (516)
- Java (49)
- Java/Struts 2.0 (25)
- Java/Spring、Spring MVC (11)
- Java/Quartz (3)
- Java/Lucene (6)
- Java/Hibernate (19)
- Java/openJPA (7)
- Java/DWR (7)
- Java/Security、Spring Security/OAuth2 (6)
- Java/Threading (9)
- Java/XML (22)
- java/design pattern (4)
- Android (2)
- JavaScript (46)
- jquery (3)
- DB/MySQL (23)
- DB/Oracle (16)
- PHP (25)
- CSS (20)
- Linux (38)
- C/C++、DLL、Makefile、VC++ (31)
- 正则 (9)
- Eclipse (4)
- 安全、网络等概念 (25)
- 集群 (7)
- 网页 (5)
- 视频\音频 (1)
- HTML (6)
- 计算机数学/算法 (3)
- Virtualbox (1)
- LDAP (2)
- 数据挖掘 (6)
- 工具破解 (1)
- 其他 (13)
- Mail (1)
- 药材 (3)
- 游戏 (2)
- hadoop (13)
- 压力测试 (3)
- 设计模式 (3)
- java/Swing (2)
- 缓存/Memcache (0)
- 缓存/Redis (1)
- OSGI (2)
- OSGI/Gemini (0)
- 文档写作 (0)
- java/Servlet (3)
- MQ/RabbitMQ (2)
- MQ/RocketMQ (0)
- MQ/Kafka (1)
- maven (0)
- SYS/linux (1)
- cache/redis (1)
- DB/Mongodb (2)
- nginx (1)
- postman (1)
- 操作系统/ubuntu (1)
- golang (1)
- dubbo (1)
- 技术管理岗位 (0)
- mybatis-plus (0)
最新评论
-
pgx89112:
大神,请赐我一份这个示例的项目代码吧,万分感谢,1530259 ...
spring的rabbitmq配置 -
string2020:
不使用增强器 怎么弄?
OpenJPA的增强器 -
孟江波:
学习了,楼主,能否提供一份源代码啊,学习一下,十分感谢!!!4 ...
spring的rabbitmq配置 -
eachgray:
...
spring-data-redis配置事务 -
qljoeli:
学习了,楼主,能否提供一份源代码啊,学习一下,十分感谢!!!1 ...
spring的rabbitmq配置
本文参考自:J2EE Web服务开发系列之十二: 实现安全的AXIS Web服务,第1部分
package com.hellking.study.webservice; public class PersonalTaxService { final double base = 3500;// 所得税上缴基数。 public double getTax(double salary) { double tax_salary = salary - base; double tax = 0.0d;// 计算后的所得税。 if (0 > tax_salary) tax = 0; else if (0 < tax_salary && tax_salary <= 1500) tax = tax_salary * 0.03 - 0; else if (1500 < tax_salary && tax_salary <= 4500) tax = tax_salary * 0.10 - 25; return tax; } }
布署web 服务
<deployment xmlns="http://xml.apache.org/axis/wsdd/" xmlns:java="http://xml.apache.org/axis/wsdd/providers/java"> <service name="PersonalTaxService" provider="java:RPC"> <parameter name="allowedMethods" value="*"/> <parameter name="className" value="com.hellking.study.webservice.PersonalTaxService"/> </service> </deployment>
执行命令:
java -classpath %CLASSPATH% org.apache.axis.client.AdminClient -l http://localhost:8080/axis/services/PersonalTaxService D:/workspace-java/axis1/web/WEB-INF/deploy_auth_basic.wsdd
编辑%TOMCAT_HOME%/conf/tomcat-users.xml ,添加用户角色和用户:
<role rolename="department-manager"/> <user username="hellking" password="simplewebservices" roles="department-manager"/>
编辑/axis1/web/WEB-INF/web.xml,在最后添加上:
<security-constraint> <web-resource-collection> <web-resource-name>Tax Web service</web-resource-name> <url-pattern>/services/PersonalTaxService</url-pattern> </web-resource-collection> <auth-constraint> <role-name>department-manager</role-name> </auth-constraint> </security-constraint> <login-config> <auth-method>BASIC</auth-method> <realm-name>Axis Basic Authentication Area</realm-name> </login-config> <security-role> <role-name>department-manager</role-name> </security-role>
最后编写客户端代码:
package com.hellking.study.webservice; import javax.xml.namespace.QName; import javax.xml.rpc.ParameterMode; import org.apache.axis.client.Call; import org.apache.axis.client.Service; import org.apache.axis.encoding.XMLType; /** * 调用需要验证的Web服务 */ public class AuthClient { static final double salary = 50000; public static void main(String[] args) { try { // 服务端的url,需要根据情况更改。 String endpointURL = "http://localhost:8080/axis/services/PersonalTaxService";// Web服务端点地址 Service service = new Service(); Call call = (Call) service.createCall(); call.setTargetEndpointAddress(new java.net.URL(endpointURL)); call.setOperationName(new QName("PersonalTaxService", "getTax"));// 设置操作的名称。 // 由于需要认证,故需要设置调用的用户名和密码。 call.getMessageContext().setUsername("hellking");// 设置用户名。 call.getMessageContext().setPassword("simplewebservices");// 设置密码 call.addParameter("op1", XMLType.XSD_DOUBLE, ParameterMode.IN);// 参数的类型 call.setReturnType(XMLType.XSD_DOUBLE);// 返回的数据类型 Double ret = (Double) call.invoke(new Object[] { new Double(salary) });// 执行调用 System.out.println("使用HTTP协议来作为Web服务的传输协议!"); System.out.println("已经成功调用。请参看服务端的输出!"); System.out.println("输入工资" + salary + "元,应交个人所得税:" + ret); } catch (Exception e) { e.printStackTrace(); } } }
测试:
1、访问:http://localhost:8080/axis/services,将列出web服务列表
点击PersonalTaxService 的wsdl链接地址,验证一下会不会提示要输入用户名和密码。
发表评论
-
xStream开发HTTP的XML内容
2013-07-03 09:58 10511、编写自定义XPPDriver代码: package ... -
AXIS2 开发示例
2013-06-28 17:10 1040实体类: package com.mport.entity ... -
HttpURLConnection or URLConnection post xml content to web server
2013-05-31 01:56 2050客户端示例1: package client; ... -
Axis2 体系结构
2012-06-19 12:34 998前言 结构都是它本身所能产生效率的结果。任何一个成功 ... -
Axis 1.4 基于wss4j UsernameToken 的安全验证
2011-12-30 17:24 2459利用以下的wsdl文件生成客户端及服务端代码: < ... -
wss4j和axis2实现WS-Security(2)
2011-12-29 12:13 1079转自:http://hi.baidu.com/zhaopeng ... -
wss4j和axis2实现WS-Security(1)
2011-12-29 11:31 1187转自:http://hi.baidu.com/zhaopeng ... -
Using WS-Security with Axis (Java) v2006
2011-12-23 11:24 1550转自:http://www.arcwebservices.co ... -
[Java] Testing SOAP Headers with a Simple Axis Handler
2011-12-23 11:02 1151转自:http://weblogs.asp.net/jdanf ... -
Axis 1.4 将WSDL文件逆向后String数组只变成String
2011-12-22 08:26 2025这些天在对一个项目扩展功能时使用Axis 1. ... -
实现Axis web service 的数字证书认证(CLIENT-CERT)
2011-12-09 12:28 3725本文参考自:J2EE Web服务开发系列之十二: 实现安全的 ... -
生成SOAP消息示例
2011-09-27 11:36 11269调用 web service 时生成soap消息的区别, ... -
Axis 1.4 上传二进制文件(base64Binary)
2011-04-22 16:32 2035服务端代码: package samples.userg ... -
Axis 1.4 WSDL2Java、Java2WSDL的使用
2011-04-21 16:52 3436d:>java -classpath % ... -
在axis1.4中传递复杂类型数组参数(ArrayMapping)
2011-04-21 11:50 3731Axis1.4环境配置: 配置一些工具在命 ... -
axis2 学习(rpc)
2011-04-15 16:03 2141刚开始学习时,可不必考虑某些包的功能。我当前是把所有的包都导进 ... -
xfire 学习
2011-04-14 13:45 819我 -
学习dom4j的jaxb实现(半成品)
2011-03-08 16:47 1271primer.xml <?xml version=&q ... -
使用dom4j修改xml元素
2011-02-21 15:47 12257预先编写一个xml文件book ... -
使用 dom4j编写一个简单输出到文件的例子
2011-02-21 15:03 1090代码编写是参考这篇文档: http://blog.csd ...
相关推荐
Web服务Axis 1.6是Apache软件基金会开发的一个开源工具...尽管现在已经有了更现代的Web服务框架,如Axis 2和其他基于JAX-WS的实现,但了解和掌握Axis 1.6的基本知识仍然对于理解Web服务的原理和技术历史具有重要意义。
从低到高排列,常见的实现方式包括: 1. 使用J2EE Web应用默认的访问控制(数据是明文的) 2. 使用axis的Handler进行访问控制(数据是明文的) 3. 使用Servlet过滤器(Filter)进行访问控制(数据是明文的) 4. ...
Web服务Axis1.4是Apache组织开发的一个开源框架,专门用于构建和...通过理解和熟练运用这些库,开发者可以创建符合WS-I Basic Profile标准的、具有互操作性的Web服务,从而实现不同系统之间的数据交换和业务流程集成。
对于基于Axis2框架的WebService来说,可以通过修改项目的`web.xml`文件来实现Basic验证。 ##### 修改`web.xml`文件 1. **定位到`servlet`元素**:找到`web.xml`文件中与你的WebService相关的`servlet`元素。例如,...
解压后,仔细阅读文档,编译并运行示例代码,可以帮助你更好地理解如何在Axis2客户端中实现NTLM认证的Web服务调用。 总之,理解NTLM认证机制和如何在Axis2中使用它对于开发需要与Windows域集成的应用至关重要。通过...
【标题】Web Service(Axis) + Excel(Office 2003)的集成与应用 在信息技术领域,Web服务是一种基于互联网的软件交互方式,它允许不同系统之间共享数据和服务。Axis是Apache软件基金会开发的一个开源Java框架,...
在本压缩包"web_service_基于axis和xfire.rar"中,重点是介绍了如何使用Axis和XFire这两个Java框架来开发和实现Web服务。 Axis是Apache软件基金会开发的一款开源工具,主要用于简化SOAP(简单对象访问协议)和WSDL...
XFire 是一种新一代的 WebService 平台,它支持一系列新的 Web Service 标准,如 JSR181、WSDL2.0、JAXB2、WS-Security 等。XFire 采用 Woodstox 作 Stax 实现,性能有了质的提高。XFire 还具有易于上手、快速发布...
通过使用这个插件,开发者可以轻松地创建基于Axis2的Web服务,这些服务可以遵循各种Web服务规范,例如WS-I Basic Profile、WS-Security等。 至于"plugins"这一压缩包子文件的文件名,这通常表示该zip文件包含一系列...
【标题】:Axis2开发Web服务总结 【摘要】:本文档主要总结了使用Axis2框架开发Web服务的相关知识,包括Web服务...理解Web服务的基本原理,熟练掌握Axis2的开发流程和工具使用,是成为一名合格的Web服务开发者的关键。
Axis1基于SOAP 1.1协议,提供了丰富的功能,包括自动处理WSDL(Web Service Description Language)、XML Schema和WS-I Basic Profile等。其主要特点如下: 1. **自动WSDL生成**:Axis1可以自动生成WSDL文档,使得...
2. **Web服务模型**:Axis2采用服务组件架构(Service Component Architecture, SCA)和服务数据对象(Service Data Objects, SDO)等概念,使得开发者可以更加灵活地构建和部署Web服务。 3. **模块化设计**:Axis2...
Axis2支持SOAP 1.1和1.2,同时具备WS-I Basic Profile兼容性,可以处理复杂的Web服务交互。 二、环境搭建 在开始Axis2实例之前,确保已安装以下组件: 1. JDK 1.7:Java开发环境是必要的,因为Axis2依赖于Java平台...
5. **WS-I兼容性库**:如wsdl4j.jar,用于处理WSDL(Web Service Description Language)文件,确保服务符合WS-I Basic Profile规范。 6. **编码和解码库**:如axiom-api.jar、axiom-impl.jar,它们是Apache AXIOM...
这个插件主要用于从WSDL(Web Service Description Language)文件自动生成Java源代码,帮助开发者快速构建基于Axis2的Web服务客户端和服务端。它简化了Web服务的开发流程,使得开发者无需手动编写复杂的SOAP消息...
Axis2是Apache软件基金会开发的一个高效且灵活的Web服务引擎,专为处理SOAP消息和实现Web服务而设计。本指南将深入讲解如何使用Axis2进行Web服务的开发。 一、Axis2简介 Axis2是基于AXIOM(Abstract XML ...
- 客户端应用程序可以通过多种方式消费Web Service,例如使用JAX-WS(Java API for XML Web Services)或Apache CXF等库生成客户端代理类,这些类使得调用Web Service就像调用本地方法一样简单。 6. **安全性**: ...