当前位置:文档之家› WebService接口实例说明文档

WebService接口实例说明文档

WebService接口说明文档
文档说明
本文档主要讲述如何用C Sharp创建一个简单的Web Service接口,并使用Java调用这个Web Service接口。

准备工作
系统环境:安装JDK1.6或更新版本
开发工具:Microsoft Visual Studio 2012、MyEclipse 10.5、axis2-1.6.2
C Sharp服务端
1.首先,创建一个Web Service项目。

依次点击:文件—新建—项目,在弹出的新建项目窗口中选择
Web下的 空 Web 应用程序。

如下图:
2.接下来我们需要创建我们的Web Service接口实现文件。

鼠标右击我们的项目,依次点击:添加—新
建项,在弹出窗口中选择Web 服务。

可修改新建项的文件名,注意文件名后缀后.asmx。

如下图:
新建完成后我们的项目结构如下:
3.打开我们新建的MyService.asmx下的MyService.asmx.cs文件,可以看到其中已经有默认的Hello
World方法。

我们可以直接运行查看下运行的效果,效果如下图:
点击HelloWorld,再点击调用可以看到页面返回:
4.接下来我们完善我们的Web Service接口功能。

主要对Web Service接口进行参数类型的测试,文本
型、布尔型、数值型、类(Class)等。

新增Add()等运算方法:
新增strcat()连接字符串方法:
新增GetBool()返回布尔值方法:
新增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?WSDL
Java调用Web Service的方式有以下
1.使用HttpClient
2.使用Xfire
3.使用axis2
本文档示例选择的是axis2,首先到axis2网站下载axis2,网址:
/axis2/java/core/download.cgi当前最新版本1.6.2。

下载完成后解压。

打开命令提示符窗口,进入D:\axis2-1.6.2\bin运行wsdl2java.bat -
uri http://localhost:11766/MyService.asmx?WSDL -p ws.clinet.axis2
命令执行完后,会在当前目录下生成一个src目录:
wsdl2java 会根据WSDL文件生成web服务的调用接口,参数类,返回值的类。

在调用Web Service的时候直接实例化一个MyServiceStub的对象,然后调用Web服务的方法就可以了。

将src目录拷贝至我们Java项目的src中,把axis2-1.6.2\bin\lib中的jar包拷贝至我们Java项目中,准
备工作就完成了。

Java代码
ServiceClient.java
package com.upower.webservice;
import java.rmi.RemoteException;
import org.apache.axis2.AxisFault;
import ws.clinet.axis2.MyServiceStub;
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.HelloWorldResponse 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.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("姓名:" + 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接口实例说明结束!。

相关主题