上一个文章:[求救]电信彩信网关开发错误-SOAP_VERSIONMISMATCH 说的问题
<messageId>SVC0001</messageId>  

<text>SOAP_VERSIONMISMATCH</text>

已经解决,主要是查看了网上的一个同学的帖子,非常感谢。

再来看一下请求信息

1     POST /MmsSendMessageService HTTP/1.1  
2     Content-Type: multipart/related; boundary="==part20111027095621=="; type="text/xml"; start="<SOAP-ENV:Envelope>"  
3     SOAPAction: ""  
4     Host: 118.85.200.55:9081  
5     Content-Length: 49878  

6     Expect: 100-continue

这个是HttpWebRequest  请求的头。这两个东西很重要。

Content-Type: multipart/related; boundary="==part20111027095621=="; type="text/xml"; start="<SOAP-ENV:Envelope>"

SOAPAction: ""        电信文档里有提到,SOAPAction用空值。

需要添加到头中去。

1     HttpWebRequest myRequest = (HttpWebRequest)WebRequest.Create(请求的地址);   

2     myRequest.ContentType = "multipart/related; boundary=\"==part20111027095621==\"; type=\"text/xml\"; start=\"<SOAP-ENV:Envelope>\"";  
3     myRequest.Headers.Add("SOAPAction: \"\"");

接下来就是拼接彩信包了。[求救]电信彩信网关开发错误-SOAP_VERSIONMISMATCH 文章中的包还是有点小问题,下面看这个成功测试过的包。

 1 POST /MmsSendMessageService HTTP/1.1
 2 Host:118.85.200.55:9081
 3 User-Agent: WU
 4 Content-Type: multipart/related;  boundary="==part20120120111818=="; type="text/xml"; start="<BB724A5ADD3D2A96CA5E4697BAD1F3A8>"
 5 Content-Length:1803
 6 SOAPAction: ""
 7 
 8 --==part20120120111818==
 9 Content-Type: text/xml; charset=UTF-8
10 Content-Transfer-Encoding: binary
11 Content-ID: <BB724A5ADD3D2A96CA5E4697BAD1F3A8>
12 
13 <?xml version="1.0" encoding="UTF-8"?>
14 <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns3="http://www.chinatelecom.com.cn/schema/ctcc/common/v2_1" xmlns:ns1="http://www.chinatelecom.com.cn/schema/ctcc/multimedia_messaging/send/v2_2/local">
15 <SOAP-ENV:Header>
16 <ns3:RequestSOAPHeader>
17 <spId>35101051</spId>
18 <spPassword>E6E19093A2691F495D27332B9F1584F8</spPassword>
19 <timeStamp>0120111818</timeStamp>
20 <productId>135000000000000166819</productId>
21 <SAN></SAN>
22 <transactionId></transactionId>
23 <transEnd>0</transEnd>
24 <linkId>01130545065586044505</linkId>
25 <OA>tel:18925280633</OA>
26 <FA></FA>
27 <multicastMessaging>false</multicastMessaging>
28 </ns3:RequestSOAPHeader>
29 </SOAP-ENV:Header>
30 <SOAP-ENV:Body>
31 <ns1:sendMessage>
32 <ns1:addresses>tel:18925280633</ns1:addresses>
33 <ns1:senderAddress>10660502</ns1:senderAddress>
34 <ns1:subject>生活帮</ns1:subject>
35 <ns1:priority>Default</ns1:priority>
36 <ns1:charging>
37 <description></description>
38 <currency></currency>
39 <amount>100</amount>
40 <code>shb</code>
41 </ns1:charging>
42 <ns1:receiptRequest>
43 <endpoint>tel:18925280633</endpoint>
44 <interfaceName>sendMessage</interfaceName>
45 <correlator>201201130605570433620518925280633</correlator>
46 </ns1:receiptRequest>
47 </ns1:sendMessage>
48 </SOAP-ENV:Body>
49 </SOAP-ENV:Envelope>
50 --==part20120120111818==
51 Content-Type: text/plain; charset=UTF-8
52 Content-Transfer-Encoding: binary
53 Content-ID: <1.txt>
54 Content-Location: 1.txt
55 
56 yyadsf
57 
58 --==part20120120111818==--

这里要说的是几个特别需要注意的地方。

根据包格式组包成功后,和电信对接测试。

一直不能成功。通过抓包发现错误提示是

<faultstring>500 Internal Server Error</faultstring>

具体错误是:

1     <messageId>SVC0001</messageId>  

2     <text>SOAP_VERSIONMISMATCH</text>

继续和电信提供的包格式核对,确定包体和附件都没问题。

错误的内容是SOAP版本不正确,我就想难道是电信的和我用的SOAP版本不想符合,
于是我就继续查找SOAP相关的知识。
看到一个很有用的帖子,地址不记得了(找到在发布上来)。
帖子中说道带附件的SOAP包格式。
包体之间需要用换行符号隔开。
1     --==part20111027095621==这里有个\r\n
2     Content-Type: text/xml; charset=UTF-8  这里有个\r\n
3     Content-Transfer-Encoding: binary  这里有个\r\n
4     Content-ID: <SOAP-ENV:Envelope>  这里有个\r\n 还需要在来一个\r\n空一行
5       

6     <?xml version="1.0" encoding="UTF-8" ?>

根据包格式组包成功后,和电信对接测试,一直不能成功。

包体和附件,附件中协议和附件体具体格式请参照上面成功的包。

这个换行一定要注意,不然post就不能成功。

返回的数据格式为:

