`

WEBservice 两种调用效果

阅读更多

我要用JAVA调用一个WEBservice
WEBservice的地址为:http://www.xxxxx.com.cn/webservice/online.asmx
方法名:checkMember
此方法将返回void

怎么样来实现呢?

是那种方法的axis还是xfire的,两种调用方法不同。
axis:
package test;
import java.net.MalformedURLException;
import java.rmi.RemoteException;

import javax.xml.namespace.QName;
import javax.xml.rpc.ServiceException;

import org.apache.axis.client.Call;
import org.apache.axis.client.Service;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;

public class CallService {
  public static void main(String[] args) {
    try {
            Log log = LogFactory.getLog(CallService.class);
            String endpoint ="http://localhost:8090/testAxisl/services/UserService";
            Service service =new Service(); 
            Call call = (Call) service.createCall();

            call.setTargetEndpointAddress( new java.net.URL(endpoint) );
           // call.setOperationName(new QName("UserService", "save"));//设置操作的名称。
          //由于需要认证,故需要设置调用的用户名和密码。
          call.getMessageContext().setUsername("sophia");
          call.getMessageContext().setPassword("sophia");
         //调用的方法
         call.setOperationName("getUserByName" );
         // //方法中的参数
         // call.invoke(new Object[] {"1011","aaaa","aaaa","test"});
         call.invoke(new Object[] {"aaaa"});
         // call.setOperationName("createUserByUserInfo" );
      } catch (ServiceException e) {
          e.printStackTrace();
          System.out.println("Service 获取 Call对象失败!");
      } catch (MalformedURLException e) { 
           e.printStackTrace();
           System.out.println("new java.net.URL(url)错误!");
      } catch (RemoteException e) {
           e.printStackTrace();
           System.out.println("远程错误!"); 
      }
   }
}

 

xfire:

package test;

import java.lang.reflect.Proxy;
import java.net.MalformedURLException;

import org.codehaus.xfire.client.Client;
import org.codehaus.xfire.client.XFireProxy;
import org.codehaus.xfire.client.XFireProxyFactory;
import org.codehaus.xfire.service.Service;
import org.codehaus.xfire.service.binding.ObjectServiceFactory;

import webservice.ClientAuthHandler;
import webservice.HelloWorld;

public class HelloWorldClient {

  public static void main(String[] args) { 
    try{
           Service serviceModel = new ObjectServiceFactory().create(HelloWorld.class);
           HelloWorld service = (HelloWorld) new XFireProxyFactory().create(serviceModel,
           "http://localhost:8090/testWebService/HelloWorldService.ws?");
           XFireProxy proxy = (XFireProxy)Proxy.getInvocationHandler(service);
           Client client = proxy.getClient();
           //不加用户密码验证会报错,并且终止远程调用
           client.addOutHandler(new ClientAuthHandler("system", "manager"));
           System.out.println(service.getMes("aaa"));
           System.out.println(service.sayHelloWorld("402881861961127c011961c9be590036"));
           // System.out.println(service.sayHelloWorld("1001")); 
           // System.out.println(service.getDemoString("abc"));
     }catch(MalformedURLException e){
          System.out.println("错误!");
          e.printStackTrace(); 
     }
   }

}

 

分享到:
评论

相关推荐

    webservice的动态调用和静态调用

    在开发中,我们通常会遇到两种调用方式:动态调用和静态调用。这两种方法各有特点,适用于不同的场景。 静态调用是通过在项目中添加Web引用或者服务引用来实现的。这种调用方式在编译时就已经确定了服务接口,因此...

    REST WebService 调用工具类

    相信大家在调用rest webservice通常使用httpclient.该示例代码是使用httpconnection的形式,以POST和GET两种方式提交调用REST WebService。在项目中一直使用的工具类,分享给大家

    webservice发布与调用

    调用WebService分为静态调用和动态调用两种方式: - **静态调用**:通过WSDL文件生成客户端代理类,然后像调用本地方法一样调用WebService。例如,在Java中,可以使用wsimport工具从WSDL生成客户端代码。 - **动态...

    webservice发布及调用

    Axis2 提供了两种发布 WebService 的方式:打包发布和不打包发布。本文主要介绍不打包发布的方式,这种方式类似于 XFire,适用于遇到兼容性问题的情况。 **步骤详解:** 1. **添加 JAR 包:** - 从 Axis2 的 WAR ...

    .net调用webservice接口例子

    本示例将详细讲解如何使用.NET来调用一个WebService接口,并提供相关的代码实例。 首先,让我们理解Web Service的基本概念。Web Service是一种基于XML(可扩展标记语言)的标准化方法,用于在不同应用程序之间共享...

    WebService同步异步调用示例代码.rar

    C#提供了两种主要的异步调用方式:Begin/End模式(基于IAsyncResult接口)和async/await模式(基于Task类)。在Begin/End模式下,调用开始使用`BeginInvoke`,然后在适当的时间使用`EndInvoke`获取结果: ```csharp...

    springboot+webservice搭建webservice服务端及使用java客户端两种方式进行调用webservice接口

    本教程将讲解如何使用Spring Boot集成Apache CXF(一个强大的Java Web Service框架)来构建服务端,并探讨两种Java客户端调用Web Service接口的方法。 首先,我们需要理解Spring Boot与CXF的整合。Spring Boot通过...

    HttpClient 调用WebService示例

    HttpClient可以处理这两种类型的Web服务。在本示例中,我们假设你正在使用SOAP,因为通常需要发送XML格式的数据到WebService。 1. **导入必要的库**: 包含在压缩包中的jar文件可能是HttpClient库和其他依赖,如`...

    WebService的两种客户端调用方式

    本文将深入探讨WebService的两种客户端调用方式,并通过源码分析和实际工具的使用来帮助你理解这两种方法。 一、SOAP(Simple Object Access Protocol)调用 1. SOAP简介:SOAP是一种基于XML的协议,用于在Web上...

    js调用webservice示例+源码

    本文将深入探讨如何使用JavaScript调用Web Service,以及如何解决在这个过程中遇到的问题,以配合“js调用webservice示例+源码”的主题。 Web Service是一种基于网络的、平台无关的服务,它通过SOAP(Simple Object...

    MVC调用webService

    4. **调用WebService的两种方式** - **SOAP WebService**:使用XML格式的请求和响应,通常通过HTTP POST方法调用。在JavaScript中,可以使用`XMLHttpRequest`对象或第三方库如jQuery的`$.ajax()`方法来实现。 - **...

    WebService服务的三种调用方式

    ### WebService服务的三种调用方式 在现代软件开发中,WebService作为一种标准的服务提供机制,在分布式系统中的应用非常广泛。本文将详细介绍基于SOAP协议的远程WebService服务的三种常见调用方式,帮助开发者根据...

    PB 调用webservice 几种方式

    这种方式需要手动构建和解析XML消息,虽然灵活性高,但相比前两种方法,开发工作量会增加。 4. **JDBC/ODBC Bridge to Web Services**: 对于已经具备数据库连接能力的应用,PB 11.5也提供了通过JDBC或ODBC桥接器...

    webservice接口调用工具类依赖jar包

    WebService接口调用工具类是Java开发中常见的一种技术,用于与远程服务进行通信,尤其在集成不同系统或服务时非常关键。在这个场景中,"webservice接口调用工具类依赖jar包"指的是为了实现对WebService接口的调用,...

    lotus domino webservice建立和调用

    接下来,我们要讨论如何调用这些Web服务,这通常涉及到以下两个主要方面: 1. **JavaScript调用**:在前端,你可以使用JavaScript库如jQuery或XMLHttpRequest对象来发起HTTP请求,调用Web服务。你需要构造一个SOAP...

    ajax和JavaScript分别调用Webservice实例

    本压缩包包含的三个文档详细讲解了如何利用Ajax和JavaScript来调用WebService,这对于理解这两种技术的集成至关重要。 首先,让我们了解一下Ajax。Ajax是一种在不刷新整个网页的情况下,能够更新部分网页内容的技术...

    webservice调用,传参代码样例

    Web服务(WebService)是一种基于标准协议的,可互操作的软件接口,允许不同系统之间进行数据交换和功能调用。在本案例中,我们将重点讨论如何使用Axis框架来调用Web服务并传递参数。 首先,我们需要理解Web服务的...

    webService调用实例 Demo

    【标题】:“webService调用实例 Demo” 在IT行业中,Web Service是一种常见的应用程序接口(API)形式,它允许不同系统间的交互,无论它们是用何种编程语言或运行在何种操作系统上。本“webService调用实例 Demo”...

    SQL Server调用Webservice示例

    调用Web Service在SQL Server中主要通过两种方式实现:T-SQL的XML方法和使用.NET Framework的存储过程。 1. **T-SQL的XML方法**: 使用T-SQL的内置函数如`OPENXML`、`sp_xml_preparedocument`和`sp_xml_...

    vb6.0调用webservice详解

    首先,VB6.0调用Web服务有两种主要方法:一是通过SOAP(简单对象访问协议),二是使用COM组件或ActiveX控件。本文将以SOAP为例进行详细讲解,因为它是跨平台的、与语言无关的通信协议,适合于不同系统间的交互。 ...

Global site tag (gtag.js) - Google Analytics