- 浏览: 1507630 次
- 性别:
- 来自: 厦门
文章分类
- 全部博客 (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配置
Axis1.4环境配置:
配置一些工具在命令行中的运行环境:
AXIS_CLASSPATH 的值就是下面贴出来的内容:
%AXIS_HOME%/lib/axis.jar; %AXIS_HOME%/lib/axis-ant.jar; %AXIS_HOME%/lib/commons-discovery-0.2.jar; %AXIS_HOME%/lib/commons-logging-1.0.4.jar; %AXIS_HOME%/lib/jaxrpc.jar; %AXIS_HOME%/lib/log4j-1.2.8.jar; %AXIS_HOME%/lib/wsdl4j-1.5.1.jar; %AXIS_HOME%/lib/activation-1.1.jar; %AXIS_HOME%/lib/mail-1.4.jar; %AXIS_HOME%/lib/resolver.jar; %AXIS_HOME%/lib/saaj.jar; %AXIS_HOME%/lib/serializer.jar; %AXIS_HOME%/lib/xercesImpl.jar; %AXIS_HOME%/lib/xml-apis.jar;
Bean类的代码:
package samples.userguide.example5; /** * This is a JavaBean which represents an order for some products. * * @author Glen Daniels (gdaniels@apache.org) */ public class Order { /** Who's ordering */ private String customerName; /** Where do they live */ private String shippingAddress; /** Which items do we want */ private String itemCodes[]; /** And how many */ private int quantities[]; // Bean accessors public String getCustomerName() { return customerName; } public void setCustomerName(String name) { customerName = name; } public String getShippingAddress() { return shippingAddress; } public void setShippingAddress(String address) { shippingAddress = address; } public String[] getItemCodes() { return itemCodes; } public void setItemCodes(String[] items) { itemCodes = items; } public int[] getQuantities() { return quantities; } public void setQuantities(int[] quants) { quantities = quants; } }
服务端代码:
package samples.userguide.example5; public class ArrayService { public String processOrders(Order[] orders) { String s = ""; if (orders != null && orders.length > 0) { s += "订单数组中共有" + orders.length + "元素\n"; for (Order order : orders) { s += "名称:" + order.getCustomerName() + ",地址:" + order.getShippingAddress() + "\n"; } } return s; } }
布署的配置文件deploy.wsdd ,这个文件是存放在 %WEB_APP%/WEB-INF/deploy.wsdd :
<deployment xmlns="http://xml.apache.org/axis/wsdd/" xmlns:java="http://xml.apache.org/axis/wsdd/providers/java"> <service name="OrdersProcessor" provider="java:RPC"> <parameter name="className" value="samples.userguide.example5.ArrayService"/> <parameter name="allowedMethods" value="*"/> <beanMapping qname="myNS:Order" xmlns:myNS="urn:BeanService" languageSpecificType="java:samples.userguide.example5.Order"/> <arrayMapping qname="myNS:OrderArray" xmlns:myNS="urn:ArrayService" languageSpecificType="java:samples.userguide.example5.Order[]" innerType="myNS:Order" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> </service> </deployment>
其实配置文件这里只需要针对复杂类型(Order类)进行手动配置即可,而不需要对数组再次定义。
生成server-config.wsdd,假设我们的WEB项目目录为D:\workspace-java\axis1\web
那么我们生成server-config.wsdd的命令为:
D:\workspace-java\axis1\web\WEB-INF>java -classpath %CLASSPATH% org.apache.axis.client.AdminClient -l http://localhost:8080/axis/services/OrdersProcessor deploy.wsdd
启动TCPMON(监控程序)
启动监控控制台,命令如下:
D:\>java -classpath %CLASSPATH% org.apache.axis.utils.tcpmon 9999 localhost 8080
接下来,如果我们在客户端访问web service时使用9999端口时,它将通过tcpmon代理并转发到tomcat的8080端口上。使用tcpmon工具有一个好处是可以看到所有web service交互的信封(envelope)。
客户端程序代码:
package samples.userguide.example5;
import java.rmi.RemoteException;
import javax.xml.namespace.QName;
import javax.xml.rpc.ParameterMode;
import javax.xml.rpc.ServiceException;
import org.apache.axis.client.Call;
import org.apache.axis.client.Service;
import org.apache.axis.encoding.XMLType;
public class ArrayClient {
public static void main(String[] args) throws ServiceException,
RemoteException {
String url = "http://localhost:9999/axis/services/OrdersProcessor";
Order[] orders = new Order[5];
for (int i = 0; i < 5; i++) {
Order order = new Order();
order.setCustomerName("customer name " + i);
order.setShippingAddress("shipping address " + i);
orders[i] = order;
}
Service service = new Service();
Call call = (Call) service.createCall();
QName qn1 = new QName("urn:ArrayService", "OrderArray");
QName qn2 = new QName("urn:BeanService", "Order");
call.registerTypeMapping(Order.class, qn2,
new org.apache.axis.encoding.ser.BeanSerializerFactory(
Order.class, qn2),
new org.apache.axis.encoding.ser.BeanDeserializerFactory(
Order.class, qn2));
call.setTargetEndpointAddress(url);
Object[] arg1 = new Object[] { orders };
call.setOperationName(new QName("OrdersProcessor", "processOrders"));
call.addParameter("arg0", XMLType.SOAP_ARRAY
, ParameterMode.IN);
call.setReturnType(XMLType.XSD_STRING);
String result = (String) call.invoke(arg1);
System.out.println(result);
}
}
需要注意的是客户端要传入一个数组,因此需要使用数组的SOAP定义( XMLType.SOAP_ARRAY )。
发表评论
-
xStream开发HTTP的XML内容
2013-07-03 09:58 10261、编写自定义XPPDriver代码: package ... -
AXIS2 开发示例
2013-06-28 17:10 1014实体类: package com.mport.entity ... -
HttpURLConnection or URLConnection post xml content to web server
2013-05-31 01:56 2025客户端示例1: package client; ... -
Axis2 体系结构
2012-06-19 12:34 967前言 结构都是它本身所能产生效率的结果。任何一个成功 ... -
Axis 1.4 基于wss4j UsernameToken 的安全验证
2011-12-30 17:24 2432利用以下的wsdl文件生成客户端及服务端代码: < ... -
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 2157本文参考自:J2EE Web服务开发系列之十二: 实现安全的A ... -
生成SOAP消息示例
2011-09-27 11:36 11229调用 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 % ... -
axis2 学习(rpc)
2011-04-15 16:03 2111刚开始学习时,可不必考虑某些包的功能。我当前是把所有的包都导进 ... -
xfire 学习
2011-04-14 13:45 789我 -
学习dom4j的jaxb实现(半成品)
2011-03-08 16:47 1242primer.xml <?xml version=&q ... -
使用dom4j修改xml元素
2011-02-21 15:47 12226预先编写一个xml文件book ... -
使用 dom4j编写一个简单输出到文件的例子
2011-02-21 15:03 1062代码编写是参考这篇文档: http://blog.csd ...
相关推荐
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个人学习笔记
1. 将lib包下的所有的jar包,添加到classpath中。 2. 运行命令: java org.apache.axis.wsdl.WSDL2Java -u http://xxxxxx?wsdl -p com.webservice.wsdl -t -u 要访问的webservice的地址标准的wsdl文件 -p 生成...
axis1.4框架。是目前最稳定,使用最广泛的版本。用于webservice开发实例