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

webservice请求

 
阅读更多

 

 

import java.io.File;

import java.io.FileWriter;

import java.util.ArrayList;

import java.util.List;

import java.util.Map;

 

import javax.xml.namespace.QName;

import javax.xml.soap.MessageFactory;

import javax.xml.soap.SOAPBody;

import javax.xml.soap.SOAPBodyElement;

import javax.xml.soap.SOAPElement;

import javax.xml.soap.SOAPMessage;

import javax.xml.ws.BindingProvider;

import javax.xml.ws.Dispatch;

import javax.xml.ws.soap.SOAPBinding;

 

import org.dom4j.DocumentHelper;

import org.dom4j.io.OutputFormat;

import org.dom4j.io.XMLWriter;

 

/*

 * * Client

 * 

 * @author zhaoshuai

 * 

 * @version 1.0

 */

public class Client {

    private static final String NAMESPACE_URL = "http://impl.service.dwjk.fy.np.thunisoft.com";

 

    public static void main(String args[]) {

        String className = "CourtBaseInfo"; 

        String method = "getAllPersons";

        ArrayList<String> list = new ArrayList<String>();

        //        list.add("65552");

        //        list.add("65540");

        //        list.add("<caseInfo><case bh='2224' ajlb='1' baktxh='4' ft=''/></caseInfo>");

                list.add("2");

//        list.add("<?xml version='1.0' encoding='UTF-8'?><CaseSpzh type='bean.CaseSpzh'><ajlb>2</ajlb><fyid>10</fyid><lstSpzh></lstSpzh></CaseSpzh>");

//        list.add("11");

        invoke(className, method, list);

    }

 

    public static void invoke(String className, String method,

            List<String> paramList) {

        String endpointAddress = "http://172.16.26.117:8090/dwjk/services/"

                + className + "?wsdl";

        QName SERVICE_NAME = new QName(NAMESPACE_URL, className);

        QName PORT_NAME = new QName(NAMESPACE_URL, className + "Port");

        // 设置SOAP信息

        javax.xml.ws.Service service = javax.xml.ws.Service

                .create(SERVICE_NAME);

        service.addPort(PORT_NAME, SOAPBinding.SOAP11HTTP_BINDING,

            endpointAddress);

 

        Dispatch<SOAPMessage> dispatch = service.createDispatch(PORT_NAME,

            SOAPMessage.class, javax.xml.ws.Service.Mode.MESSAGE);

 

        BindingProvider bp = (BindingProvider) dispatch;

        Map<String, Object> rc = bp.getRequestContext();

        rc.put(BindingProvider.SOAPACTION_USE_PROPERTY, Boolean.TRUE);

        rc.put(BindingProvider.SOAPACTION_URI_PROPERTY, method);

 

        // 调用webservice

        SOAPBody soapBody = null;

        try {

            MessageFactory messageFactory = ((SOAPBinding) bp.getBinding())

                    .getMessageFactory();

 

            SOAPMessage request = messageFactory.createMessage();

            SOAPBody body = request.getSOAPBody();

 

            QName payloadName = new QName(NAMESPACE_URL, method, "ns1");

            SOAPBodyElement payload = body.addBodyElement(payloadName);

            for (int i = 0; i < paramList.size(); i++) {

                payload.addChildElement(new QName("arg" + i)).addTextNode(

                    paramList.get(i));

            }

            request.saveChanges();

 

            SOAPMessage reply = null;

            reply = dispatch.invoke(request);

            soapBody = reply.getSOAPBody();

            SOAPBodyElement nextSoapBodyElement = (SOAPBodyElement) soapBody

                    .getChildElements().next();

            SOAPElement soapElement = (SOAPElement) nextSoapBodyElement

                    .getChildElements().next();

            System.out.println(soapElement.getValue());

 

            OutputFormat format = OutputFormat.createPrettyPrint();

            format.setEncoding("UTF-8");

            File file = new File("D://test//1.xml");

            XMLWriter writer = new XMLWriter(new FileWriter(file), format);

            writer.write(DocumentHelper.parseText(soapElement.getValue()));

            writer.close();

        } catch (Exception wse) {

            wse.printStackTrace();

        }

    }

}


分享到:
评论

