`
qkf15274
  • 浏览: 9633 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

基于SOAP的JAVA编写的WEBSERVICE实例

阅读更多
  近来webservice很流行,所以自己也做了一个webservice的server和client调试成功,其中也遇到了一些问题为了让大家在调试的时候少走冤路,把写好的server和client的源代码发布出来给大家做一个参考

    由于用JB发布一个webservice的server很容易,所以就不具体说明发布过程了,而且网上也有很多这样的例子,或者自己摸索着也能发布成功

    在源代码中写了必要的注释便于大家解读

    server的源代码

    package com.service;

public class HelloWorld{

  public String sayHello(){
    return "Hello world!";
  }

  public String echo(String u){
    return "Hello " + u;
  }

  public void setName(String name){
    System.out.println(name);
  }

}

很简单吧,本来就不复杂的,主要是对于接口的设计和接口的实现设计牵扯的业务啦、扩展啦等等比较多,那些才算复杂,就webservice的技术本身来说不复杂的

下面来看click的源代码

package clicktest;

import java.util.*;
import java.net.*;
import org.apache.soap.*;
import org.apache.soap.rpc.*;

public class ClickTest {

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

        //改成你的地址
        URL url = new URL ("http://localhost:8080/WebModule2/services/HelloWorld");


        // 创建调用
        Call call = new Call ();

//设置编码方式,不用修改
        call.setEncodingStyleURI(Constants.NS_URI_SOAP_ENC);
        Response resp = null;

        //调用方法名,因为没有返回值所以只需要这一行
        call.setMethodName("setName");


        //设置该方法的参数,如果没有参数,则不需要设置
        Vector params = new Vector();
        params.addElement(new Parameter("test", String.class, "my name setName", null));
        call.setParams(params);
        call.invoke(url, "");

        //调用方法名
        call.setMethodName("echo");
        params.clear();
        params.addElement(new Parameter("test", String.class, "my name echo", null));
        call.setParams(params);
        //返回值对象
        try {
          resp = call.invoke(url, "");
        }
        catch (SOAPException e) {
          e.printStackTrace();
        }
        // 检查返回值
        if (resp != null && !resp.generatedFault()) {
          Parameter ret = resp.getReturnValue();
          Object value = ret.getValue();

          System.out.println("Answer--> " + value);
        }
        else {
          Fault fault = resp.getFault();
          System.err.println("Generated fault echo: ");
          System.out.println(" Fault Code = " + fault.getFaultCode());
          System.out.println(" Fault String = " + fault.getFaultString());
        }

        //调用方法名
        call.setMethodName("sayHello");
//由于没有参数所以将Params置为null
        call.setParams(null);
        //返回值对象
        resp = null;
        try {
          resp = call.invoke(url, "");
        }
        catch (SOAPException e) {
          e.printStackTrace();
        }
        // 检查返回值
        if (resp != null && !resp.generatedFault()) {
          Parameter ret = resp.getReturnValue();
          Object value = ret.getValue();

          System.out.println("Answer--> " + value);
        }
        else {
          Fault fault = resp.getFault();
          System.err.println("Generated fault sayHello: ");
          System.out.println(" Fault Code = " + fault.getFaultCode());
          System.out.println(" Fault String = " + fault.getFaultString());
        }
      }
}


感觉有些多是吧,其实也不多的,主要是模拟了接口的三个方法的调用,如果是一个没有返回值得方法调用也就是几行就可以了,是不是感觉清楚了

这个server和client在JBX中测试通过

分享到:
评论

相关推荐

    Java使用SOAP获取webservice实例解析

    ### Java使用SOAP获取WebService实例解析 #### WebService简介 WebService是一种跨编程语言和操作系统平台的、在网络上进行数据交换的一种方式。它使用标准的Internet协议,如HTTP、XML、SOAP等来实现不同系统间的...

    Java编写WebService实例

    总的来说,Java编写WebService实例涉及到的技能包括Java编程、理解XML和SOAP协议、熟悉JAX-WS框架以及应用服务器的部署。通过实践这个实例,开发者不仅可以掌握创建和发布WebService的基本流程,还能深入理解不同...

    java实现webservice实例.doc

    "Java实现WebService实例" WebService是基于XML的、分布式的、跨语言的应用程序通信协议。它允许不同的应用程序之间进行交互和集成,从而实现业务逻辑的复杂交互。Java是其中一种常用的实现WebService的语言。 在...

    Java开发WebService实例

    本文将基于给定的“Java开发WebService实例”内容,深入解析如何在Tomcat中间件环境下,利用Java语言开发WebService,并通过具体示例来阐述相关的知识点。 #### WebService概念简述 WebService是一种遵循特定协议...

    Java编写WebService实例.doc

    【Java编写WebService实例详解】 在Java中开发WebService是一种常见的接口暴露方式,允许不同平台和语言的应用程序之间进行通信。本文将详细介绍如何使用Java和Axis框架创建一个简单的WebService实例。 首先,我们...

    java调用WebService实例

    WebService是一种基于XML的网络服务,它提供了标准的接口定义(WSDL,Web Services Description Language)和消息交换协议(SOAP,Simple Object Access Protocol)。通过WebService,不同的应用系统,无论它们运行...

    java编写webservice实例

    1. **Java Web Service**: Java Web Service是使用Java语言开发的、遵循Web服务标准(如SOAP、WSDL和UDDI)的服务。它使得不同系统之间的数据交换变得简单,无论这些系统使用何种编程语言或运行在何种操作系统之上。...

    java调用webservice实例

    ### Java调用WebService实例解析与知识点详解 #### 核心概念与原理 在现代软件开发中,服务端之间以及客户端和服务端之间的通信是至关重要的。Web Service作为一种标准的、跨平台的服务实现方式,允许不同语言编写...

    PB调用JAVA WEBSERVICE实例

    标题中的“PB调用JAVA WEBSERVICE实例”指的是使用PowerBuilder(PB)应用程序调用由Java编写的Web服务。在企业级应用开发中,不同语言之间的互操作性是非常重要的,而Web服务提供了一种标准的方式来实现这一点。让...

    C#调用使用java的带soaphead的webservice

    本案例中,我们将探讨如何使用C#在VS2013环境下调用一个Java编写的带有SOAP Header的Web服务。这个过程涉及到.NET Framework的Web服务客户端代理生成、SOAP消息的处理以及与Java Web服务的交互。 首先,我们需要...

    delphi调用Java webservice实例

    综上所述,"Delphi调用Java WebService实例"主要是关于在Delphi环境中如何利用各种工具和组件,通过SOAP协议调用并处理Java WebService的响应。具体实现需要理解WSDL,生成Delphi客户端代理,以及正确地发送请求和...

    java版WebService生成客户端和服务端的实例

    在这个Java WebService实例中,我们主要关注的是使用Axis工具来创建服务和消费服务的过程。 Apache Axis1.4是Apache软件基金会开发的一个开源工具,专门用于生成和部署SOAP WebServices。这个工具支持Java和JAX-RPC...

    java-webservice实例

    Java WebService实例是一个实际操作教程,它展示了如何在Java环境中创建和发布Web服务。Web服务是一种基于开放标准的,能够使应用程序在不同平台之间交换数据的技术。本实例着重于使用Java API for XML Web Services...

    java code Webservice实例详解

    Java WebService是基于标准的SOAP(Simple Object Access Protocol)协议,用于实现不同系统间的数据交换。在本实例中,我们将详细讲解如何使用Java代码和XFire框架创建和测试一个简单的Web服务。 首先,XFire是一...

    java实现webservice实例

    在编写WebService时,你需要实现一个Java接口或类,该接口或类将作为服务的实现。例如,你可以创建一个名为`HelloWorld.java`的类,包含`sayHello`方法: ```java public class HelloWorld { public String ...

    java Webservice 简单实例

    本教程将通过一个简单的Java WebService实例,帮助你理解其工作原理和实现过程。 1. **了解WebService** WebService是一种通过网络进行通信的软件系统,使用SOAP(简单对象访问协议)进行消息传输,WSDL描述了服务...

    WebService教程+实例+代码提示功能WebService实例.rar

    这个"WebService教程+实例+代码提示功能WebService实例.rar"压缩包文件显然包含了关于WebService的学习资料、实例代码和可能的代码提示功能,旨在帮助用户深入理解和实践WebService的开发。 首先,"教程地址.txt"很...

    java axis webservice 开发实例

    通过这个简单的Java Axis WebService实例,你应该对Web服务的开发有了初步的认识。继续深入学习,包括理解SOAP消息结构、WSDL的细节以及如何处理更复杂的数据类型,将使你成为Web服务开发的专家。实践中不断探索,祝...

Global site tag (gtag.js) - Google Analytics