电信彩信附件,webservice HttpURLConnection
原先用 gSOAP 开发过一个,所发送的彩信(电信),附件中的图片可以打开。
生产环境中必须用 java,用 axis 开发出来的,所发送的彩信,附件中的图片无法打开。
解决方式:
1、用 wireshark 抓取正常的彩信包;
2、用 HttpURLConnection 直接发送:
private void testMMS(String boundary, String start, byte[] requestData) throws Exception{
HttpURLConnection connection = (HttpURLConnection) new URL(url).openConnection();
connection.setUseCaches(false);
connection.setDoOutput(true);
connection.setDoInput(true);
connection.setRequestProperty("User-Agent", "kSOAP/2.0");
connection.setRequestProperty("SOAPAction", "");
connection.setRequestProperty("Content-Type", "multipart/related; charset=utf-8; " +
"boundary=\""+boundary+"\"; " +
"type=\"text/xml\"; start=\"<"+start+">\"");
connection.setRequestProperty("Connection", "close");
connection.setRequestProperty("Content-Length", "" + requestData.length);
connection.setRequestMethod("POST");
connection.connect();
OutputStream os = connection.getOutputStream();
System.out.println( "245_requestData.length:" + requestData.length );
os.write(requestData, 0, requestData.length);
os.flush();
os.close();
requestData = null;
InputStream is;
try {
connection.connect();
is = connection.getInputStream();
} catch (IOException e) {
e.printStackTrace();
is = connection.getErrorStream();
System.out.println("is:" + is);
if (is == null) {
connection.disconnect();
throw (e);
}
}
ByteArrayOutputStream bos = new ByteArrayOutputStream();
byte[] buf = new byte[256];
while (true) {
int rd = is.read(buf, 0, 256);
if (rd == -1)
break;
bos.write(buf, 0, rd);
}
bos.flush();
buf = bos.toByteArray();
responseDump = new String(buf);
System.out.println("responseDump:" + responseDump);
is.close();
is = new ByteArrayInputStream(buf);
}
这段代码,是从 kSOAP 里扒出来的。
在研究过程中,因为对 webservice 的附件不太了解,还参考了 axis 的源码。
分享到:
相关推荐
GSM手机彩信WebService是一种基于Web服务技术,用于在GSM(Global System for Mobile Communications,全球移动通信系统)网络中发送和接收多媒体信息的服务。这种服务允许用户通过互联网与GSM手机之间进行交互,...
### 彩信协议Webservice知识点解析 #### 一、彩信协议Webservice概览 **彩信协议Webservice**是一种面向企业的技术规范,用于描述如何通过Web服务接口实现彩信的发送与接收等功能。该规范由中国电信制定,旨在为...
在这个场景下,我们将探讨如何利用`HttpURLConnection`来调用.NET平台上的WebService服务。 **一、HttpURLConnection简介** `HttpURLConnection`是Java `java.net`包中的一个类,它提供了HTTP协议的连接、读写功能...
在本文中,我们将深入探讨如何使用WebService来上传一个或多个附件,特别是处理大附件的情况。这一主题对于构建分布式系统、实现跨平台文件共享以及在不同应用间传递数据至关重要。 首先,让我们理解什么是...
本教程主要探讨如何使用HttpURLConnection来访问WebService。 首先,让我们理解什么是WebService。WebService是一种基于开放标准(如SOAP、WSDL和UDDI)的,可以被不同平台和编程语言之间进行交互的服务。它们通过...
在本篇内容中,我们将深入探讨如何利用HttpURLConnection来获取Web Service上的数据,以及如何解析返回的XML节点,这部分将涉及W3C标准的XML解析方法。 首先,让我们了解HttpURLConnection的基本用法。...
Web服务(Webservice)是一种跨平台、跨语言的通信协议,它允许不同系统之间的应用程序进行交互。本文将深入探讨如何利用Web服务来实现大容量附件的上传。 一、Web服务简介 Web服务基于XML(Extensible Markup ...
HttpURLConnection conn = (HttpURLConnection) url.openConnection(); conn.setRequestMethod("POST"); conn.setDoOutput(true); conn.setRequestProperty("Content-Type", "application/x-...
这里提到的“WEBSERVICE 电信短信系统”是指通过WebService技术与电信运营商的短信服务接口进行对接,以实现从JAVA客户端发送短信的功能。这个系统的关键在于JAVA客户端如何正确地调用WebService接口来完成短信的...
泛微OA系统是一款广泛应用于企业办公自动化的工作流管理系统,它提供了强大的WebService接口,使得外部系统可以方便地与其进行数据交互和流程控制。本说明文档详细介绍了如何使用这些接口,包括检查部署状态、调用...
在这个特定的情况下,我们关注的是一个PHP WebService,它涉及到文章和附件的传输。 首先,让我们深入了解PHP WebService的基本原理。WebService是一种通过网络进行通信的软件系统,遵循标准的协议和规范,如SOAP...
### 带附件的Webservice知识点详解 #### 一、Webservice简介与概念 Web服务是一种跨编程语言和操作系统平台的、通过网络提供服务的方法。它通常使用HTTP协议进行通信,利用XML作为数据交换格式。Webservice允许不同...
本教程将探讨如何利用Flex作为前端客户端,通过WebService进行附件的上传和下载操作。 Flex是一款由Adobe开发的开源框架,主要用于创建交互式的、基于Flash Player或Adobe AIR的RIA。它提供了丰富的用户界面组件库...
本篇将详细讲解如何在Android应用中使用Java调用Webservice。 一、理解Web服务 Web服务是一种基于互联网的、标准化的服务交互方式,它允许不同系统之间的应用程序共享数据和功能。常见的Web服务有SOAP(Simple ...
这个"WebService教程+实例+代码提示功能WebService实例.rar"压缩包文件显然包含了关于WebService的学习资料、实例代码和可能的代码提示功能,旨在帮助用户深入理解和实践WebService的开发。 首先,"教程地址.txt"很...
调用WebService,最简单的办法当然是直接添加WEB引用,然后自动产生代理类,但是在调用JAVA的WebService时并没有这么简单,特别是对于SoapHeader的处理,通过C#添加Web引用方式访问JavaWebService的方法,除了string...
本话题将深入探讨如何通过WebService接口实现一个或多个附件的上传功能。 首先,让我们理解WebService的基本原理。WebService是一个自包含、自描述的应用程序,它可以被其他应用程序通过网络调用,不受平台限制。...
1. 调用WebService:使用Android的网络API(如HttpURLConnection)或者Retrofit等库,构造请求URL,携带必要的参数(如SQL查询语句),向服务器发送请求。 2. 数据解析:收到服务器返回的XML或JSON响应后,使用如DOM...
【标题】:Idea实现WebService实例 在Java开发中,WebService是一种常见的跨平台、跨语言的通信方式,它允许不同的应用程序之间交换数据。IntelliJ IDEA(简称Idea)是广受欢迎的Java集成开发环境,提供了强大的...
"电信设备-基于WebService的防灾减灾信息处理系统及方法"这一标题揭示了讨论的主题,涉及到的是电信行业中与灾害预防和缓解相关的技术应用。这里的核心是"基于WebService的防灾减灾信息处理系统",指的是利用...