`

用axis发布web services (三)

阅读更多
用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发布webservices

    标题“Axis发布Web服务”指的是使用Apache Axis框架创建并部署Web服务的过程。Apache Axis是Java平台上的一款开源工具,专门用于构建和部署Web服务。它基于SOAP(Simple Object Access Protocol),使得不同应用程序...

    Apache Axis2 Web Services的电子书

    包括3本Axis2的书(英文),實為2本(第1本有关于CXF(前身XFire)的内容為第三本的第三版) 1.Developing Web Services with Apache CXF and Axis2, 3rd Edition 2.Packt.Publishing.Quickstart.Apache.Axis2 3....

    Apache Axis2 Web Services, 2nd

    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 ...

    axis+webservices开发

    #### 三、WebServices发布方式 AXIS提供了两种WebServices发布方式: 1. **即时发布(Instant Deployment)**:这是一种非常简便的发布方式,只需将`.java`文件后缀改为`.jws`,并将其放置在Tomcat的`axis`目录下...

    使用axis实现web]Services服务

    Java 中,使用axis来实现webServices 里面包含Word详细说明使用webservices的步骤, 看了就会啦, 使用webServicers里面jar ,和工具都包含在里面。。。 如果你要实现webservies的话, 不看后悔死你。。。。

    Apache Axis2 Web Services, 2nd Edition.pdf

    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 ...

    应用Axis开发Web Services

    通过安装必要的软件(JDK、Axis、Tomcat)、配置环境变量、测试安装以及使用即时发布功能发布Web服务,可以有效地利用Axis来构建和部署基于SOAP协议的Web服务。对于开发者来说,掌握这些知识点能够帮助他们在实际...

    用axis布置webServices详细步骤

    本篇文章将详细解析如何使用Apache Axis来部署Web Services,这是一款广泛使用的开源工具,用于生成和消费Web Services。 首先,我们需要了解Web Services的基本概念。Web Services通过WSDL(Web Service ...

    axis开发webservices

    标题:"axis开发webservices" 描述:"这是关于axis开发webservices的完整资料" ### Axis与Web Services:构建SOAP Web服务 Axis是Apache软件基金会提供的一款开源工具,用于在Java环境中实现Web服务,支持SOAP...

    axis2发布webservices方法经典

    【Axis2发布Web服务方法详解】 Apache Axis2是一款先进的Web服务引擎,它是Axis1.x的重新设计和升级版,提供了对SOAP1.1和SOAP1.2的支持,并且集成了RESTful Web服务、Spring框架以及JSON等技术。本教程将详细介绍...

    axis发布webservice教程源代码

    2. `webServices发布.doc` - 这很可能是教程文档,包含了详细的步骤和指南,解释如何使用Axis发布Web服务。用户可以在这里找到关于设置环境、编写服务接口、生成WSDL文件以及部署服务的具体信息。 3. `...

    用Apache AXIS 开发 Web Services Step By Step

    ### 使用Apache Axis开发Web Services 步骤详解 #### 一、环境准备 在开始使用Apache Axis开发Web Services之前,需要确保开发环境已经搭建好。本文档将详细介绍如何配置必要的环境。 **1.1 软件下载准备** - **...

    axis 实现 web services java

    axis 实现 web services java 实例 webservices 参考:http://blog.csdn.net/chinarenzhou/article/details/7609953

    axis2 webservices 例子

    本示例将详细介绍如何使用JAX-WS(Java API for XML Web Services)发布Web服务,并利用Axis2作为客户端获取Web服务的数据。 首先,让我们深入理解JAX-WS。JAX-WS是Java平台的标准组件,它简化了创建和消费Web服务...

    axis开发webservices.doc

    文档中提到不使用上传服务的方式,而是直接将`.aar`文件复制到`%TOMCAT_HOME%/webapps/axis2/WEB-INF/services`目录下。这种方式更适用于对Web服务进行直接的管理和部署。 #### 三、自定义Web服务的建立 1. **需求...

    axis2发布webServices的两种方式

    2. **生成服务描述文件(WSDL)**:基于服务类,使用Axis2工具生成WSDL(Web Services Description Language)文件,描述服务的接口、操作和绑定。 3. **创建服务 Archive (AAR) 文件**:将服务类、依赖库和WSDL打包...

    java axis 调用 webServices

    单位刚好有这么一个项目需要于客户端中调用webServices,整理了下资料发上来希望对大家有用。 axis 1.4 一共是三种方式调用: 1传递参数String,得到String 2传递参数String,得到对象Users 3传递对象Users,得到...

    Axis开发WebServices与接口带入参报文调用WebServices实例Demo

    使用Axis技术开发。 其中包含webservices开发,以及webservices调用。 运行项目后输入:http://localhost:8080/webserviceDemo/services/helloService?wsdl 显示报文信息 输入:...

    Axis2集成Spring发布WebServices服务

    ### Axis2集成Spring发布WebServices服务 #### 一、概览 在当今的企业级应用开发中,集成多种技术框架以实现高效稳定的服务交互是常见需求之一。Axis2作为一款高性能的开源Web服务栈,提供了丰富的功能来支持SOAP、...

Global site tag (gtag.js) - Google Analytics