准备条件:
请求调用的方法、参数、请求的URL路径必须知道
private static String getSoapRequest(String areaCode,String content, String infoType, String reportDate) {
StringBuilder sb = new StringBuilder();
sb
.append("<?xml version=\"1.0\" encoding=\"utf-8\"?>"
+ "<soap:Envelope xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" "
+ "xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" "
+ "xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\">"
+ "<soap:Body>"
//请求调用的方法
+"<pushDateInfo xmlns=\"http://shcholBestWebservice.ffti.com\">"
+"<DateInfo>"//这种方式传的是一个对象,根据请求报文格式也可以直接传一个string参数
+ "<areaCode>" + areaCode + "</areaCode>"
+ "<content>" + content + "</content>"
+ "<infoType>" + infoType + "</infoType>"
+ "<reportDate>" + reportDate + "</reportDate>"
+"</DateInfo>"
+"</pushDateInfo>"
+ "</soap:Body></soap:Envelope>");
return sb.toString();
}
private static InputStream getSoapInputStream(String areaCode,String content, String infoType, String reportDate)
throws Exception {
try {
String soap = getSoapRequest( areaCode, content, infoType, reportDate);
if (soap == null) {
return null;
}
//System.out.println(soap);
//请求的URL路径
URL url = new URL("URL地址"); URLConnection conn = url.openConnection();
conn.setUseCaches(false);
conn.setDoInput(true);
conn.setDoOutput(true);
conn.setRequestProperty("Content-Length", Integer.toString(soap
.length()));
conn.setRequestProperty("Content-Type", "text/xml; charset=utf-8");
conn.setRequestProperty("SOAPAction",
"");
OutputStream os = conn.getOutputStream();
OutputStreamWriter osw = new OutputStreamWriter(os, "utf-8");
osw.write(soap);
osw.flush();
osw.close();
InputStream is = conn.getInputStream();
return is;
} catch (Exception e) {
e.printStackTrace();
return null;
}
}
接下来要做的就是对获取到的输入流做一些操作,如把输入流进行包装读取其中的报文
BufferedReader br = new BufferedReader(new InputStreamReader(is));
StringBuffer sb = new StringBuffer();
String message = "";
while((message=br.readLine())!=null){
sb.append(message);
}
return sb.toString();
说明:如果响应报文是包含命名空间格式的,解析使用dom4j配合xpath的api进行。
示例:参考附件
分享到:
相关推荐
"Delphi调用WebService的实例(非常经典)" 在 Delphi 中调用 WebService 是一种非常经典的实例。下面我们将详细介绍 Delphi 调用 WebService 的相关知识点。 首先, Delphi 调用 WebService 需要了解基本概念。...
"Java 使用 XFire 调用 webService 接口" 在本文中,我们将学习如何使用 XFire 框架在 Java 中调用 webService 接口。XFIRE 是一个基于 Java 的开源框架,用于简化 Web 服务的开发和集成。下面,我们将通过一个简单...
C# _.NET_动态调用webservice的三种方式 在本文中,我们将讨论如何动态调用WebService的三种方式。在某些情况下,我们可能需要在程序运行期间动态调用一个未知的服务。这可以通过使用.NET Framework的System.Web....
在WinForm应用程序中调用WebService是一项常见的任务,它允许客户端应用程序与远程服务器上的服务进行交互,从而实现数据交换和功能扩展。以下是如何在WinForm中实现这一操作的详细步骤及涉及的相关知识点: 1. **...
在PB(PowerBuilder)中调用WebService是一种常见的技术操作,用于让PB应用程序与Web服务进行交互,实现数据的远程调用和交换。本篇将详细解释如何在PB中调用WebService,以及涉及到的相关知识点。 首先,理解...
在探讨“VB如何调用WebService”的主题时,我们首先需要理解几个关键概念:Visual Basic(简称VB),WebService,以及SOAP协议。Visual Basic是一种由微软开发的面向对象的编程语言,广泛应用于Windows平台上的应用...
### 使用HttpClient调用WebService接口详解 #### 一、概述 在现代软件开发中,Web服务(尤其是WebService)作为实现系统间交互的一种重要手段被广泛采用。WebService提供了通过HTTP协议进行远程过程调用的能力,...
在调用WebService时,POST方法可以承载请求参数,将其封装在请求体中发送到服务端。 1. **构建HTTP请求** 在Java中,可以使用`java.net.URL`、`java.net.HttpURLConnection`或第三方库如Apache HttpClient来构建...
本文将深入探讨如何在C#中实现动态调用WebService服务,主要涉及"反射"和"动态调用"这两个核心概念。 首先,我们要理解什么是WebService。WebService是一种基于开放标准(如SOAP、WSDL和UDDI)的,可以在不同操作...
本篇文章将详细讲解如何在C++中调用WebService,包括静态和动态方式,并探讨相关的源码实现。 首先,让我们理解什么是WebService。WebService是一种基于XML的开放标准,允许不同平台和应用程序之间进行互操作。它...
### SqlServer触发器调用WebService知识点详解 #### 一、SqlServer触发器简介 在了解如何通过Sql Server触发器调用WebService之前,我们首先需要对触发器有一个基本的认识。触发器是一种特殊的存储过程,它被定义...
【C# 调用WebService的方法】 在.NET Framework的开发中,经常需要与其他系统或服务进行接口集成,其中一种常见的通信方式就是使用WebService。本文将详细介绍两种在C#中调用WebService的方法:静态引用和动态调用...
在本文中,我们将深入探讨如何使用HttpClient调用WebService。 首先,调用WebService通常涉及SOAP(Simple Object Access Protocol)或RESTful API。HttpClient可以处理这两种类型的Web服务。在本示例中,我们假设...
【VB.NET调用WebService的基本概念】 VB.NET(Visual Basic .NET)是微软开发的一种面向对象的编程语言,它是.NET框架的一部分,支持多种编程模式,包括面向对象编程。WebService是一种基于HTTP协议的Web应用程序,...
### vc6.0调用WebService的方法详解 在深入探讨如何使用Visual C++ 6.0(简称VC6.0)来调用WebService之前,我们首先需要了解几个基本概念:SOAP、WebService以及它们与VC6.0的关系。 #### SOAP(Simple Object ...
本主题的核心是"拼接XML调用WebService",这通常指的是通过构建XML字符串来构造请求,然后发送该请求到一个Web Service接口以获取响应。以下是对这个过程的详细解释: 1. **XML基础**:XML是一种结构化标记语言,它...
### Oracle调用WebService接口地址Demo解析 #### 一、引言 在企业级应用开发中,不同系统间的集成与通信尤为重要。Oracle数据库作为一款广泛使用的数据库管理系统,支持多种方式与其他系统进行交互,其中通过调用...
### BCB调用WebService方法详解及常见问题排查 #### 一、引言 在现代软件开发中,跨平台服务通信已成为一种常态。其中,WebService作为一种常见的远程服务调用方式,在不同语言之间进行交互时扮演着重要的角色。...
4. **调用WebService**:在.NET环境中,可以通过`System.Web.Services.Protocols.SoapHttpClientProtocol`类或者更简单的Web Reference(在.NET Framework 4.0之后被WCF取代)来调用WebService。这里提到的`Ajax....
本文将详细介绍 Oracle 调用 Webservice 的实现过程,包括 Webservice 的基本概念、 Java 编写简单的 WebService 实例、Oracle 服务器端配置、加载 JAR 包、测试调用 PHP Webservice 和 Java Webservice 等内容。...