关于ISAG协议的彩信SP端开发遇到的问题(一)

本文分享了使用ISAG协议向中兴彩信服务器发送彩信的经验,详细记录了开发过程中遇到的问题及解决办法,包括配置WebService地址、设置SOAP头、实现群发功能等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

   需要通过ISAG协议发送彩信,彩信网关为中兴彩信服务器。

   经过了一段时间的开发,终于顺利发送!遇到了很多问题,已被后面参考!

  1,由于ISAG需要用到webservice,应该是发送目的地址,即ISAG服务器的服务地址 sendMessageUrl=http://x.x.x.x:9081/MmsSendMessageService

 

  SendMessageServiceLocator sml = new SendMessageServiceLocator();
  SendMessage sendMms = sml.getSendMessage(new java.net.URL(sendMessageUrl));

  2,客户端调用后的回执地址,可以没有:endpoint=http://137.0.10.138:9080/SendMessageService/services/SendMessage

  3,设置SoapHeader,一定要把header设置成局部变量,否则当群发时,容易发生追加,http://www.chinatelecom.com.cn/schema/ctcc/common/v2_1}ServiceException:<messageId>SVC0002</messageId><text>InvalidInputValue Attachment</text>错误:SOAPHeaderElement header = new SOAPHeaderElement(headerNameSpace,"RequestSOAPHeader");

  4,设置header时,一定要按序列塞值,否则容易报错:序列问题;ctcc_common_types_2_1.xsd 的属性都是<xsd:sequence>的。

  5,设置群发,multicastMessaging属性值一定是true

  6,群发号码设置:org.apache.axis.types.URI[] addresses = new org.apache.axis.types.URI[desnum];

不管是什么操作系统,一定要保证电话号码是无空格,无换行符的,否则容易发生:org.apache.axis.types.URI$MalformedURIException: The scheme is not conformant 错误。

for (int i = 0; i < destnumbers.length; i++) {
     if(destnumbers[i]!=null){
      //注意一定要去除空格,换行符等等
      String notnullStr = SmilAnalysisUtil.getNotNullStr(destnumbers[i].trim());
      String proceNum = "tel:"+notnullStr;      
      addresses[i] = new org.apache.axis.types.URI(proceNum);
      System.out.println(destnumbers[i]+"-------------addresses[i]==="+addresses[i]);      
     }
    }

  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值