欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

WebService入门简单实例(采用AXIS的方式) 博客分类: webservicejavaaxis webservicejavaaxis 

程序员文章站 2024-03-25 17:54:52
...

1.在JAVAEE的环境下新建一web工程项目,之后在src下新建一个类如HelloWorld.java,内容如下:

public class HelloWorld {  
      
    public String querySingle(String userName_, String password_, String type_, String param_){  
        String resultStr="Hello," + userName_ + "," + password_ + ", " + type_ + ", " + param_;  
       
        System.out.println(resultStr);  
        return resultStr;  
    }  
}

 2.这个类将要扮演webservice服务端的角色,而querySingle这一方法即为webservice服务端所提供的接口方法。接下来创建webservice服务端,选择HelloWorld.java类右键新建web service

 WebService入门简单实例(采用AXIS的方式)
            
    
    博客分类: webservicejavaaxis webservicejavaaxis   

点击下一步

WebService入门简单实例(采用AXIS的方式)
            
    
    博客分类: webservicejavaaxis webservicejavaaxis 

继续下一步,直到完成。

3.webservice创建完毕后会发现WEB-INF下的lib目录中增加了6个AXIS的jar包,和其它一些自动生成的相关配置文件;

WebService入门简单实例(采用AXIS的方式)
            
    
    博客分类: webservicejavaaxis webservicejavaaxis 

4.测试web service:右击HelloWorld.wsdl---Web Services---Test with Web Services Explorer---点击方法名querySingle----输入参数abc,def,ghi,jkl---点go.此时会发现控制台输出Hello,abc,def, ghi, jkl,说明测试成功。WebService没有问题。 

 WebService入门简单实例(采用AXIS的方式)
            
    
    博客分类: webservicejavaaxis webservicejavaaxis 

5.编写客户端调用类,利用AXIS调用HelloWorld.代码如下:

import java.rmi.RemoteException;

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 HelloWorldTest {
    
    public String invokeRemoteFuc() {
        // 远程调用路径
        String endpoint = "http://localhost:8080/WebServiceTest/services/HelloWorld";
        String result = "call failed!";
        Service service = new Service();
        Call call;
        
        try {
            call = (Call) service.createCall();
            call.setTargetEndpointAddress(endpoint); 
            // 调用的方法名
            call.setOperationName("querySingle"); 
            
            // 设置参数名
            call.addParameter("userName_",   // 参数名
                    XMLType.XSD_STRING, // 参数类型:String
                    ParameterMode.IN);  // 参数模式:'IN' or 'OUT'
            call.addParameter("password_",   // 参数名
            		XMLType.XSD_STRING, // 参数类型:String
            		ParameterMode.IN);  // 参数模式:'IN' or 'OUT'
            call.addParameter("type_",   // 参数名
            		XMLType.XSD_STRING, // 参数类型:String
            		ParameterMode.IN);  // 参数模式:'IN' or 'OUT'
            call.addParameter("param_",   // 参数名
            		XMLType.XSD_STRING, // 参数类型:String
            		ParameterMode.IN);  // 参数模式:'IN' or 'OUT'

            // 设置返回值类型
            call.setReturnType(XMLType.XSD_STRING); // 返回值类型:String
            String userName_ = "qiangjiyi";
            String password_ = "123";
            String type_ = "456";
            String param_ = "789";
            result = (String) call.invoke(new Object[] { userName_, password_, type_, param_ });// 远程调用
        } catch (ServiceException e) {
            e.printStackTrace();
        } catch (RemoteException e) {
            e.printStackTrace();
        }
        
        return result;
    }

    // 测试
    public static void main(String[] args) {
        HelloWorldTest test = new HelloWorldTest();
        String result = test.invokeRemoteFuc();
        System.out.println(result);
    }

}

  注意:1、设置方法名和参数名的时候,必须与被调用的WebService保持一致;2、传递的参数需封装到一个Object数组里) 

6.测试:选中HelloWorldTest右键 ---Run as---Java application,如果发现控制台正确输出Hello,qiangjiyi,123, 456, 789.说明测试成功。 至此一个简单的webservice示例就算完事。

 

温馨提示:附件中包含有axis所需的jar包,希望可以帮助各位新手入门!

 

  • WebService入门简单实例(采用AXIS的方式)
            
    
    博客分类: webservicejavaaxis webservicejavaaxis 
  • 大小: 151.5 KB
  • WebService入门简单实例(采用AXIS的方式)
            
    
    博客分类: webservicejavaaxis webservicejavaaxis 
  • 大小: 301.4 KB
  • WebService入门简单实例(采用AXIS的方式)
            
    
    博客分类: webservicejavaaxis webservicejavaaxis 
  • 大小: 22.8 KB
  • WebService入门简单实例(采用AXIS的方式)
            
    
    博客分类: webservicejavaaxis webservicejavaaxis 
  • 大小: 211.3 KB
  • WebService入门简单实例(采用AXIS的方式)
            
    
    博客分类: webservicejavaaxis webservicejavaaxis 
  • 大小: 44.8 KB