Nc 开发webservice.docx

上传人:b****0 文档编号:12532318 上传时间:2023-04-20 格式: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

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

Nc 开发webservice.docx

Nc开发webservice

Nc开发webservice

1.

下载eclipse-wtp-all,集成了webservice开发插件

下载eclipse-ncpluginnc开发插件,

下载axis2-1.4

以上下载可以到

webservice工具下载下进行下载,jdk版本选择1.5以上

下载axis1.4解压缩把其webapps目录下axis放到nchome/hotweb下,其中的lib下jar包要删除一些,不要和nchome/lib里的重复,

保留五个axis.jar,axis-ant.jar,saaj.jar,wsdl4j-1.5.1.jar,commons-discovery-0.2.jar就可以

2.Axis开发介绍

Axis(ApacheextensibleInteractionsystem)是Apache项目组织的一个开源项目。

前身是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","http:

//127.0.0.1/axis/services/ncweb");

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

//localhost","0001QW10000000000K2C","1001");

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

//DynamicInvocationInterface(DII)

//Stringendpoint="http:

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

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

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

//Stringendpoint="http:

//127.0.0.1/axis/services/HelloWorld";

Stringendpoint="http:

//127.0.0.1/axis/services/ncweb";

System.out.println("11111111111");

Serviceservice=newService();

System.out.println("2222222222222");

Callcall=(Call)service.createCall();

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

call.setOperationName("getMessageStr");

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

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

//localhost","0001QW10000000000K2C","1001"});

}

}

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

当前位置:首页 > 经管营销 > 经济市场

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1