用axis发布web services (三)
2007-01-17 08:51 P.M.
一、对象参数的传递
首先是我们要传输的变量对象Order,代码如下:
package samples.userguide.example5;
public class Order
{
private String customerName;
private String shippingAddress;
public String getCustomerName()
{ return customerName; }
public void setCustomerName(String name)
{ customerName = name; }
}
要发布的services的代码如下:
package samples.userguide.example5;
public class BeanService
{
public Order getNewOrder(Order order)
{
order.setCustomerName("liuyujun");
return order;
}
}
然后我们只要在配置文件server-config.wsdd里加入下面这段就可以发布了
<service name="OrderProcessor" provider="java:RPC">
<parameter name="className" value="samples.userguide.example5.BeanService"/>
<parameter name="allowedMethods" value="*"/>
<beanMapping qname="myNS:Order" xmlns:myNS="urn:BeanService" languageSpecificType="java:samples.userguide.example5.Order"/>
</service>
特别要注意多了beanMapping这部分,qname指明我们用自己命名空间里的哪个对象,xmlns:myNS则指明了我们的命名空间,后面还一个指明了用到的对象类。
客户端调用程序:
package samples.userguide.example5;
public class Client
{
private final static String targetEndpointAddress = "http://localhost:8080/axis/services/OrderProcessor";
private final static QName qn = new QName( "urn:BeanService", "Order" );
public static void main(String [] args) throws Exception
{
//创建一个参数对象
Order order = new Order();
order.setCustomerName("Glen Daniels");
Service service = new Service();
Call call = (Call) service.createCall();
//注册对象类型
call.registerTypeMapping(Order.class, qn,
new org.apache.axis.encoding.ser.
BeanSerializerFactory(Order.class, qn),
new org.apache.axis.encoding.ser.
BeanDeserializerFactory(Order.class, qn));
call.setTargetEndpointAddress(new java.net.URL(targetEndpointAddress));
call.setOperationName(new QName("OrderProcessor", "getNewOrder"));
call.addParameter("order", qn, ParameterMode.IN);
call.setReturnType(qn, Order.class);
Order newOrder = (Order) call.invoke(new Object[] {order});
System.out.println("new custname:"+newOrder.getCustomerName());
}
}
这样就能看到返回的效果了;
二、获得访问者信息
MessageContext context = MessageContext.getCurrentContext();
HttpServletRequest req = (HttpServletRequest) context.getProperty(HTTPConstants.MC_HTTP_SERVLETREQUEST);
这样就可以得到ruquest对象获得相关信息了,当然request的有些功能是用不了的,比如,getSession就是无效的
Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=663087
分享到:
相关推荐
标题“Axis发布Web服务”指的是使用Apache Axis框架创建并部署Web服务的过程。Apache Axis是Java平台上的一款开源工具,专门用于构建和部署Web服务。它基于SOAP(Simple Object Access Protocol),使得不同应用程序...
包括3本Axis2的书(英文),實為2本(第1本有关于CXF(前身XFire)的内容為第三本的第三版) 1.Developing Web Services with Apache CXF and Axis2, 3rd Edition 2.Packt.Publishing.Quickstart.Apache.Axis2 3....
Extensive and detailed coverage of the enterprise ready Apache Axis2 Web Services / SOAP / WSDL engine. Attain a more flexible and extensible framework with the world class Axis2 architecture. Learn ...
#### 三、WebServices发布方式 AXIS提供了两种WebServices发布方式: 1. **即时发布(Instant Deployment)**:这是一种非常简便的发布方式,只需将`.java`文件后缀改为`.jws`,并将其放置在Tomcat的`axis`目录下...
Java 中,使用axis来实现webServices 里面包含Word详细说明使用webservices的步骤, 看了就会啦, 使用webServicers里面jar ,和工具都包含在里面。。。 如果你要实现webservies的话, 不看后悔死你。。。。
Chapter 1, Apache Web Services and Axis2 - Gives you an introduction to web services and the web service stack at Apache. Chapter 2, Looking inside Axis2 - Learn about Axis2 architecture and the ...
通过安装必要的软件(JDK、Axis、Tomcat)、配置环境变量、测试安装以及使用即时发布功能发布Web服务,可以有效地利用Axis来构建和部署基于SOAP协议的Web服务。对于开发者来说,掌握这些知识点能够帮助他们在实际...
本篇文章将详细解析如何使用Apache Axis来部署Web Services,这是一款广泛使用的开源工具,用于生成和消费Web Services。 首先,我们需要了解Web Services的基本概念。Web Services通过WSDL(Web Service ...
标题:"axis开发webservices" 描述:"这是关于axis开发webservices的完整资料" ### Axis与Web Services:构建SOAP Web服务 Axis是Apache软件基金会提供的一款开源工具,用于在Java环境中实现Web服务,支持SOAP...
【Axis2发布Web服务方法详解】 Apache Axis2是一款先进的Web服务引擎,它是Axis1.x的重新设计和升级版,提供了对SOAP1.1和SOAP1.2的支持,并且集成了RESTful Web服务、Spring框架以及JSON等技术。本教程将详细介绍...
2. `webServices发布.doc` - 这很可能是教程文档,包含了详细的步骤和指南,解释如何使用Axis发布Web服务。用户可以在这里找到关于设置环境、编写服务接口、生成WSDL文件以及部署服务的具体信息。 3. `...
### 使用Apache Axis开发Web Services 步骤详解 #### 一、环境准备 在开始使用Apache Axis开发Web Services之前,需要确保开发环境已经搭建好。本文档将详细介绍如何配置必要的环境。 **1.1 软件下载准备** - **...
axis 实现 web services java 实例 webservices 参考:http://blog.csdn.net/chinarenzhou/article/details/7609953
本示例将详细介绍如何使用JAX-WS(Java API for XML Web Services)发布Web服务,并利用Axis2作为客户端获取Web服务的数据。 首先,让我们深入理解JAX-WS。JAX-WS是Java平台的标准组件,它简化了创建和消费Web服务...
文档中提到不使用上传服务的方式,而是直接将`.aar`文件复制到`%TOMCAT_HOME%/webapps/axis2/WEB-INF/services`目录下。这种方式更适用于对Web服务进行直接的管理和部署。 #### 三、自定义Web服务的建立 1. **需求...
2. **生成服务描述文件(WSDL)**:基于服务类,使用Axis2工具生成WSDL(Web Services Description Language)文件,描述服务的接口、操作和绑定。 3. **创建服务 Archive (AAR) 文件**:将服务类、依赖库和WSDL打包...
单位刚好有这么一个项目需要于客户端中调用webServices,整理了下资料发上来希望对大家有用。 axis 1.4 一共是三种方式调用: 1传递参数String,得到String 2传递参数String,得到对象Users 3传递对象Users,得到...
使用Axis技术开发。 其中包含webservices开发,以及webservices调用。 运行项目后输入:http://localhost:8080/webserviceDemo/services/helloService?wsdl 显示报文信息 输入:...
### Axis2集成Spring发布WebServices服务 #### 一、概览 在当今的企业级应用开发中,集成多种技术框架以实现高效稳定的服务交互是常见需求之一。Axis2作为一款高性能的开源Web服务栈,提供了丰富的功能来支持SOAP、...