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

通过HttpClient发送Web Service请求

阅读更多
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 客户端发送xml报文到服务器端采用post方式(加密)传递

    本示例探讨的是如何使用HTTPClient库在客户端发送XML报文到服务器端,且报文通过POST方法传递,并可能涉及加密处理,确保数据的安全性。 首先,HTTPClient是Apache提供的一款强大的Java HTTP客户端API,它允许...

    httpClient调用webservice接口

    1. **SOAP请求消息的构建**:在`accessService`方法中,通过`StringBuffer`来逐步构建SOAP请求消息,包括设置SOAP的命名空间、方法名以及参数等信息。 2. **HTTP请求的配置**:通过`PostMethod`对象来设置HTTP请求的...

    C#利用Web Service发送手机短信

    通过学习和运行这些示例,你可以亲自动手实践并掌握C#利用Web Service发送手机短信的技术。 总之,C#结合Web Service发送手机短信涉及到的知识点包括:Web Service的概念和创建,C#中的HTTP请求实现,错误处理,...

    HttpClient 调用WebService示例

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

    ASP .NET 与 Web Service 实例剖析

    在ASP.NET中集成Web Service,可以利用HttpClient类发送SOAP请求,并解析返回的XML数据。这样,Web Service可以作为后台数据源,为ASP.NET网页提供动态内容。例如,网页上的天气预报模块可以调用上述的"GetWeather...

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

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

    天气预报 Web service

    【天气预报 Web service】是一种基于网络的API服务,允许开发者通过发送请求获取特定地区的实时或未来几天的天气信息。在本案例中,我们有一个已经调试好的实现,这意味着它经过了测试,可以正常运行并返回预期的...

    HttpClient实现文件下载

    Apache HttpClient 是一个用于发送HTTP请求的Java类库,它提供了多种方法来处理HTTP请求,并且支持包括GET、POST在内的各种HTTP方法。本文将详细介绍如何使用 HttpClient 进行文件下载。 #### 二、环境准备与需求...

    Google Web Service Java解析

    总结,通过Java实现Google Web Service请求,主要涉及到URL构建、网络请求和数据解析三个关键步骤。利用Google提供的Java客户端库可以简化这个过程,提高开发效率。不过,实际开发时还需要关注错误处理、权限验证、...

    java 调用 web seervice 方法

    对于调用 Web Service,特别是 SOAP 服务,你可以构建一个 SOAP 消息作为请求体,然后使用 HttpClient 发送 POST 请求到 Web Service 的地址。首先,你需要定义 SOAP 请求的数据结构,通常可以借助 XMLSpy 之类的...

    java socket 发送http请求webservice.

    要发送HTTP请求到Web Service,我们需要创建一个Socket对象,连接到目标服务器的指定端口,然后通过输入流写入HTTP请求,通过输出流读取响应。 下面是一段简单的Java代码示例,演示如何使用Socket发送GET类型的HTTP...

    使用XFire+Spring构建Web Service

    通过使用SOAP(简单对象访问协议)和WSDL(Web服务描述语言),Web Service可以被发现、绑定和调用,实现了跨平台和跨语言的通信。 在XFire与Spring集成的例子中,我们首先了解了这个框架组合提供的主要功能和特点...

    《实战 Web Service 压缩传输》

    Web Service是通过SOAP(Simple Object Access Protocol)消息在不同的应用程序之间交换数据。SOAP消息通常基于HTTP协议进行传输,它将业务逻辑封装在XML格式的文档中。然而,XML的结构化特性导致其在数据量较大时...

    httpclient

    5. **执行请求**:调用HttpClient对象的execute方法发送请求。 6. **处理响应**:获取HttpResponse对象,读取状态码,使用EntityUtils类处理响应实体,如读取内容或写入文件。 7. **关闭连接**:在完成操作后,...

    httpclient实现webservice客户端

    使用HttpClient,我们可以构建一个WebService客户端,向Web服务发送SOAP请求并接收响应。 下面是一段简单的示例代码,展示了如何使用HttpClient发送一个POST请求,模拟调用一个SOAP WebService: ```java import ...

    HttpClient问题:The server failed to respond with a valid HTTP resp

    检查网络连接,确保能够访问其他Web服务,如果网络没有问题,那么问题可能在于服务器或HttpClient的配置。 2. **服务器配置**:服务器可能存在配置错误,例如服务器端口没有打开,服务器应用程序崩溃,或者服务器不...

    Android应用源码之从中调用web service的源码.zip

    在Android应用开发中,与Web服务的交互是一个...通过这个源码,开发者可以深入理解Android与Web Service交互的整个流程,包括请求构造、发送、解析响应、错误处理等环节,这对于提升Android网络编程能力非常有帮助。

    C#Post带参数请求+WebService接口.zip

    创建WCF服务需要配置服务接口和服务实现,定义合同(Contract)和服务(Service),然后通过配置文件指定服务的行为和地址。 调用WebService接口在C#中主要通过生成代理类完成,这通常是通过添加服务引用或者使用`...

Global site tag (gtag.js) - Google Analytics