Nc 开发webservice文档格式.docx

上传人:b****1 文档编号:3159729 上传时间:2023-05-01 格式:DOCX 页数:11 大小:709.62KB
下载 相关 举报
Nc 开发webservice文档格式.docx_第1页
第1页 / 共11页
Nc 开发webservice文档格式.docx_第2页
第2页 / 共11页
Nc 开发webservice文档格式.docx_第3页
第3页 / 共11页
Nc 开发webservice文档格式.docx_第4页
第4页 / 共11页
Nc 开发webservice文档格式.docx_第5页
第5页 / 共11页
Nc 开发webservice文档格式.docx_第6页
第6页 / 共11页
Nc 开发webservice文档格式.docx_第7页
第7页 / 共11页
Nc 开发webservice文档格式.docx_第8页
第8页 / 共11页
Nc 开发webservice文档格式.docx_第9页
第9页 / 共11页
Nc 开发webservice文档格式.docx_第10页
第10页 / 共11页
Nc 开发webservice文档格式.docx_第11页
第11页 / 共11页
亲,该文档总共11页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

Nc 开发webservice文档格式.docx

《Nc 开发webservice文档格式.docx》由会员分享,可在线阅读,更多相关《Nc 开发webservice文档格式.docx(11页珍藏版)》请在冰点文库上搜索。

Nc 开发webservice文档格式.docx

前身是ApacheSOAP,它通过如下方法来扩展了soap2.0的功能:

AXIS的关键功能和优势表现在速度(早期的SOAP的分析机制是基于DOM的,而AXIS是基于SAX的),灵活性(提供了在引擎中插入新扩展的功能,可以对头部信息的处理和系统管理进行定制,在WSDD中对服务,Handler对象和串行并行程序进行描述),面向组件展开(引入了链接chainable和Handler的概念),传输框架(SOAP可以建立在SMTP,FTP,HTTP等多种传输层协议上)。

Axis支持三种webservice的部署和开发,分别为:

  1、DynamicInvocationInterface(DII)

  2、DynamicProxy方式

  3、Stubs方式

对于前两种WebService的发布基本一样,客户端的访问也很类似,第一种发布就是直接将.java后缀改为.jws,并将生成的.class文件拷贝到WEB-INF/jwsclasses下面,这样的例子直接在Axis上就有,非常简单,但它也有缺陷,就是不适合程序部署和大型项目开发,而且不支持包(package)的形式,第三种是目前比较流行的方式,stub意思是树桩,意味着服务端和客户端都是通过桩的形式来完成访问的,即在服务端将java转换成wsdl,在客户端将wsdl装换成java,这样就实现了良好的桩的分离

3,创建一个Webservice服务。

在eclipse中创建一个动态的web工程。

New->

Project->

DynamicWebProject。

在TargetRuntime中设置服务,这里选择apache-tomcat-V5.5,并设置tomcat目录

3

在工程的src下,写一个service类,比如:

publicclasstest2{

publicStringsayHi(Stringname)

{

return"

hi,"

+name;

}

}

publicStringsayHi(Stringname)就是要调用的远程方法

在这个类的文件名上点击右键,选择”WebServices"

->

“CreateWebService”,就会出现下面的界面:

要选上TestClient,这样创建Service的同时,会创建一个Service的test工程

点击next选择方法名称

点击"

next"

,点击“StartServer”,就会启动Tomcat,并将工程部署上去。

如果点击“Launch”会打开刚才创建的WebService的测试界面,可以进行测试。

这时候,会出现测试创建代理类的界面,代理类会创建在自动生成的测试工程中,也就是LogonWebServiceTest工程中。

点击“next”,会自动生成代理类,并出现选择测试方法的界面。

你可以选择相应的方法,这样eclipse会生成相应的页面。

Finish"

就可以了,这时,会自动启动一个页面

点击左边相应的方法,就可以进行测试了。

生成的客户端代理类

4

部署到nc过程

类放到nchome\hotwebs\axis\WEB-INF\classes下。

代码放到此可以直接调用nc的类

server-config.wsdd放到nchome\hotwebs\axis\WEB-INF。

也可以将源代码拷贝到nchome\hotwebs\axis下,改后缀java为jws

在浏览器输入http:

//127.0.0.1/axis/services/HelloWorld.jws

 

点击ClicktoseetheWSDL,如果看到如下界面就表示你已经成功发布一个WebService了,就这么简单,如果出现错误就表示你的配置错误,或者是你的web.xml有问题,或者是你的包引用有问题.,不建议用jws方式发布。

测试发布:

在浏览器输入http:

//127.0.0.1/axis/services/HelloWorld

如果出现如下界面表示webservice发布成功

5

客户端测试程序

客户端在测试的时候需要引入commons-discovery-0.2.jar,axis.jar

HelloClient.java

importjava.util.ArrayList;

importnc.webservice.NcwebServiceLocator;

importorg.apache.axis.client.Call;

importorg.apache.axis.client.Service;

importDefaultNamespace.HelloWorldServiceLocator;

publicclassHelloClient

{

publicstaticvoidmain(String[]args)throwsException{

//客户端Stubs方式调用

//HelloWorldServiceLocatorhw=newHelloWorldServiceLocator();

//hw.setEndpointAddress("

HelloWorld"

"

http:

//127.0.0.1/axis/services/HelloWorld"

);

//Stringsss=hw.getHelloWorld().sayHello();

//NcwebServiceLocatorncweb=newNcwebServiceLocator();

//ncweb.setEndpointAddress("

ncweb"

//127.0.0.1/axis/services/ncweb"

//String[]mss=ncweb.getncweb().getMessageStr("

//localhost"

0001QW10000000000K2C"

"

1001"

//System.out.println(ncweb.getncweb().sayHello());

//DynamicInvocationInterface(DII)

//Stringendpoint="

//127.0.0.1/axis/services/HelloWorld.jws"

;

//这种方式不稳定,而且不支持包,不建议使用

//DynamicProxy和DII不同之处在于endpoint不一样,其他相同

Stringendpoint="

System.out.println("

11111111111"

Serviceservice=newService();

2222222222222"

Callcall=(Call)service.createCall();

call.setTargetEndpointAddress(new.URL(endpoint));

call.setOperationName("

getMessageStr"

);

//Stringres=(String)call.invoke(newObject[]{});

//无参数

ArrayListee=(ArrayList)call.invoke(newObject[]{"

});

}

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 初中教育 > 语文

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2