`

web service第二个例子

阅读更多
HelloWorld.java
程序前期准备,将axis相关jar包拷贝至%TOMCAT_HOME%\webapps\axis\WEB-INF\lib目录下,如果应用程序需要数据库连接,请确保全部jdbc驱动程序复制到该目录下。
public class HelloWorld { 
  public String sayHello() 
  { 
    return "HELLO WORLD!"; 
  } 
}

将HelloWorld.java编译成HelloWorld.class,放到%TOMCAT_HOME%\webapps\axis\WEB-INF\classes
在%TOMCAT_HOME%\webapps\axis\WEB-INF下新建deploy.wsdd文件,即SOAP服务发布描述文件
     deploy.wsdd
<deployment xmlns="http://xml.apache.org/axis/wsdd/" xmlns:java="http://xml.apache.org/axis/wsdd/providers/java"> 
    <service name="HelloWorld" provider="java:RPC"> 
        <parameter name="className" value="HelloWorld"/> 
        <parameter name="allowedMethods" value="sayHello"/> 
    </service> 
</deployment>


在DOS下转换目录到%TOMCAT_HOME%\webapps\axis\WEB-INF,命令:

java -cp %AXISCLASSPATH% org.apache.axis.client.AdminClient deploy.wsdd
你会发现目录下多了一个server-config.wsdd文件,这就是AXIS的配置文件,以后所有的服务发布描述都会在里面找到。(当然,你可以直接修改它,不用再写deploy.wsdd)然后打开浏览器http://localhost:8080/axis/servlet/AxisServlet,你就会看到你的服务已发布
And now... Some Services
AdminService (wsdl)
AdminService
Version (wsdl)
getVersion
HelloWorld (wsdl)
sayHello

可以看到发布了三个服务,其中前两个是自带的服务,后一个是刚刚部署的服务。
同样用客户端程序访问一下:(注意和上边的差别!!)

import org.apache.axis.client.Call; 
import org.apache.axis.client.Service; 

public class HelloClient 
{ 
   public static void main(String [] args) throws Exception { 

       String endpoint = "http://localhost:" +"8080"+ "/axis/services/HelloWorld";//注意!差别仅仅在这里!! 定义服务端点

       Service  service = new Service(); //创建服务
       Call     call    = (Call) service.createCall();  //创建soap请求调用
//设置提供程序位置的目标端点:      
 call.setTargetEndpointAddress( new java.net.URL(endpoint) ); 
//设置服务操作名称及其方法       
 call.setOperationName("sayHello"  ); 
//通过发送请求调用服务,
         String res = (String) call.invoke( new Object[] {} ); 

                         System.out.println( res ); 
   } 
} 

编译运行HelloClient,即可得到 HELLO WORLD!
分享到:
评论

相关推荐

    web service 客户端java例子

    二、Java Web Service客户端开发工具 1. JAX-WS(Java API for XML Web Services):这是Java官方提供的用于创建和使用SOAP Web服务的标准库。它包含一系列API,如JAXB(Java Architecture for XML Binding)用于XML...

    xfire开发Web Service接口详解

    在"xfire开发Web Service接口第一个程序"这个文件中,你可能会找到一个简单的示例,展示如何创建一个计算两个数相加的Web Service。这个例子可能包括定义服务接口、实现接口、配置服务以及启动服务的步骤。通过分析...

    通向架构师的道路(第十一天)之Axis2 Web Service(二).docx

    在“通向架构师的道路(第十一天)之Axis2 Web Service(二)”的主题中,我们主要探讨了如何使用Axis2框架创建和部署Web服务,并且使用简单Java类型来定义服务接口。以下是关于这个主题的详细知识讲解: 1. **Axis2 ...

    WebService大讲堂之Axis2及其它web service资料

    本讲堂重点探讨的是 Axis2,一个强大的Web Service框架,它是Apache软件基金会开发的第二代Web Service引擎。 一、什么是Axis2? Axis2是Apache Axis的升级版,它提供了更高效、更灵活的服务架构。Axis2基于模块化...

    SAP XI中WEB SERVICE的应用

    第二个业务场景(Scenario 2:非SAP系统 (WebService) =&gt; XI =&gt; SAP (IDOC))涉及非SAP系统(如Java或.NET应用)向XI发送Web服务请求,再由XI转换并发送IDOC到ECC6生成PO。在这个例子中,我们使用XMLSPY工具作为非...

    通向架构师的道路(第十四天)Axis2 Web Service安全之rampart.docx

    通向架构师的道路(第十四天)Axis2 Web Service安全之rampart 本篇文章主要讲述了Axis2 Web Service安全之rampart的知识点,包括加密保护Web Service传输、基本概念、对称加密、非对称加密、数字签名等内容。 一...

    了解 Web 服务规范_第 7 部分:Web 服务业务流程执行语言

    Daily Moon 报社是一个假设的例子,用于展示如何利用Web服务构建复杂的应用程序。在本系列的前几部分中,报社员工已经实现了多种Web服务,例如内容管理系统和分类广告系统等。现在,他们希望通过引入WS-BPEL来进一步...

    通向架构师的道路(第十一天)之Axis2_Web_Service(二)

    在“通向架构师的道路(第十一天)之Axis2_Web_Service(二)”的主题中,我们继续探讨如何使用Axis2框架构建和使用Web服务。在前一天的讲解中,我们了解了如何生成一个基于Axis2的WebService,以及四种不同的客户端调用...

    SAP Restful Service

    在这个例子中,仅使用第二个参数(日期字符串20101208)作为输入,将其转换为日期对象,并传递给DATE_GET_WEEK函数模块。 在HANDLE_REQUEST方法的实现中,我们需要解析URL中的参数,将日期字符串转换为SAP内建的...

    webservice测试

    第二个示例可能涉及更复杂的数据交换,如文件上传或下载;第三个示例可能涉及到错误处理和异常管理,展示如何在出现问题时优雅地处理。 对于"webservicTest"主程序,它可能是一个客户端应用,用于发起对WebService...

    ASP.Net 开发手册

    本站的又一力作《ASP.Net ...第二章 一个简单的Web Service案例 第三章 数据交换 第四章 存取站点对象 第六篇 性能优化 第七篇 高级应用 第一章 XML及其应用 第二章 三层结构及其应用 第三章 使用MSMQ

    《ASP.Net 手册》。金桥网络信息服务网

    《ASP.Net 手册》现已成功推出,供广大...第二章 一个简单的Web Service案例 第三章 数据交换 第四章 存取站点对象 第六篇 性能优化 第七篇 高级应用 第一章 XML及其应用 第二章 三层结构及其应用 第三章 使用MSMQ

    webservice例子(客户端和服务器端和tomcat部署).zip

    在这个例子中,Tomcat将作为Web服务的运行环境,承载服务器端代码。Tomcat的安装和配置相对简单,可以通过下载解压后启动服务器,并通过管理工具如Apache Tomcat Manager来部署Web应用。 三、Web Service客户端 Web...

    HPROSE例子 一个服务端,两个客户端

    2. **hproseClient02**:第二个客户端示例可能与第一个类似,但可能包含不同的调用逻辑或测试更多的服务接口。这有助于验证服务端接口的稳定性和性能。 总结,这个HPROSE例子为我们展示了如何在实际项目中部署和...

    vb6.0调用webservice详解

    调用Web服务的第一步是确保你已经安装了相应的服务,并且能够通过浏览器访问Web服务的WSDL(Web Service Description Language)文档,这个文档定义了服务提供的所有方法和参数。例如,在航天金税开票服务中,你需要...

    webService+Xfire入门

    【Web Service + Xfire 入门】 Web Service是一种基于开放标准的、允许应用程序之间进行交互的方式,它使得不同系统...实践这个小例子,你将对Web Service和XFire有一个扎实的理解,为后续深入学习和开发奠定基础。

    web容器---servlet

    在这个例子中,`doGet()`方法处理GET请求,将"Hello, Servlet!"响应给客户端。 六、工具应用 在实际开发中,我们可能会使用Eclipse、IntelliJ IDEA等集成开发环境(IDE)配合Tomcat等Web容器进行Servlet的开发和...

    ASP.NET完全入门

    第二章一个简单的Web Service案例 第三章数据交换 第四章存取站点对象 第六篇性能优化 第七篇高级应用 第一章XML及其应用 第二章三层结构及其应用 第三章使用 COM 第四章使用 MTS 第五章使用 MSMQ 第六章在 ASP中...

    SSH简单例子源码

    - **缓存机制**:Hibernate有第一级缓存和第二级缓存,可以提高数据访问效率。 在"SSH简单例子源码"的src目录下,我们可能会看到以下结构: - **com.example package**:包含Struts的Action类、Spring的Service类...

    Axis搭建一个简单的web工程

    // 输入第二个数字 double num2 = sc.nextDouble(); // 创建服务客户端 RPCServiceClient serviceClient = new RPCServiceClient(); Options options = serviceClient.getOptions(); options.setTo(new ...

Global site tag (gtag.js) - Google Analytics