手动解析webservice包的问题

问题描述

目前我们公司在做四川电信的项目,对接对方的isag网关,再实现彩信的时候遇到问题了,下行很正常,上行的时候,电信给我们发的数据包,axis不解析,认为是不合法的内容,此前电信给的是一个.net的范例,而我们是java,在这样的情况下,我决定手动解析对方传来的数据包,于是我重写了axis的axisservlet,但是在解析图片的时候的时候出现问题,我的处理过程如下数据包(我得到的是个流)》》字符串》》》分割》》》获取图片内容》》转为流》》》写入文件》》文件打不开,请问各位达人能给点建议么?

解决方案

解决方案二:
附收到的数据包POST/services/MMSMessageNotificationHTTP/1.1Connection:closeCache-Control:no-cacheContent-Type:multipart/mixed;Type="text/xml";start="<1.xml>";boundary="Sub1--------------------------------------------=_NextPart_0_24856"Content-Length:11958Accept:*/*Host:124.193.96.86:81SOAPAction:""--Sub1--------------------------------------------=_NextPart_0_24856Content-Type:text/xml;charset="utf-8"Content-ID:<1.xml>Content-Transfer-Encoding:8bit<?xmlversion="1.0"encoding="UTF-8"?><env:Envelopexmlns:env="http://schemas.xmlsoap.org/soap/envelope/"xmlns:xsd="http://www.w3.org/2001/XMLSchema"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><env:Header><NotifySOAPHeaderxmlns="http://www.chinatelecom.com.cn/schema/ctcc/common/v2_1"><spRevId>-1</spRevId><spRevpassword>-1</spRevpassword><spId>23129921</spId><SAN>1065960605003</SAN></NotifySOAPHeader></env:Header><env:Body><notifyMessageReceptionxmlns="http://www.chinatelecom.com.cn/schema/ctcc/multimedia_messaging/notification/v2_2/local"><registrationIdentifier></registrationIdentifier><message><messageServiceActivationNumber>1065960605003</messageServiceActivationNumber><senderAddress>tel:+8618980004148</senderAddress><subject></subject><priority>Normal</priority></message></notifyMessageReception></env:Body></env:Envelope>--Sub1--------------------------------------------=_NextPart_0_24856Content-Type:application/smilContent-ID:<start.smi>Content-Transfer-Encoding:8bitContent-Location:start.smi<smil>.<head>..<metaname="author"content="USER"/>..<metaname="title"content="Hi"/>..<layout>...<root-layoutbackground-color="#FFFFFF"width="172"height="156"/>...<regionid="Image"width="96%"height="68%"left="2%"top="2%"fit="meet"/>..</layout>.</head>.<body>..<pardur="10000ms">...<imgsrc="img000.gif"region="Image"begin="0ms"end="10000ms"/>..</par>.</body></smil>
解决方案三:
--Sub1--------------------------------------------=_NextPart_0_24856Content-Type:image/gif;Name="img000.gif"Content-ID:<img000.gif>Content-Transfer-Encoding:8bitContent-Location:img000.gif
解决方案四:
下面是个文件内容
解决方案五:
该回复于2009-01-08 15:34:08被版主删除
解决方案六:
自己去拆分soap消息是下下策,你应该多想想为什么axis会不解析电信发过来的包,能不能通过其它方式解决。
解决方案七:
请问重写了axis的axisservlet是怎么做

时间: 2024-07-31 12:37:45

手动解析webservice包的问题的相关文章

app-APP签名后安装报错“解析程序包时出现错误”

问题描述 APP签名后安装报错"解析程序包时出现错误" 今天升级应用时,被告之签名发生变化--要知道我根本没有做过相关的任何操作,即使有签名也一定是MyEclipse帮我做的,而我对此一无所知.在网上查了一下,感觉还是有很多问题没有答案,所以问一下: 1.我之前生成的应用,发布了,现在我的笔记本换了,各应用包括Java.SDK.ADT等也换了.只有SDK和ADT.所有源码有备份,不知道还是否可以得到原应用文件的相关签名文件,包括如果存在的密钥或密码? 2.如果还有办法得到,应该也有办法

python用socket解析数据包的问题

问题描述 python用socket解析数据包的问题 用python做个抓包工具,下面有写代码不明白,请老师指点一下. while True: packet = s.recvfrom(65565) packet = packet[0] ip_header = packet[0:20] iph = unpack('!BBHHHBBH4s4s' , ip_header) version_ihl = iph[0] version = version_ihl >> 4 ihl = version_ih

winpcap+libnids解析tcp包求助

问题描述 我用winpcap+libnids解析tcp包.现在用wpcap捕获帧没有问题.但是换作libnids后,编译运行都没有错误,就是抓不到tcp的包,这可能是什么原因呢?(我用的是libnids1.19中的例子程序).............voidsniff_callback(structtcp_stream*a_tcp,void**this_time_not_needed){.............}intmain(){pcap_if_t*alldevs;pcap_if_t*d;i

WSDL手动生成WebService代理类的方法

通常要手动生成WebService代理类需要把一句生成语句,如 wsdl.exe /l:cs /out:D:\Proxy_UpdateService.cs http://localhost:1101/UpdateService.asmx?wsdl拷贝到Visual Studio 2005 命令提示窗口中去执行,这里再介绍另一个办法. 首先打开Visual Studio 2005,选择菜单"工具"-"外部工具"打开外部工具对话框,如图,单击"添加"

关于解析soap包问题

问题描述 我做了一个使用soap传输特定xml文档的例子,使用axis2向servlet发送带MTOM附件的xml文档,服务收到响应后,从httpservletrequest解析soap数据,但我从httpservletrequest的getreader或getinputstream都获取的是整个soap包,而我只需要soap的body和mtom附件部分,请问有哪位高人知道如何从httpservletrequest中解析xml文档.非常感谢!!!!

使用 Rhino 作为 Java 的 JSON 解析/转换包

前端开发者是幸福的,源自于浏览器对 JSON 天然的支持(JSON 本身脱胎于 JavaScript),JSON 字符串一下子 eval() 或者 JSON.parse() 就可以直接使用了:输出 JSON 字符反之亦然. 如果是 JS 的老大哥 Java 呢?这个问题大家应该都会不约而同地回答:一般从接口转换 Java 对象为 JSON 输出的时候都会选择相关的 JSON-lib,有的是 JSON.org 的,有的是 Jackson JSON,有的是 FastJSON 的,有的是 GSON的,

[转]Maven如何手动添加jar包到本地Maven仓库

Apache Maven,是一个软件(特别是Java软件)项目管理及自动构建工具,由Apache软件基金会所提供.基于项目对象模型(缩写:POM)概念,Maven利用一个中央信息片断能管理一个项目的构建.报告和文档等步骤.曾是Jakarta项目的子项目,现为独立Apache项目. 大家肯定遇到过想在pom文件中加入自己开发的依赖包,这些包肯定是不是在Maven仓库(http://repo1.maven.org/maven2/)的.那我们怎么将那些不存在Maven仓库中的包加入到本地的Mave

python解析发往本机的数据包示例 (解析数据包)_python

tcp.py 复制代码 代码如下: # -*- coding: cp936 -*-import socketfrom struct import *from time import ctime,sleepfrom os import system system('title tcp sniffer')system('color 05') # the public network interfaceHOST = socket.gethostbyname(socket.gethostname())

Xml WebService完全实例解析(二)

web|xml 上篇文章介绍了些webservice的基本特性和我们例子的结构,这篇文章我们将开始具体的代码编写工作.       这个专题主要讲述的是webservice,因此这里我们的代码以Webservice相关为主,而其他工程,例如:ServiceGatherSite,WebSiteA等,只将简略介绍.       在VS2003中,开发一个webservice并不是件困难的事,首先,我们新建一个webservice项目(文件->新建->项目->C#->Web服务应用程序)