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作为一种常用的Java库,被广泛用于发送HTTP请求并接收响应。本文将详细介绍如何使用HttpClient来调用WebService接口,并提供一个具体的示例代码来进行解析。 #### 二、HttpClient简介 HttpClient...
HttpClient是Apache基金会开发的一个HTTP客户端库,广泛应用于Java开发者中,用于执行HTTP请求。它提供了丰富的功能,包括GET、POST、PUT、DELETE等HTTP方法的支持,以及Cookie管理、URL连接重定向、请求与响应头的...
下面是一段简单的示例代码,展示了如何使用HttpClient发送一个POST请求,模拟调用一个SOAP WebService: ```java import org.apache.http.HttpHost; import org.apache.http.auth.AuthScope; import org.apache....
5. **发送请求并处理响应**:使用HttpClient的execute方法发送请求,并获取HttpResponse对象。从HttpResponse中可以读取状态码、响应头和响应内容。 6. **处理结果**:根据业务需求解析响应内容,可能需要进行XML或...
本示例将深入探讨如何使用Apache HttpClient库在Java环境中调用Web服务,特别是通过Maven构建项目的方式进行。HttpClient是一个强大的HTTP客户端编程工具包,能够支持多种HTTP协议特性,使得Web服务调用变得更加灵活...
首先,HTTPClient是Apache提供的一款强大的Java HTTP客户端API,它允许开发者发送HTTP请求并接收响应,支持各种HTTP方法,如GET、POST等。在本场景中,我们关注的是POST方法,它是HTTP协议中用于传输大量数据的一种...
本篇文章将深入探讨如何使用Java通过HTTPClient库来调用.Net Webservice并实现SOAP(Simple Object Access Protocol)协议通信。首先,理解SOAP是一种基于XML的协议,用于在Web上交换结构化的和类型化的信息,特别...
调用Web Service时,我们可以通过HttpClient发送POST请求,携带SOAP消息体来完成调用。以下是一段简单的HttpClient调用Web Service的代码示例: ```java CloseableHttpClient httpClient = HttpClients.create...
Java Socket 发送HTTP请求Web Service是一项...总的来说,Java Socket发送HTTP请求Web Service涉及网络编程和HTTP协议的理解,通过源码实现可以深入学习底层原理,但实际项目中可能更倾向于使用成熟的HTTP客户端库。
我们将主要围绕以下四个核心概念展开:HttpClient、WebService、Java接口调用以及代理配置。 HttpClient是Apache基金会的一个开源项目,提供了强大的HTTP客户端编程接口,支持HTTP/1.1和HTTP/2协议,广泛用于Java...
使用`HttpsURLConnection`或Apache HttpClient等库建立连接,设置请求方法(如GET或POST),然后发送请求。例如,使用`HttpsURLConnection`: ```java URL url = new URL("https://yourwebservicelink"); ...
总的来说,"java 调用 webService工具类"是一个用于简化Java应用程序调用SOAP WebService的实用工具,它封装了请求构建、发送、响应处理等复杂流程,让开发者能更专注于业务逻辑而不是底层通信细节。了解并熟练使用...
1. 创建HTTP请求:Android通过HttpURLConnection或HttpClient库来发送HTTP请求。由于Android API 23及以上版本移除了HttpClient,现在更推荐使用HttpURLConnection。 2. 构建请求参数:根据Web服务的接口需求,准备...
- Java中可以通过`java.net.HttpURLConnection`或者第三方库如Apache HttpClient来发送SOAP请求。 - 构建SOAP消息的方式与VB.NET类似,但需要注意字符串转义的不同,例如在Java中XML的双引号需要用`\"`来表示。 -...
C#可以通过创建一个与Java Web服务的WSDL(Web Service Description Language)文件对应的代理类来实现调用。 1. **生成代理类**:使用C#的`svcutil.exe`工具,通过提供Java Web服务的WSDL地址,可以自动生成一个...
通过上述分析可以看出,Java WebService客户端开发主要包括构建SOAP请求、设置HTTP请求头和发送HTTP请求三个主要步骤。此外,还需要对请求和响应数据进行适当的处理,确保数据的安全性和完整性。在实际开发过程中,...
在Java中,HttpURLConnection是处理HTTP连接的标准API,它提供了发送HTTP请求并接收响应的功能。相比Apache HttpClient或者OkHttp等第三方库,HttpURLConnection更轻量级,且内置了对HTTP/2的支持,更符合现代网络的...
Java调用WebService工程是将Java应用程序与通过WebService接口提供的服务进行交互的过程。WebService是一种基于XML标准的、平台和语言无关的通信方式,它允许不同系统间的应用能够共享数据和服务。在Java中,我们...
使用工具如`wsimport`命令或者IDE中的功能,可以自动生成与Web服务对应的Java客户端代码。 接下来,我们关注Cookie的处理。Cookie是一种在客户端和服务器之间传递信息的方式,常用于维持会话状态。在.NET Web服务中...