- 浏览: 1507392 次
- 性别:
- 来自: 厦门
文章分类
- 全部博客 (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 501转自:http://dannyyuan.blog.51ct ... -
解决PKIX:unable to find valid certification path to requested target 的问题
2016-05-11 17:11 885转自:http://blog.csdn.net/ ... -
Spring boot下自定义spring oauth2的授权页面
2016-05-06 17:48 22194自定义WhitelabelApprovalEndpoint ... -
xStream开发HTTP的XML内容
2013-07-03 09:58 10261、编写自定义XPPDriver代码: package ... -
AXIS2 开发示例
2013-06-28 17:10 1013实体类: package com.mport.entity ... -
HttpURLConnection or URLConnection post xml content to web server
2013-05-31 01:56 2024客户端示例1: package client; ... -
Axis2 体系结构
2012-06-19 12:34 966前言 结构都是它本身所能产生效率的结果。任何一个成功 ... -
wss4j和axis2实现WS-Security(2)
2011-12-29 12:13 1054转自:http://hi.baidu.com/zhaopeng ... -
wss4j和axis2实现WS-Security(1)
2011-12-29 11:31 1157转自:http://hi.baidu.com/zhaopeng ... -
Using WS-Security with Axis (Java) v2006
2011-12-23 11:24 1520转自:http://www.arcwebservices.co ... -
[Java] Testing SOAP Headers with a Simple Axis Handler
2011-12-23 11:02 1117转自:http://weblogs.asp.net/jdanf ... -
Axis 1.4 将WSDL文件逆向后String数组只变成String
2011-12-22 08:26 1959这些天在对一个项目扩展功能时使用Axis 1. ... -
实现Axis web service 的数字证书认证(CLIENT-CERT)
2011-12-09 12:28 3706本文参考自:J2EE Web服务开发系列之十二: 实现安全的 ... -
实现Axis web service 的基本方式认证(BASIC)
2011-12-09 10:41 2156本文参考自:J2EE Web服务开发系列之十二: 实现安全的A ... -
生成SOAP消息示例
2011-09-27 11:36 11228调用 web service 时生成soap消息的区别, ... -
Axis 1.4 上传二进制文件(base64Binary)
2011-04-22 16:32 2016服务端代码: package samples.userg ... -
Axis 1.4 WSDL2Java、Java2WSDL的使用
2011-04-21 16:52 3401d:>java -classpath % ... -
在axis1.4中传递复杂类型数组参数(ArrayMapping)
2011-04-21 11:50 3677Axis1.4环境配置: 配置一些工具在命 ... -
axis2 学习(rpc)
2011-04-15 16:03 2111刚开始学习时,可不必考虑某些包的功能。我当前是把所有的包都导进 ... -
xfire 学习
2011-04-14 13:45 789我
相关推荐
axis1.4完整包下载Apache Axis是一种SOAP(简单对象访问协议”)实现。 包含 Axis1.4的所有完整包。
axis1.4生成客户端 根据WSDL生成客户端和服务端
axis1.4和axis2相关jar文件,axis1.4和axis2相关jar文件
springboot 集成axis1.4的webservice,该为maven的工程
Axis1.4如何实现头部鉴权(包括实现类模板)
内有axis1.4jar包以及使用eclipse和axis1.4 将WSDL和服务端代码互转方法 亲测可用
axis1.4生成访问客户端代码
Axis1.4从服务端到客户端图文攻略,同时附赠Axis1.4 Jar包。 本攻略经过多次测试可靠耐用,并同时带有详细的文字说明,保证一学就会!从现在起axis不再是问题!让你爱上web service!
axis1.4的帮助文档,WEBService发布必备产品。
用于axis1.4开发webService。 文件包含,axis1.4.ZIP以及其他所需jar包,和生成webservice客户端,生成webService服务端发布 的详细教程说明。
Axis1.4开发指南 介绍Axis1.4的开发方式,并附上不少范例代码
Axis1.4开发指南.pdf axis-bin-1_4.zip axis相关文档 axis1.4 开发jar包
axis1.4学习示例(详细步骤说明)axis1.4
webservice axis1.4服务搭建
使用spring3+ cxf 3.4做服务方,Axis1.4做请求方,在调用的时候,通过转换cxf的wsdl格式为axis1.4的wsdl格式来达到调用的目的。
axis1.4 webservice个人学习笔记
本方法是用axis1.4技术,实现java客户端调用webservice。已经可实现过可行的,如果不行可加我QQ号302633进行详细解析。
axis1.4框架。是目前最稳定,使用最广泛的版本。用于webservice开发实例
java org.apache.axis.wsdl.WSDL2Java -u http://xxxxxx?wsdl -p com.webservice.wsdl -t -u 要访问的webservice的地址标准的wsdl文件 -p 生成java文件的包名 -t 生成的java文件中包含junit的测试代码。 详见...