相关推荐

    Eclipse通过工具来监控webService请求和返回时的数据

    标题中的“Eclipse通过工具来监控webService请求和返回时的数据”指的是在Eclipse集成开发环境中,使用特定的工具来观察和分析Web服务(webService)的请求和响应过程。这些工具可以帮助开发者更好地理解和调试Web...

    跨域WebService请求-Nginx_SOAP服务_Ajax客户端.docx

    【跨域WebService请求】在现代Web开发中,由于浏览器的安全策略限制,JavaScript通常不能发起对不同源的HTTP请求,这被称为跨域问题。对于GET请求,可以通过JSONP(JSON with Padding)来解决,但POST请求则更为复杂...

    axis2实现webservice请求

    在 Axis2 中实现 WebService 请求涉及以下步骤: 1. **环境设置**:首先,你需要在你的项目中引入 Axis2 相关的 jar 包。这些 jar 包通常包括 Axis2 的核心库、XML 解析器、依赖的 Servlet API 等。在提供的资源包...

    passbook的webservice请求的官方文档

    而Passbook的webservice请求则是指应用程序或服务通过网络与Passbook服务器进行通信的一种机制,用于更新电子票据、获取电子票据的序列号等操作。官方文档中详细描述了如何通过REST风格的webservice协议与服务器进行...

    webservice 安全认证请求头信息

    标题“WebService安全认证请求头信息”直指问题的核心,即在调用WebService时,如何通过请求头来传递必要的安全凭证,以验证客户端的身份。这通常涉及到身份验证、授权以及加密等安全机制。 首先,让我们了解...

    ios-使用iOS原生NSURLSession简单封装WebService请求.zip

    这个压缩包“ios-使用iOS原生NSURLSession简单封装WebService请求.zip”显然包含了一个简单的网络请求封装,利用了苹果的原生网络库NSURLSession。NSURLSession是iOS 7及更高版本中推荐使用的网络编程接口,它提供了...

    ios webservice请求

    在这个“ios webservice请求”的示例中,我们将深入探讨如何在iOS应用中实现对Web Service的调用。 首先,我们要了解iOS中的网络请求基础。iOS提供了多种API来进行网络请求,如NSURLConnection、NSURLSession以及第...

    Android 基于 Retrofit2+Okhttp3 通过SOAP协议请求WebService.zip

    总结,Android应用基于Retrofit2+Okhttp3通过SOAP协议请求WebService是一种有效的解决方案,它简化了网络调用的复杂性,同时利用了OkHttp3的高性能特性。通过定义接口、配置Retrofit实例、创建SOAP请求和处理响应,...

    访问WebService处理拦截开始访问的消息

    在IT行业中,Web服务(WebService)是一种通过网络进行通信的标准接口,它允许不同的应用程序之间交换数据和协同工作。本文将详细探讨"访问WebService处理拦截开始访问的消息"这一主题,包括Web服务的工作原理、消息...

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

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

    httpClient调用webservice接口

    ### 使用HttpClient调用WebService接口详解 #### 一、概述 在现代软件开发中,Web服务(尤其是WebService)作为实现系统间交互的一种重要手段被广泛采用。WebService提供了通过HTTP协议进行远程过程调用的能力,...

    VC++(MFC)中WebService服务的调用

    3. **构造SOAP消息**:根据WebService的WSDL(Web Service Description Language)文档,创建符合规范的SOAP请求XML。WSDL描述了服务的接口、操作、消息结构等信息,可以通过它获取方法签名和命名空间。 4. **发送...

    使用Http post的方式调用webservice

    在调用WebService时,POST方法可以承载请求参数,将其封装在请求体中发送到服务端。 1. **构建HTTP请求** 在Java中,可以使用`java.net.URL`、`java.net.HttpURLConnection`或第三方库如Apache HttpClient来构建...

    超简单的webservice调用

    然后,学习Hutool库的使用,特别是其`cn.hutool.soap`模块,这个模块提供了创建和发送SOAP请求的方法。接着,根据`README.md`的指示,理解并运行项目,查看如何通过封装好的接口调用Web Service。这可能涉及到解析...

    webService添加basic验证

    ### WebService添加Basic验证详解 在现代Web应用中,安全性和数据保护至关重要。为了确保对外提供的WebService接口不被未授权的第三方访问,一种常见的做法就是在这些接口上实施身份验证机制。其中,Basic验证是一...

    Nginx实现WebService负载均衡

    Nginx下实现对cxf WebService的负载均衡。

    提高WebService速度方法

    本文将深入探讨如何优化这个过程,提升WebService的访问速度。 首先,我们要理解为什么Web Service首次访问慢。当客户端首次调用一个WebService时,由于.NET框架的Just-In-Time (JIT)编译机制,服务的代码会被转化...

    Android使用Ksoap2进行HttpGet、HttpPost向WebService请求

    在Android上使用HttpGet、HttpPost和WebService进行通信,对ksoap2的接口进行封装,包括参数的构建、服务端返回数据的xml的解析等。内附ksoap2的jar包和ksoap2的封装类,可直接使用。

    通过webservice提交xml数据以及soap协议的使用

    Web服务(WebService)是一种基于互联网的标准,用于应用程序之间的交互,它允许不同的系统之间共享数据和服务。在本主题中,我们将深入探讨如何通过Web服务提交XML数据以及SOAP(Simple Object Access Protocol)...

    java代理实现webservice接口拦截器功能

    本文根据java代理实现CXF拦截器异常时只能进入fault拦截器而不能继续向下执行的问题。 利用java代理让RMI具有拦截器的功能。

Global site tag (gtag.js) - Google Analytics