- 浏览: 1523057 次
- 性别:
- 来自: 厦门
文章分类
- 全部博客 (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配置
利用以下的wsdl文件生成客户端及服务端代码:
<?xml version="1.0" encoding="UTF-8"?> <wsdl:definitions targetNamespace="http://localhost:8080/axis/services/stock-wss-01" xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns:impl="http://localhost:8080/axis/services/stock-wss-01" xmlns:intf="http://localhost:8080/axis/services/stock-wss-01" xmlns:tns1="http://stock.samples" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <!--WSDL created by Apache Axis version: 1.4 Built on Apr 22, 2006 (06:55:48 PDT)--> <wsdl:types> <schema elementFormDefault="qualified" targetNamespace="http://stock.samples" xmlns="http://www.w3.org/2001/XMLSchema"> <element name="symbol" type="xsd:string"/> </schema> <schema elementFormDefault="qualified" targetNamespace="http://localhost:8080/axis/services/stock-wss-01" xmlns="http://www.w3.org/2001/XMLSchema"> <element name="getQuoteReturn" type="xsd:float"/> </schema> </wsdl:types> <wsdl:message name="getQuoteResponse"> <wsdl:part element="impl:getQuoteReturn" name="getQuoteReturn"/> </wsdl:message> <wsdl:message name="getQuoteRequest"> <wsdl:part element="tns1:symbol" name="symbol"/> </wsdl:message> <wsdl:portType name="StockQuoteService"> <wsdl:operation name="getQuote" parameterOrder="symbol"> <wsdl:input message="impl:getQuoteRequest" name="getQuoteRequest"/> <wsdl:output message="impl:getQuoteResponse" name="getQuoteResponse"/> </wsdl:operation> </wsdl:portType> <wsdl:binding name="stock-wss-01SoapBinding" type="impl:StockQuoteService"> <wsdlsoap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/> <wsdl:operation name="getQuote"> <wsdlsoap:operation soapAction=""/> <wsdl:input name="getQuoteRequest"> <wsdlsoap:body use="literal"/> </wsdl:input> <wsdl:output name="getQuoteResponse"> <wsdlsoap:body use="literal"/> </wsdl:output> </wsdl:operation> </wsdl:binding> <wsdl:service name="StockQuoteServiceService"> <wsdl:port binding="impl:stock-wss-01SoapBinding" name="stock-wss-01"> <wsdlsoap:address location="http://localhost:8080/axis/services/stock-wss-01"/> </wsdl:port> </wsdl:service> </wsdl:definitions>
服务端和客户端需要都存在这个CallbackHandler的实现类 :
package samples.stock.client.usernametoken; import java.io.IOException; import javax.security.auth.callback.Callback; import javax.security.auth.callback.CallbackHandler; import javax.security.auth.callback.UnsupportedCallbackException; import org.apache.ws.security.WSPasswordCallback; /** * * PWCallback for the Client */ public class PWCallback implements CallbackHandler { /** * * @see javax.security.auth.callback.CallbackHandler#handle(javax.security.auth.callback.Callback[]) */ public void handle(Callback[] callbacks) throws IOException, UnsupportedCallbackException { for (int i = 0; i < callbacks.length; i++) { if (callbacks[i] instanceof WSPasswordCallback) { WSPasswordCallback pc = (WSPasswordCallback) callbacks[i]; // set the password given a username if ("wss4j".equals(pc.getIdentifier())) { pc.setPassword("security"); } } else { throw new UnsupportedCallbackException(callbacks[i], "Unrecognized Callback"); } } } }
/** * */ package samples.stock.client.usernametoken; import java.net.URL; import java.rmi.RemoteException; import javax.xml.rpc.ServiceException; import org.apache.axis.EngineConfiguration; import org.apache.axis.configuration.FileProvider; import samples.stock.StockQuoteService; import samples.stock.StockQuoteServiceService; import samples.stock.StockQuoteServiceServiceLocator; /** * @author linzq * * */ public class StockServiceClient { public static void main(String[] args) throws ServiceException, RemoteException { if (args.length == 0) { System.out.println("Usage:\njava StockServiceClient [symbol]"); return; } // 经测试OK,可以正常使用 // 使用client_deploy.wsdd来配置UsernameToken消息头 EngineConfiguration config = new FileProvider("src/samples/stock/client/usernametoken/client_deploy.wsdd"); StockQuoteServiceService locator = new StockQuoteServiceServiceLocator(config); String url = "http://localhost:9999/axis/services/stock-wss-01"; StockQuoteService service = null; try { service = locator.getStockWss01(new URL(url)); float quote = service.getQuote(args[0]); System.out.println("stock quote service returned " + args[0] + ": " + quote); } catch (Exception e) { e.printStackTrace(); } } }
deploy.wsdd文件配置:
<service name="stock-wss-01" provider="java:RPC" style="document" use="literal"> <requestFlow> <handler type="java:org.apache.ws.axis.security.WSDoAllReceiver"> <parameter name="passwordCallbackClass" value="samples.stock.PWCallback"/> <parameter name="action" value="UsernameToken"/> </handler> </requestFlow> <parameter name="wsdlTargetNamespace" value="http://localhost:8080/axis/services/stock-wss-01"/> <parameter name="wsdlServiceElement" value="StockQuoteServiceService"/> <parameter name="schemaQualified" value="http://localhost:8080/axis/services/stock-wss-01,http://stock.samples"/> <parameter name="wsdlServicePort" value="stock-wss-01"/> <parameter name="className" value="samples.stock.StockWss01SoapBindingImpl"/> <parameter name="wsdlPortType" value="StockQuoteService"/> <parameter name="typeMappingVersion" value="1.2"/> <operation name="getQuote" qname="getQuote" returnQName="retNS:getQuoteReturn" xmlns:retNS="http://localhost:8080/axis/services/stock-wss-01" returnType="rtns:float" xmlns:rtns="http://www.w3.org/2001/XMLSchema" soapAction="" > <parameter qname="pns:symbol" xmlns:pns="http://stock.samples" type="tns:string" xmlns:tns="http://www.w3.org/2001/XMLSchema"/> </operation> <parameter name="allowedMethods" value="getQuote"/> </service>
client_deploy.wsdd
<deployment xmlns="http://xml.apache.org/axis/wsdd/" xmlns:java="http://xml.apache.org/axis/wsdd/providers/java"> <transport name="http" pivot="java:org.apache.axis.transport.http.HTTPSender"/> <globalConfiguration > <requestFlow > <handler type="java:org.apache.ws.axis.security.WSDoAllSender" > <parameter name="action" value="UsernameToken"/> <parameter name="user" value="wss4j"/> <parameter name="passwordCallbackClass" value="samples.stock.client.usernametoken.PWCallback"/> <parameter name="passwordType" value="PasswordDigest"/> </handler> </requestFlow > </globalConfiguration > </deployment>
发表评论
-
客户端用https连接服务器的一点心得
2016-05-11 17:13 531转自:http://dannyyuan.blog.51ct ... -
解决PKIX:unable to find valid certification path to requested target 的问题
2016-05-11 17:11 911转自:http://blog.csdn.net/ ... -
Spring boot下自定义spring oauth2的授权页面
2016-05-06 17:48 22244自定义WhitelabelApprovalEndpoint ... -
xStream开发HTTP的XML内容
2013-07-03 09:58 10511、编写自定义XPPDriver代码: package ... -
AXIS2 开发示例
2013-06-28 17:10 1041实体类: 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前言 结构都是它本身所能产生效率的结果。任何一个成功 ... -
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 1551转自:http://www.arcwebservices.co ... -
[Java] Testing SOAP Headers with a Simple Axis Handler
2011-12-23 11:02 1152转自: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服务开发系列之十二: 实现安全的 ... -
实现Axis web service 的基本方式认证(BASIC)
2011-12-09 10:41 2185本文参考自:J2EE Web服务开发系列之十二: 实现安全的A ... -
生成SOAP消息示例
2011-09-27 11:36 11270调用 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 3732Axis1.4环境配置: 配置一些工具在命 ... -
axis2 学习(rpc)
2011-04-15 16:03 2142刚开始学习时,可不必考虑某些包的功能。我当前是把所有的包都导进 ... -
xfire 学习
2011-04-14 13:45 819我
相关推荐
4. **依赖库**:Axis1.4可能依赖于其他Apache项目,如Apache Ant用于构建任务,或者JAXB(Java Architecture for XML Binding)用于XML数据绑定。 5. **配置文件**:如server.xml和axis.properties,这些文件控制...
Axis1.4是Apache软件基金会提供的一个开源工具,专门用于处理Web服务,特别是基于SOAP(Simple Object Access Protocol)的Web服务。本文将深入探讨如何使用Axis1.4生成客户端,以及与之相关的知识点。 1. **Web...
由于题目提及的是Axis1.4,这是一个基于JAX-RPC的Web服务实现,主要用于创建SOAP服务。 2. **集成 Axis1.4**:首先,你需要在Spring Boot的`pom.xml`文件中添加Axis1.4的依赖。这通常意味着你需要手动添加Axis的库...
11. **安全**:虽然Axis1.4本身不包含高级的安全特性,但它可以与其他安全框架(如Spring Security或WS-Security)集成,以实现身份验证、授权和消息加密。 12. **调试与日志**:Axis1.4提供了丰富的日志记录和调试...
Axis1.4是Apache组织提供的一款基于Java的Web服务框架,它允许开发者轻松地创建、发布和调用Web服务。本文将深入探讨如何使用Axis1.4.jar包以及Eclipse IDE来实现WSDL(Web Service Description Language)和服务端...
Apache Axis1.4主要基于SOAP(Simple Object Access Protocol)协议,它提供了一种简单的方式来实现基于XML的分布式计算。此框架允许开发者将Java类转换为Web服务,反之亦然,极大地简化了Web服务的开发过程。其核心...
在本文中,我们将深入探讨如何在Spring Boot项目中集成并使用Axis1.4来发布Web服务。Spring Boot以其简化配置和快速开发能力而受到广泛欢迎,而Axis1.4是Apache软件基金会的一个开源项目,主要用于生成和消费SOAP ...
5. **测试服务**:创建一个客户端测试程序,使用Axis1.4的`java2wsdl`工具生成客户端代码,然后调用服务并验证结果。 在“axis1Test”这个文件中,可能包含了上述步骤中生成的各种文件,比如Java服务类、WSDL文档、...
AXIS1.4是Apache软件基金会开发的一个开源Java库,用于构建和使用Web服务。它提供了在Java平台上创建Web服务的工具和API,使得开发者能够快速实现SOAP(Simple Object Access Protocol)通信。在这个"AXIS1.4 ...
四、Apache Axis1.4与Web服务开发 在Web服务开发中,通常会涉及到以下概念: 1. **WSDL**:定义服务的接口、操作、消息格式以及服务的位置。它是服务消费者理解服务的关键。 2. **UDDI(Universal Description, ...
2. **依赖的第三方库**:为了支持各种功能,Axis2依赖于许多第三方库,如log4j.jar(日志)、wsdl4j.jar(WSDL处理)等。 3. **示例和服务**:可能包含一些示例服务和配置文件,帮助用户快速理解和启动服务。 4. **...
当我们需要在Spring Boot项目中集成旧版的 Axis1.4 来发布Web服务时,这通常涉及到对传统SOAP(简单对象访问协议)服务的支持。以下将详细讲解如何在Spring Boot应用中集成Axis1.4以及使用wsdd文件发布Web服务。 ...
总结起来,这个"axis1.4 + document/literal 实例"提供了一个学习如何使用Axis 1.4框架创建和调用基于document/literal绑定的Web服务的机会。通过分析和实践提供的客户端和服务端代码,开发者可以加深对Web服务原理...
标题 "axis1.4+activation.jar+mail.jar" 指涉的是一个基于Java的Web服务开发工具包,Axis1.4,以及两个必要的库文件:activation.jar和mail.jar。这些组件在Java应用程序中,尤其是涉及到网络通信和邮件处理时扮演...
在IT行业中,Web服务是一种基于互联网的标准协议,用于应用程序之间的通信。Axis1.4是Apache软件基金会提供的一个开源工具,专门用于开发和部署Web服务。本教程将详细讲解如何使用Axis1.4进行Web服务的开发,包括...
9. **安全考虑**:尽管XMLSec提供了加密和签名功能,但 Axis1.4 在安全性方面可能不如更新的框架强大。在实际应用中,还需要考虑其他安全措施,如HTTPS、WS-Security等。 10. **兼容性和迁移**:由于Axis1.4相对较...
axis1.4 源码包,亲测,好用,放心下载,不必再进行反编译工作
4. **客户端调用**:在AXIS1.4中,客户端调用Web服务的过程包括以下步骤: - **生成Stub类**:使用wsdl2java工具,根据服务的WSDL描述文件生成Java客户端存根(Stub)类。 - **配置客户端**:设置必要的SOAP头信息...
这个框架是基于早期的Axis版本,即Axis1.x系列,而Axis1.4是其中的一个稳定版本,发布于2007年,提供了许多对SOAP(简单对象访问协议)和WSDL(Web服务描述语言)的支持。 在Web服务领域,Axis1.4扮演着关键角色,...
在 Axis1.4 中传递复杂类型数组参数,涉及到的是 Web 服务中的数据绑定和消息处理。Axis 是一个开源的 SOAP 库,它允许开发者创建、部署和使用 Web 服务。在处理复杂类型数组时,ArrayMapping 是 Axis 中的一个关键...