<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:comm3="http://www.chinatelecom.com.cn/schema/ctcc/common/v2_1" xmlns:mm1="http://www.chinatelecom.com.cn/schema/ctcc/multimedia_messaging/send/v2_2/local">
    <SOAP-ENV:Header>
        <comm3:NotifySOAPHeader>
            <spRevId>szsxd</spRevId>
            <spRevpassword>123542</spRevpassword>
            <spId>35101051</spId>
            <linkId>01130545065586044505</linkId>
        </comm3:NotifySOAPHeader>
    </SOAP-ENV:Header>
    <SOAP-ENV:Body>
        <mm1:sendMessageResponse>
            <mm1:result>19350101400120111824000490H</mm1:result>
        </mm1:sendMessageResponse>
    </SOAP-ENV:Body>

</SOAP-ENV:Envelope>

程序处理Ok,再此还要感谢Google的搜索,和那位大哥的换行指导。

转载于:https://www.cnblogs.com/wenanry/archive/2012/01/20/2327945.html

[解决]电信彩信网关开发错误-SOAP_VERSIONMISMATCH相关推荐

  1. hibernate开发错误及解决办法

    2019独角兽企业重金招聘Python工程师标准>>> hibernate开发错误及解决办法 <!-- attachment--> <!-- attachment ...

  2. 504服务器无响应,什么是504网关超时错误(以及如何解决)? | MOS86

    当试图加载网页的服务器没有及时从另一台服务器获得响应时,就会发生504网关超时错误.几乎总是错误是在网站本身上,您无能为力. 但请稍后再试. 不过,您可以尝试一些快速操作. 504网关超时错误表示尝试 ...

  3. tewa600agm是千兆吗_电信天翼网关光纤猫超级用户 型号tewa-600aem/tewa600agm怎么样?...

    答:您好 电信光纤猫自己一般是不能设置的,如果需要设置,需要电信装维工作人员使用专用的帐号和密码才能登陆设置的. 答:网关注册SN号后插千兆口就可以上网了. 方法: INTERNET-R-VID-41 ...

  4. [短彩信]C#短彩信模块开发设计(1)——架构

    准备从以下几个方面简单的谈谈短彩信模块的实现: [短彩信]C#短彩信模块开发设计(1)--架构(http://www.cnblogs.com/CopyPaster/archive/2012/12/07 ...

  5. 解决devenv.exe应用程序错误,应用程序发生异常

    解决devenv.exe应用程序错误,应用程序发生异常 打开VS2008/2010时,经常碰到:devenv.exe应用程序错误,应用程序发生异常,造成的原因是多种的,可能是环境变量配置出错,可能是你 ...

  6. java开发错误_每个Java开发人员都必须避免的9个安全错误

    java开发错误 Checkmarx CxSAST是功能强大的源代码分析(SCA)解决方案,旨在从根本上识别,跟踪和修复技术和逻辑安全漏洞:源代码. 在这里查看 ! 自从1995年中期引入Java以来 ...

  7. [短彩信]C#短彩信模块开发设计(2)——配置

    准备从以下几个方面简单的谈谈短彩信模块的实现: [短彩信]C#短彩信模块开发设计(1)--架构(http://www.cnblogs.com/CopyPaster/archive/2012/12/07 ...

  8. ArcEngine10.1二次开发错误: 无法嵌入互操作类型,请改用适用的接口

    在之前配置ArcEngine.VS2010二次开发程序的时候,遇见"无法嵌入互操作类型,请改用适用的接口"的错误,在网上查了下,下面引用解决方法. 解决方式为在提示错误的引用上面右 ...

  9. Informatica保障江苏电信规范化ETL开发

    文章讲的是 Informatica保障江苏电信规范化ETL开发, Informatica产品帮助江苏电信构建起一个统一集中管理ETL平台,管理人员不需再维护EDA中多个系统的不同ETL平台,大大节约了 ...

最新文章

  1. QuickTime 0day ***代码发布,可能允许执行任意代码
  2. python玩王者荣耀皮肤_利用Python完成对王者荣耀英雄全皮肤的下载
  3. 面试 排序 java_面试 12:玩转 Java 快速排序
  4. 如何分辨 SAP Fiori Launchpad 里的真假 Fiori 应用
  5. 大数据学习(06)-- 云数据库
  6. Android之ViewDragHelper
  7. 一篇图像识别的科普文
  8. flex 左右布局_web前端学习:移动端开发常用布局—前端弹性布局总结
  9. 如何成为像 Facebook 创始人马克·扎克伯格一样的大佬?
  10. print_r与var_dump
  11. 带农历日期的html代码,网页日历代码 包含日期时间 阴历
  12. 操作系统原理(哈工大-李治军老师)实验三系统调用
  13. HashMap底层特性全解析
  14. C++---常用printf输出格式
  15. 计算机文件夹加密码怎么设置,如何为文件夹设置密码,教您如何设置
  16. OpenCV 源码中分水岭算法 watershed 函数源码注解
  17. ZCS证书的重新签发
  18. iPhone7黔驴技穷,Moto Z另辟蹊径,谁才能引领行业创新?
  19. python小助手_如何用python写个人专属群聊提醒小助手?
  20. 前端xmp-js解析图片xmp信息

热门文章

  1. java多线程区别_Java中实现多线程的两种方式之间的区别
  2. 自动化运维 python 批量监控服务器_1、python自动化运维——监测服务器状态
  3. php如何解释xml,PHP – 如何解析这个xml?
  4. 计算机一级上机考试试题题库,2016年计算机一级上机考试题库
  5. android lable标签,android:label说明
  6. 网管型工业交换机和 非网管型工业交换机的优缺点
  7. 【渝粤题库】国家开放大学2021春1009离散数学(本)题目
  8. 三星q90r如何升级系统_看尚电视强制升级风行系统,如何安装第三方软件?
  9. 投资最重要的事读后感_《投资最重要的事》读书笔记分享
  10. cad设计院常用字体_如何把CAD图纸坐标转换成现场坐标?