`
_ICE
  • 浏览: 6282 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类
最新评论
阅读更多
webservice例子了  
   
  Axis支持三种web   service的部署和开发,分别为:  
   
  1、Dynamic   Invocation   Interface   (   DII)  
   
  2、Stubs方式  
   
  3、Dynamic   Proxy方式
  一、编写DII(Dynamic   Invocation   Interface)方式web服务  
   
  1.编写服务端程序DIIService
   
public class DIIService {
public String getName(String name) {
    System.out.println("=====DIIService=====");
    return "The " + name + " return from the DIIService" ;
}

   
  2、将源码拷贝到Axis_HOME下,重命名为   DIIService.jws    
   
  3、访问连接http://localhost:8080/Axis/DIIService.jws?wsdl,页面显示Axis自动生成的wsdl    
   
  4、编写访问服务的客户端   DIIClient.java    
     
import java.net.MalformedURLException;
import java.rmi.RemoteException;

import org.apache.axis.client.Call;
import org.apache.axis.client.Service;
import javax.xml.namespace.QName;
import javax.xml.rpc.ServiceException;

public class DIIClient {
public static void main(String[] args) throws ServiceException,
MalformedURLException, RemoteException {

   String endpoint = "http://localhost:8090/axis/DIIService.jws";

   Service service = new Service();
   Call call = null;
   call = (Call) service.createCall();
   call.setOperationName(new QName(endpoint, "getName"));
   call.setTargetEndpointAddress(new java.net.URL(endpoint));
   // call.addParameter("param1", XMLType.XSD_STRING, ParameterMode.IN);
   // call.setReturnType(XMLType.XSD_STRING);
   String ret = (String) call.invoke(new Object[] { "zhangsan" });
   System.out.println("return   value   is ==>  " + ret);

}
}
二、编写Dynamic   Proxy方式访问服务
1、编写部署服务端程序DPService
public class DPService {
public String getName(String name) {
     System.out.println("=====DPService=====");
     return "The " + name + " return from the DPService";
}

   
2、编写代理接口    
   
import java.rmi.Remote;

public interface DPServiceInterface extends Remote {
public String getName(String name) throws java.rmi.RemoteException;
}
   
3、编写并执行客户端程序DPClient.java    
   
import javax.xml.rpc.Service;
import javax.xml.rpc.ServiceFactory;
import java.net.URL;
import javax.xml.namespace.QName;

public class DPClient {
public static void main(String[] args) {
try {
String wsdlUrl = "http://localhost:8090/axis/DPService.jws?wsdl";
String nameSpaceUri = "http://localhost:8090/axis/DPService.jws";
String serviceName = "DPServiceService";
String portName = "DPService";

ServiceFactory serviceFactory = ServiceFactory.newInstance();
Service afService = serviceFactory.createService(new URL(wsdlUrl),
new QName(nameSpaceUri, serviceName));
DPServiceInterface proxy = (DPServiceInterface) afService
.getPort(new QName(nameSpaceUri, portName),
DPServiceInterface.class);
System.out.println("return value is " + proxy.getName("john"));
} catch (Exception ex) {
ex.printStackTrace();
}
}
}
四、编写stubs方式web服务
1、
public class StubsService {
//转到AXIS目录下的WEB-INF子目录
//Java -Djava.ext.dirs=lib org.apache.axis.wsdl.WSDL2Java http://localhost:8080/axis/StubsService.jws?wsdl
public String getName(String name) {
System.out.println("=====StubsService=====");
return "The " + name + " return from the StubsService";
}
}
2、Axis可选的包:activation.jar; mail.jar; xmlsec-1.4.Beta1.jar拷贝到WEB-INF目录下.转到AXIS目录下的WEB-INF子目录执行Java -Djava.ext.dirs=lib org.apache.axis.wsdl.WSDL2Java http://localhost:8080/axis/StubsService.jws?wsdl
执行后会在WEB-INF\localhost\axis\StubsService_jws生成
StubsService.java,StubsServiceService.java,StubsServiceServiceLocator.java,StubsServiceSoapBindingStub.java
3、编写并执行客户端程序
package localhost.axis.StubsService_jws;

public class Main {
public static void main(String[] args) throws Exception   
{   
StubsServiceService service = new StubsServiceServiceLocator();   
StubsService stubs = service.getStubsService();
   System.out.println("Response:"+stubs.getName("BeatBLOG"));   
}   
}
分享到:
评论

相关推荐

    Android通过webservice连接Sqlserver实例

    这个场景通常是通过Web服务,如WebService来实现。本文将详细介绍如何在Android应用中利用WebService接口连接到SQLServer数据库,实现数据的增删改查操作。 首先,理解概念: 1. Android:Android是一种开源操作...

    webservice测试调用工具WebserviceStudio20

    WebserviceStudio是一款强大的Web服务测试和调用工具,版本为20。这款工具主要帮助开发者和测试人员方便地测试和调试他们的Web服务。以下是WebserviceStudio的一些核心功能和相关知识点: 1. **图形化界面**:...

    C#调用JavaWebService

    调用WebService,最简单的办法当然是直接添加WEB引用,然后自动产生代理类,但是在调用JAVA的WebService时并没有这么简单,特别是对于SoapHeader的处理,通过C#添加Web引用方式访问JavaWebService的方法,除了string...

    SqlServer触发器调用WebService

    ### SqlServer触发器调用WebService知识点详解 #### 一、SqlServer触发器简介 在了解如何通过Sql Server触发器调用WebService之前,我们首先需要对触发器有一个基本的认识。触发器是一种特殊的存储过程,它被定义...

    c++调用webservice(包括静态和动态以及webservice源码)

    然而,由于其自身不直接支持Web服务(WebService)的调用,开发者通常需要借助第三方库或者特定的技术来实现。本篇文章将详细讲解如何在C++中调用WebService,包括静态和动态方式,并探讨相关的源码实现。 首先,让...

    Idea实现WebService实例

    【标题】:Idea实现WebService实例 在Java开发中,WebService是一种常见的跨平台、跨语言的通信方式,它允许不同的应用程序之间交换数据。IntelliJ IDEA(简称Idea)是广受欢迎的Java集成开发环境,提供了强大的...

    一个简单的WEBSERVICE 例子

    根据提供的文件信息,本文将详细解释一个简单的 WebService 示例,并深入探讨其中的关键概念和技术细节。 ### 一、WebService 概念 #### 1.1 WebService 定义 WebService 是一种支持通过网络进行调用的服务形式,...

    WebService的优势与劣势

    ### WebService的优势与劣势 #### 一、WebService概述 WebService是一种平台独立的、分布式的、基于互联网的应用程序接口(API),它使用标准的Internet协议(如HTTP)进行通信,并使用XML来交换数据。WebService...

    webservice获取List案例

    在本案例中,我们关注的是一个特定的Web服务类型——WebService,它用于获取一个包含泛型对象的List。这个场景在分布式系统、微服务架构或者跨平台数据共享中非常常见。让我们深入探讨一下相关的知识点。 1. **...

    webservice

    ### WebService概述与基本用法 #### 一、WebService简介 WebService是一种标准的跨平台通信方式,它允许在不同技术栈之间进行数据交换和服务交互。通过WebService,可以在不同的应用程序之间共享业务逻辑、数据和...

    WebService依赖jar以及xml.zip

    WebService是一种基于XML(可扩展标记语言)的互联网通信标准,它允许不同的应用程序之间进行互操作。这个名为"WebService依赖jar以及xml.zip"的压缩包文件包含了一组用于构建和运行WebService所需的重要组件。 ...

    在WinForm程序中调用WebService

    在WinForm应用程序中调用WebService是一项常见的任务,它允许客户端应用程序与远程服务器上的服务进行交互,从而实现数据交换和功能扩展。以下是如何在WinForm中实现这一操作的详细步骤及涉及的相关知识点: 1. **...

    VC++中WebService服务的调用

    在VC++中调用WebService服务是一项常见的任务,尤其在跨平台通信、系统集成或扩展应用程序功能时。WebService是一种基于Web的、松耦合的服务,它使用标准的HTTP协议进行通信,并通过XML(eXtensible Markup Language...

    SAP webservice测试方法

    ### SAP Webservice 测试方法详解 #### 一、引言 在现代企业信息化管理中,SAP系统作为企业管理软件中的佼佼者,被广泛应用。随着SAP系统的不断升级与扩展,Webservice技术作为一种重要的集成手段,在SAP系统中...

    C# WebService 客户端 服务器 Json

    本主题聚焦于C#中的WebService客户端和服务器的交互,以及如何利用Json进行数据交换。Json(JavaScript Object Notation)是一种轻量级的数据交换格式,因其易读性和易于编写而被广泛应用。 一、C# WebService简介 ...

    动态调取webservice返回json数据并处理

    这里我们关注的是动态调用WebService并处理返回的JSON数据,然后将这些数据展示在GridView中。这个过程涉及到的技术主要包括:WebService的调用、JSON数据解析以及数据绑定到GridView。 首先,让我们来理解...

    BCB 调用WebService方法及常见问题排查

    ### BCB调用WebService方法详解及常见问题排查 #### 一、引言 在现代软件开发中,跨平台服务通信已成为一种常态。其中,WebService作为一种常见的远程服务调用方式,在不同语言之间进行交互时扮演着重要的角色。...

    WebServiceStudio C#源码

    WebServiceStudio是一款基于C#开发的轻量级工具,主要用于测试和调试Web服务接口。这个工具的源码提供了深入理解Web服务交互机制的机会,对于学习和开发相关应用具有很高的价值。以下将详细介绍其中涉及的主要知识点...

    java调用json参数的webservice

    在探讨Java调用带有JSON参数的WebService之前,我们首先需要了解几个关键的技术概念:Java、JSON以及WebService。 Java是一种广泛使用的编程语言,它具有面向对象、跨平台、多线程以及健壮性等特点。Java在企业级...

    C#webservice调用测试工具

    【标题】:“C# WebService调用测试工具” 在IT领域,Web Service是一种基于网络的、松散耦合的软件组件,它允许不同系统之间的数据交换。C# WebService调用测试工具是专为开发者设计的,用于测试和调试Web Service...

Global site tag (gtag.js) - Google Analytics