`
j2ee_zhongqi
  • 浏览: 207106 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

java代码通过HttpClient发送WebService请求

阅读更多
import java.io.ByteArrayInputStream;   
import java.io.InputStream;   
  
import org.apache.commons.httpclient.HttpClient;   
import org.apache.commons.httpclient.methods.InputStreamRequestEntity;   
import org.apache.commons.httpclient.methods.PostMethod;   
import org.apache.commons.httpclient.methods.RequestEntity;   
  
public class Saml_Test {   
    private static final String soapRequestData =   
"       <SOAP:Envelope xmlns:SOAP=\"http://schemas.xmlsoap.org/soap/envelope/\">"  
+"      <SOAP:Header>"  
+"      <wsse:Security xmlns:wsse=\"http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd\">"  
+"          <wsse:UsernameToken xmlns:wsse=\"http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd\">"  
+"              <wsse:Username>administrator</wsse:Username>"  
+"              <wsse:Password>cordys</wsse:Password>"  
+"          </wsse:UsernameToken>"  
+"      </wsse:Security>"  
+"  </SOAP:Header>"  
+"  <SOAP:Body>"  
+"      <samlp:Request xmlns:samlp=\"urn:oasis:names:tc:SAML:1.0:protocol\" MajorVersion=\"1\" MinorVersion=\"1\">"  
+"          <samlp:AuthenticationQuery>"  
+"              <saml:Subject xmlns:saml=\"urn:oasis:names:tc:SAML:1.0:assertion\">"  
+"                  <saml:NameIdentifier Format=\"urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified\">administrator</saml:NameIdentifier>"  
+"              </saml:Subject>"  
+"          </samlp:AuthenticationQuery>"  
+"      </samlp:Request>"  
+"  </SOAP:Body>"  
+"</SOAP:Envelope>";   
    public static void main(String[] args) {   
        try {   
            System.out.println(soapRequestData);   
            PostMethod postmethod = new PostMethod(   
                    "http://10.200.1.128/cordys/com.eibus.web.soap.Gateway.wcp");   
            byte[] b = soapRequestData.getBytes("UTF-8");   
            InputStream is = new ByteArrayInputStream(b, 0, b.length);   
            RequestEntity re = new InputStreamRequestEntity(is, b.length,   
                    "application/xop+xml; charset=UTF-8; type=\"text/xml\"");   
            postmethod.setRequestEntity(re);   
            HttpClient httpClient = new HttpClient();   
            int statusCode = httpClient.executeMethod(postmethod);   
            System.out.println("statuscode=" + statusCode);   
            String soapResponseData = postmethod.getResponseBodyAsString();   
            System.out.println(soapResponseData);   
        } catch (Exception ex) {   
            ex.printStackTrace();   
        }   
    }   
} 
分享到:
评论

相关推荐

    httpClient调用webservice接口

    其中,HttpClient作为一种常用的Java库,被广泛用于发送HTTP请求并接收响应。本文将详细介绍如何使用HttpClient来调用WebService接口,并提供一个具体的示例代码来进行解析。 #### 二、HttpClient简介 HttpClient...

    HttpClient 调用WebService示例

    HttpClient是Apache基金会开发的一个HTTP客户端库,广泛应用于Java开发者中,用于执行HTTP请求。它提供了丰富的功能,包括GET、POST、PUT、DELETE等HTTP方法的支持,以及Cookie管理、URL连接重定向、请求与响应头的...

    httpclient实现webservice客户端

    下面是一段简单的示例代码,展示了如何使用HttpClient发送一个POST请求,模拟调用一个SOAP WebService: ```java import org.apache.http.HttpHost; import org.apache.http.auth.AuthScope; import org.apache....

    Httpclient调用WebService所需jar包

    5. **发送请求并处理响应**:使用HttpClient的execute方法发送请求,并获取HttpResponse对象。从HttpResponse中可以读取状态码、响应头和响应内容。 6. **处理结果**:根据业务需求解析响应内容,可能需要进行XML或...

    webservice调用实例,通过HttpClient调用

    本示例将深入探讨如何使用Apache HttpClient库在Java环境中调用Web服务,特别是通过Maven构建项目的方式进行。HttpClient是一个强大的HTTP客户端编程工具包,能够支持多种HTTP协议特性,使得Web服务调用变得更加灵活...

    httpclient 客户端发送xml报文到服务器端采用post方式(加密)传递

    首先,HTTPClient是Apache提供的一款强大的Java HTTP客户端API,它允许开发者发送HTTP请求并接收响应,支持各种HTTP方法,如GET、POST等。在本场景中,我们关注的是POST方法,它是HTTP协议中用于传输大量数据的一种...

    Java访问.Net Webservice 通过httpclient SOAP实现

    本篇文章将深入探讨如何使用Java通过HTTPClient库来调用.Net Webservice并实现SOAP(Simple Object Access Protocol)协议通信。首先,理解SOAP是一种基于XML的协议,用于在Web上交换结构化的和类型化的信息,特别...

    java socket 发送http请求webservice.

    Java Socket 发送HTTP请求Web Service是一项...总的来说,Java Socket发送HTTP请求Web Service涉及网络编程和HTTP协议的理解,通过源码实现可以深入学习底层原理,但实际项目中可能更倾向于使用成熟的HTTP客户端库。

    http和WebService 调用接口Java代码demo

    我们将主要围绕以下四个核心概念展开:HttpClient、WebService、Java接口调用以及代理配置。 HttpClient是Apache基金会的一个开源项目,提供了强大的HTTP客户端编程接口,支持HTTP/1.1和HTTP/2协议,广泛用于Java...

    java 调用webservice使用HttpClient和XFire两种方式

    调用Web Service时,我们可以通过HttpClient发送POST请求,携带SOAP消息体来完成调用。以下是一段简单的HttpClient调用Web Service的代码示例: ```java CloseableHttpClient httpClient = HttpClients.create...

    Java中如何通过https调用Webservice接口_测试环境.rar

    使用`HttpsURLConnection`或Apache HttpClient等库建立连接,设置请求方法(如GET或POST),然后发送请求。例如,使用`HttpsURLConnection`: ```java URL url = new URL("https://yourwebservicelink"); ...

    java 调用 webService工具类

    总的来说,"java 调用 webService工具类"是一个用于简化Java应用程序调用SOAP WebService的实用工具,它封装了请求构建、发送、响应处理等复杂流程,让开发者能更专注于业务逻辑而不是底层通信细节。了解并熟练使用...

    java android 调用webservice

    1. 创建HTTP请求:Android通过HttpURLConnection或HttpClient库来发送HTTP请求。由于Android API 23及以上版本移除了HttpClient,现在更推荐使用HttpURLConnection。 2. 构建请求参数:根据Web服务的接口需求,准备...

    VB.NET/JAVA 采用SOAP 与Webservice发送/接收数据

    - Java中可以通过`java.net.HttpURLConnection`或者第三方库如Apache HttpClient来发送SOAP请求。 - 构建SOAP消息的方式与VB.NET类似,但需要注意字符串转义的不同,例如在Java中XML的双引号需要用`\"`来表示。 -...

    Java写WebService客户端

    通过上述分析可以看出,Java WebService客户端开发主要包括构建SOAP请求、设置HTTP请求头和发送HTTP请求三个主要步骤。此外,还需要对请求和响应数据进行适当的处理,确保数据的安全性和完整性。在实际开发过程中,...

    HttpUrlConnection请求WebService.rar

    在Java中,HttpURLConnection是处理HTTP连接的标准API,它提供了发送HTTP请求并接收响应的功能。相比Apache HttpClient或者OkHttp等第三方库,HttpURLConnection更轻量级,且内置了对HTTP/2的支持,更符合现代网络的...

    java调用webservice工程

    Java调用WebService工程是将Java应用程序与通过WebService接口提供的服务进行交互的过程。WebService是一种基于XML标准的、平台和语言无关的通信方式,它允许不同系统间的应用能够共享数据和服务。在Java中,我们...

    c#调用java带身份验证webservice

    C#可以通过创建一个与Java Web服务的WSDL(Web Service Description Language)文件对应的代理类来实现调用。 1. **生成代理类**:使用C#的`svcutil.exe`工具,通过提供Java Web服务的WSDL地址,可以自动生成一个...

    java访问.net webservice获取与设置cookie

    使用工具如`wsimport`命令或者IDE中的功能,可以自动生成与Web服务对应的Java客户端代码。 接下来,我们关注Cookie的处理。Cookie是一种在客户端和服务器之间传递信息的方式,常用于维持会话状态。在.NET Web服务中...

Global site tag (gtag.js) - Google Analytics