使用Axis2建立WebService

Axis是apache重量级的WebService框架,虽然相比Xfire和CXF而言相对比较臃肿,但是企业中最常用的就是Axis,Axis2是Axis的升级版;

 
建立一个最简单的Axis2  WebService步骤如下:
 
前期准备;
 
下载Axis2的压缩包,解压,并配置到eclipse中
 
 
 
 
1.首先新建一个Dynamic web工程,修改配置属性
 
 
 
 
2.导入axis2的相关jar包到工程中。
 
 
3.新建工程后,像建立普通java程序一样新建一个java类,这里的java类实现了简单加法功能。
 
package com.zime.service;
public class Calculate {
    public int calculate(int num1, int num2){
        System.out.println("num1:  "+num1+"num2:"+num2);
        return num1+num2;
    }
}

 


 
 
4.选中编写好的java类,右击created WebService,
 
 
直接点下一步,启动tomcat成功的话就说明可以了,否则应检查错误原因。
 
 
这样,就建立好了一个简单的Axis2 WebService了。
 
 
 
 
至于如何调用WebService,以android手机调用为例:
 
首先还是导入相关的Axis2 jar包到android工程中,在manifest文件中添加andro手机的网络访问授权,主活动类的代码如下
 
 
 
package com.zime.client;
import org.ksoap2.SoapEnvelope;
import org.ksoap2.serialization.SoapObject;
import org.ksoap2.serialization.SoapSerializationEnvelope;
import org.ksoap2.transport.HttpTransportSE;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.Toast;
public class MainActivity extends Activity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        
        ((Button)findViewById(R.id.button1)).setOnClickListener(new OnClickListener() {
            
            @Override
            public void onClick(View arg0) {
                //步骤1:设置webservice的调用参数
                String wsdlUrl = "http://10.173.20.246:8080/CalculateWS/services/Calculate";
                String webMethod = "calculate";
                String namespace = "http://service.zime.com";
                String soapAction = namespace + webMethod;
                
                //步骤2:创建一个对象soapsubject
                SoapObject soapObject = new SoapObject(namespace, webMethod);
                
                //步骤3:传递参数
                soapObject.addProperty("num1", 1);
                soapObject.addProperty("num2", 2);
                
                //步骤4:创建一个SoapSerializationEnvelope
                SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
                
                //步骤5:设置一个传回对象
                envelope.bodyOut = soapObject;
                
                //步骤6:创建HttpTransportSE,用于传输数据
                HttpTransportSE se = new HttpTransportSE(wsdlUrl);
                try {
                    //步骤7:发送请求
                    se.call(soapAction, envelope);
                    //步骤8:获取从互联网返回的结果
                    if(envelope.getResponse() != null){
                        Object result = envelope.getResponse();
                        //测试:显示结果
                        Toast.makeText(MainActivity.this, result.toString(), 1).show();
                    }
                } catch (Exception e) {
                }
                
            }
        });
    }
    
}

 


 
如此,便实现了简单的Axis2  WebService创建和调用了。
posted @ 2014-07-04 12:29  kk~  阅读(237)  评论(0编辑  收藏  举报