《WebService接口实例说明文档.docx》由会员分享,可在线阅读,更多相关《WebService接口实例说明文档.docx(8页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、WebService接口说明文档文档说明本文档主要讲述如何用C Sharp创建一个简单的Web Service接口,并使用Java调用这个Web Service接口。准备工作系统环境:安装JDK1.6或更新版本开发工具:Microsoft Visual Studio 2012、MyEclipse 10.5、axis2-1.6.2C Sharp服务端1. 首先,创建一个Web Service项目。依次点击:文件新建项目,在弹出的新建项目窗口中选择Web下的ASP.NET 空 Web 应用程序。如下图:2. 接下来我们需要创建我们的Web Service接口实现文件。鼠标右击我们的项目,依次点击:
2、添加新建项,在弹出窗口中选择Web 服务。可修改新建项的文件名,注意文件名后缀后.asmx。如下图:新建完成后我们的项目结构如下:3. 打开我们新建的MyService.asmx下的MyService.asmx.cs文件,可以看到其中已经有默认的Hello World方法。我们可以直接运行查看下运行的效果,效果如下图:点击HelloWorld,再点击调用可以看到页面返回:4. 接下来我们完善我们的Web Service接口功能。主要对Web Service接口进行参数类型的测试,文本型、布尔型、数值型、类(Class)等。新增Add()等运算方法:新增strcat()连接字符串方法:新增Get
3、Bool()返回布尔值方法:新增GetTest()返回测试类,并新增Test类运行我们的项目,可以看到我们的结果如下图:点击add方法测试: 输入add的参数i和j点击调用按钮,可以看到返回计算结果: 5. 到此为止我们C Sharp创建的Web Service程序完成。接下来看Java如何调用我们的Web Service接口。Java调用Web Service准备对于一个Web Service接口我们当前只知道访问的地址,我们如何用Java去访问接口呢?已知Web Service接口地址:http:/localhost:11766/MyService.asmx?WSDLJava调用Web S
4、ervice的方式有以下1. 使用HttpClient2. 使用Xfire3. 使用axis2本文档示例选择的是axis2,首先到axis2网站下载axis2,网址:http:/axis.apache.org/axis2/java/core/download.cgi当前最新版本1.6.2。下载完成后解压。打开命令提示符窗口,进入D:axis2-1.6.2bin运行wsdl2java.bat-urihttp:/localhost:11766/MyService.asmx?WSDL-pws.clinet.axis2命令执行完后,会在当前目录下生成一个src目录: wsdl2java 会根据WSDL
5、文件生成web服务的调用接口,参数类,返回值的类。在调用Web Service的时候直接实例化一个MyServiceStub的对象,然后调用Web服务的方法就可以了。将src目录拷贝至我们Java项目的src中,把axis2-1.6.2binlib中的jar包拷贝至我们Java项目中,准备工作就完成了。Java代码ServiceClient.javapackage com.upower.webservice;import java.rmi.RemoteException;import org.apache.axis2.AxisFault;import ws.clinet.axis2.MySer
6、viceStub;public class ServiceClient static MyServiceStub stub = null;private static String wsdlUrl = http:/localhost:11766/MyService.asmx;public static void main(String args) try stub = new MyServiceStub(wsdlUrl);MyServiceStub.HelloWorld h = new MyServiceStub.HelloWorld();MyServiceStub.HelloWorldRes
7、ponse hr = stub.helloWorld(h);System.out.println(Hello World!程序测试!);System.out.println(输出: + hr.getHelloWorldResult();System.out.println();MyServiceStub.Add add = new MyServiceStub.Add();add.setI(100);add.setJ(130);MyServiceStub.AddResponse addr = stub.add(add);System.out.println(数值传输测试!);System.out
8、.println(加法:100+130= + addr.getAddResult();System.out.println();MyServiceStub.GetTest test = new MyServiceStub.GetTest();MyServiceStub.GetTestResponse testr = stub.getTest(test);MyServiceStub.Test t = new MyServiceStub.Test();t = testr.getGetTestResult();System.out.println(类测试!);System.out.println(姓
9、名: + t.getName();System.out.println(性别: + (t.getSex() ? 女 : 男);System.out.println(年龄: + t.getAge();System.out.println();MyServiceStub.Strcat st = new MyServiceStub.Strcat();st.setA(abc);st.setB(123);MyServiceStub.StrcatResponse str = stub.strcat(st);System.out.println(连接字符串:abc + 123= + str.getStrcatResult(); catch (AxisFault e) e.printStackTrace(); catch (RemoteException e) e.printStackTrace();运行ServiceClient.java之后查看输出结果:测试通信成功!Web Service接口实例说明结束!