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
点击下一步
继续下一步,直到完成。
3.webservice创建完毕后会发现WEB-INF下的lib目录中增加了6个AXIS的jar包,和其它一些自动生成的相关配置文件;
4.测试web service:右击HelloWorld.wsdl---Web Services---Test with Web Services Explorer---点击方法名querySingle----输入参数abc,def,ghi,jkl---点go.此时会发现控制台输出Hello,abc,def, ghi, jkl,说明测试成功。WebService没有问题。
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包,希望可以帮助各位新手入门!
相关推荐
Tomcat+Axis+WebService 入门实例,讲述如何实现WebService的传递信息,
Axis的入门实例 Axis复杂对象类型的WebService Axis的辅助工具发布、调用WebService Axis WebService会话Session的管理 Axis用控制台Dos命令发布WebService Axis跨多个WebService管理Session Axis用Spring的...
Axis的入门实例 Axis复杂对象类型的WebService Axis的辅助工具发布、调用WebService Axis WebService会话Session的管理 Axis用控制台Dos命令发布WebService Axis跨多个WebService管理Session Axis用Spring的JavaBean...
WebService大讲堂之Axis2,多个实例,非常全的文档,从新手入门开始到复杂的实例
Axis的简单入门实例 Axis的jws发布WebService Axis的wsdd模式发布WebService Axis中传递复杂对象和内部类 Axis中的handler、chain的特性 Axis中处理异常信息 Axis中传递文件信息 Axis常用命令介绍 Axis 提供的工具和...
Axis 的入门实例 Axis 复杂对象类型的WebService Axis 的辅助工具发布、调用WebService Axis WebService 会话Session 的管理 Axis 用控制台Dos 命令发布WebService Axis 跨多个WebService 管理Session Axis 用Spring...
AXIS2入门+进阶+webservice实例。共3个文档。
Axis的入门实例 Axis复杂对象类型的WebService Axis的辅助工具发布、调用WebService AxisWebService会话Session的管理 Axis用控制台Dos命令发布WebService Axis跨多个WebService管理Session Axis用Spring的JavaBean...
最近接触到一个银行接口的案子,临时需要用到axis2 webservice。自己现学现总结的一些东西,留给新手。少走弯路。 Axis2简介 ①采用名为 AXIOM(AXIs Object Model)的新核心 XML 处理模型,利用新的XML解析器提供...
最简单的webservice的例子,包括服务端与客户端,有axis、xfire的两种方式的实现
用axis2开发Web Services,内容包括环境搭建,插件安装,以及用axis2开发Web Services的详细步骤及实例程序;
axis使得webservice相当简单,半天就可以精通
包括Axis开发Webservice所需要的四个开发包:axis-bin-1_4.zip、jaf-1_1-fr.zip、javamail-1_4.zip、xml-security-bin-1_3_0.zip;另有开发环境的搭建和入门实例学习。
axis学习资料汇总: Axis实例与分析详解; Axis学习笔记.pdf; Tomcat5.0.28下AXIS完全安装手册.doc; Axis1.4 开发指南_V1.0.pdf; AXIS入门及应用.rar; Axis开发Web+Services.doc 等等
Web Services实例,初学者入门,Web Services using Apache Axis2- Sample