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连接重定向、请求与响应头的...
5. **发送请求并处理响应**:使用HttpClient的execute方法发送请求,并获取HttpResponse对象。从HttpResponse中可以读取状态码、响应头和响应内容。 6. **处理结果**:根据业务需求解析响应内容,可能需要进行XML或...
本示例将深入探讨如何使用Apache HttpClient库在Java环境中调用Web服务,特别是通过Maven构建项目的方式进行。HttpClient是一个强大的HTTP客户端编程工具包,能够支持多种HTTP协议特性,使得Web服务调用变得更加灵活...
调用Web Service时,我们可以通过HttpClient发送POST请求,携带SOAP消息体来完成调用。以下是一段简单的HttpClient调用Web Service的代码示例: ```java CloseableHttpClient httpClient = HttpClients.create...
首先,HTTPClient是Apache提供的一款强大的Java HTTP客户端API,它允许开发者发送HTTP请求并接收响应,支持各种HTTP方法,如GET、POST等。在本场景中,我们关注的是POST方法,它是HTTP协议中用于传输大量数据的一种...
下面是一段简单的示例代码,展示了如何使用HttpClient发送一个POST请求,模拟调用一个SOAP WebService: ```java import org.apache.http.HttpHost; import org.apache.http.auth.AuthScope; import org.apache....
Java Socket 发送HTTP请求Web Service是一项...总的来说,Java Socket发送HTTP请求Web Service涉及网络编程和HTTP协议的理解,通过源码实现可以深入学习底层原理,但实际项目中可能更倾向于使用成熟的HTTP客户端库。
使用`HttpsURLConnection`或Apache HttpClient等库建立连接,设置请求方法(如GET或POST),然后发送请求。例如,使用`HttpsURLConnection`: ```java URL url = new URL("https://yourwebservicelink"); ...
1. 创建HTTP请求:Android通过HttpURLConnection或HttpClient库来发送HTTP请求。由于Android API 23及以上版本移除了HttpClient,现在更推荐使用HttpURLConnection。 2. 构建请求参数:根据Web服务的接口需求,准备...
C#可以通过创建一个与Java Web服务的WSDL(Web Service Description Language)文件对应的代理类来实现调用。 1. **生成代理类**:使用C#的`svcutil.exe`工具,通过提供Java Web服务的WSDL地址,可以自动生成一个...
Java调用WebService工程是将Java应用程序与通过WebService接口提供的服务进行交互的过程。WebService是一种基于XML标准的、平台和语言无关的通信方式,它允许不同系统间的应用能够共享数据和服务。在Java中,我们...
综上所述,"http和WebService 调用接口Java代码demo"这个主题涵盖了Java通过HTTP进行接口调用的基本方法,以及Web Service的使用,特别是结合Spring Boot的场景。在实际项目中,理解并熟练运用这些技术能够帮助我们...
使用工具如`wsimport`命令或者IDE中的功能,可以自动生成与Web服务对应的Java客户端代码。 接下来,我们关注Cookie的处理。Cookie是一种在客户端和服务器之间传递信息的方式,常用于维持会话状态。在.NET Web服务中...
8. **HTTP客户端库**:为了通过HTTP发送请求,可能还需要HTTP客户端库,如`httpclient.jar`(Apache HttpClient)或`httpcore.jar`,它们处理HTTP连接和请求。 在实际开发中,根据选用的框架和Web服务的特性,可能...
在IT行业中,Web服务是应用程序...通过HttpClient发送SOAP请求,并利用Dom4j解析返回的XML数据,可以有效地与Web服务进行交互并处理结果。理解并掌握这些技术对于任何Java开发者在处理Web服务集成时都是至关重要的。
在Java中,可以使用`java.net.URL`、`java.net.HttpURLConnection`或第三方库如Apache HttpClient来构建HTTP POST请求。以下是一个使用HttpURLConnection的基本示例: ```java URL url = new URL(...
HttpClient是一个Java库,用于执行HTTP请求,而WebService是一种通过网络进行通信的服务,常用于不同系统间的集成。下面将详细介绍这两者及其在客户端程序中的应用。 HttpClient是Apache基金会的一个开源项目,它为...
5. **代码实现**:调用WebService的代码通常涉及使用HttpWebRequest或HttpClient类来发送HTTP POST请求,并附带构建好的XML数据。在.NET中,可以通过`System.IO`和`System.Xml`命名空间的类来读取和修改XML文件,...
- **调用服务方法**:通过代理类的对象调用JavaWebService中的公开方法,传入参数并接收返回值。 3. **处理数据类型**: C#和Java的数据类型可能会有所不同,比如Java的`Date`在C#中可能是`DateTime`。为了解决...