WEBSERVICE接口实例说明文档

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

WebService接口说明文档

文档说明

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

准备工作

系统环境:安装JDK1.6或更新版本

开发工具:Microsoft Visual Studio2012、MyEclipse10.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();

}

}

}

相关文档
最新文档