- 浏览: 1529018 次
- 性别:
- 来自: 厦门
文章分类
- 全部博客 (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 10591、编写自定义XPPDriver代码: package ... -
AXIS2 开发示例
2013-06-28 17:10 1050实体类: package com.mport.entity ... -
HttpURLConnection or URLConnection post xml content to web server
2013-05-31 01:56 2064客户端示例1: package client; ... -
Axis2 体系结构
2012-06-19 12:34 1010前言 结构都是它本身所能产生效率的结果。任何一个成功 ... -
Axis 1.4 基于wss4j UsernameToken 的安全验证
2011-12-30 17:24 2470利用以下的wsdl文件生成客户端及服务端代码: < ... -
wss4j和axis2实现WS-Security(2)
2011-12-29 12:13 1091转自:http://hi.baidu.com/zhaopeng ... -
wss4j和axis2实现WS-Security(1)
2011-12-29 11:31 1201转自:http://hi.baidu.com/zhaopeng ... -
Using WS-Security with Axis (Java) v2006
2011-12-23 11:24 1562转自:http://www.arcwebservices.co ... -
[Java] Testing SOAP Headers with a Simple Axis Handler
2011-12-23 11:02 1165转自:http://weblogs.asp.net/jdanf ... -
Axis 1.4 将WSDL文件逆向后String数组只变成String
2011-12-22 08:26 2040这些天在对一个项目扩展功能时使用Axis 1. ... -
实现Axis web service 的数字证书认证(CLIENT-CERT)
2011-12-09 12:28 3733本文参考自:J2EE Web服务开发系列之十二: 实现安全的 ... -
实现Axis web service 的基本方式认证(BASIC)
2011-12-09 10:41 2190本文参考自:J2EE Web服务开发系列之十二: 实现安全的A ... -
生成SOAP消息示例
2011-09-27 11:36 11283调用 web service 时生成soap消息的区别, ... -
Axis 1.4 上传二进制文件(base64Binary)
2011-04-22 16:32 2045服务端代码: package samples.userg ... -
Axis 1.4 WSDL2Java、Java2WSDL的使用
2011-04-21 16:52 3446d:>java -classpath % ... -
axis2 学习(rpc)
2011-04-15 16:03 2157刚开始学习时,可不必考虑某些包的功能。我当前是把所有的包都导进 ... -
xfire 学习
2011-04-14 13:45 831我 -
学习dom4j的jaxb实现(半成品)
2011-03-08 16:47 1286primer.xml <?xml version=&q ... -
使用dom4j修改xml元素
2011-02-21 15:47 12272预先编写一个xml文件book ... -
使用 dom4j编写一个简单输出到文件的例子
2011-02-21 15:03 1103代码编写是参考这篇文档: http://blog.csd ...
相关推荐
标题“axis1.4完整包下载”表明我们关注的是Apache Axis的1.4版本,这是一个较早但仍然在某些环境中使用的版本。 在描述中提到,“包含Axis1.4的所有完整包”,这意味着下载包中包含了运行和开发SOAP Web服务所需的...
- WSDL2Java和Java2WSDL工具:这两个工具是Axis1.4的核心部分,它们帮助开发者在WSDL和Java代码之间转换。 - JAX-WS(Java API for XML Web Services):这是Java平台标准,用于创建和处理Web服务,它是Axis2的...
2. **集成 Axis1.4**:首先,你需要在Spring Boot的`pom.xml`文件中添加Axis1.4的依赖。这通常意味着你需要手动添加Axis的库,因为Spring Boot默认并不包含对Axis的支持。你需要找到Axis1.4的Maven坐标,并在`...
在这个"WebService Axis1.4接口服务序列/反序列复杂项目实例"中,我们将深入探讨如何在 Axis1.4 中处理复杂的参数、自定义实体对象的序列化与反序列化,以及客户端的复杂调用。 首先,让我们理解序列化和反序列化的...
在Axis1.4中,可以通过WSDL文件来生成服务实现或客户端代理类。 4. **服务发布**:使用Axis1.4,开发者可以轻松地将Java类发布为Web服务。只需简单的配置和几步操作,就能将业务逻辑暴露为可供其他系统调用的服务。...
虽然可以直接通过命令行使用Axis1.4工具,但在Eclipse中安装Axis1.4插件可以使过程更加便捷。通过Eclipse的“帮助” -> “安装新软件”,添加Axis1.4的更新站点,然后按照提示安装。安装完成后,你可以在Eclipse中...
在这个"AXIS1.4 WebService服务端和客户端例子"中,我们将深入探讨如何使用AXIS1.4搭建服务端和客户端,以及如何进行远程调用。 首先,让我们从服务端开始。服务端是提供Web服务的系统,它可以接收客户端的请求并...
在本文中,我们将深入探讨如何在Spring Boot项目中集成并使用Axis1.4来发布Web服务。Spring Boot以其简化配置和快速开发能力而受到广泛欢迎,而Axis1.4是Apache软件基金会的一个开源项目,主要用于生成和消费SOAP ...
在实际开发中,Apache Axis1.4常用于企业级应用集成,例如B2B系统之间的数据交换,或者为现有Java应用程序提供Web服务接口。它也可以与EJB、Spring等框架集成,构建复杂的分布式系统。 总结,Apache Axis1.4虽已...
1. **安装Axis1.4**:下载并解压Axis1.4的发行版,将其添加到系统路径中。 2. **创建Java服务类**:编写提供Web服务功能的Java类,通常包含一些公共方法。 3. **生成WSDL**:使用Axis1.4提供的`wsdl2java`工具,从...
在 Axis 中,SAAJ 用于处理带有附件的 SOAP 消息,如发送和接收复杂数据类型。 3. **jaxrpc.jar**:Java API for XML-based RPC(JAX-RPC)允许 Java 应用程序使用简单的调用风格来处理远程过程调用(RPC),这些...
当我们需要在Spring Boot项目中集成旧版的 Axis1.4 来发布Web服务时,这通常涉及到对传统SOAP(简单对象访问协议)服务的支持。以下将详细讲解如何在Spring Boot应用中集成Axis1.4以及使用wsdd文件发布Web服务。 ...
了解并熟练使用Axis1.4和Axis2的相关jar文件,对于开发和维护Web服务至关重要。这不仅可以帮助开发者快速构建服务,还能确保与现有系统和其他Web服务的互操作性。在实际项目中,应根据具体需求选择适合的版本,同时...
在这个“axis1.4 + document/literal 实例”中,我们将深入探讨Axis 1.4框架下的document/literal绑定模式。 首先,让我们理解什么是Axis 1.4。Axis 1.4是Axis的一个早期版本,它提供了一套工具和服务,使得开发者...
Apache Axis1.4是一个开源工具,它允许开发者在Java环境中轻松地构建和部署Web服务。这个工具集为XML-RPC和SOAP提供了客户端和服务端的实现,极大地简化了分布式应用程序的开发。 1. **SOAP协议**:SOAP是一种基于...
在压缩包文件名称列表中,"axis-bin-1_4.tar.gz"很可能包含了Axis1.4的完整二进制分发包,包括运行和部署Web服务所需的全部文件。而单独的"mail.jar"和"activation.jar"文件,通常需要与Axis1.4一起部署,以提供完整...
总结,Apache Axis1.4虽然已经不再得到官方支持,但它见证了Web服务发展的早期阶段,其设计理念和实现方式在现代Web服务框架中仍然有所体现。了解并研究Axis1.4的历史,有助于我们更好地理解和使用现在的Web服务技术...
在实际应用中, Axis1.4还可以与其他Java EE组件如EJB、JMS等结合,实现更复杂的业务逻辑。同时,由于Axis1.4支持WS-I(Web Services Interoperability)规范,因此可以保证跨平台、跨语言的互操作性。 总的来说,...
在Axis1.4中,`mail.jar`和`activation-1.1.jar`是两个关键的依赖库,它们在Web服务通信中扮演着重要角色。 1. **mail.jar**: 这个JAR文件包含了JavaMail API,是一个用于处理电子邮件的开放源代码API。在Web服务中...