利用WebService发送短信,出错

平菇虾饺 2014-04-18 10:08:12
webservice是移动的MAS2.0。用的是asix1.4:

其中asix.jar我已经做了修改
org.apache.axis.client.Call.java和
org.apache.axis.client.Service.java
利用他发短信是总是提示
ArgumentError
Destination addresses is null or empty.

移动的工作人员是电话号码没有传过去。可是我看参数是传过去的:
call.addParameter(new QName(soapaction,"userName"), q, ParameterMode.IN);
call.addParameter(new QName(soapaction,"password"), q, ParameterMode.IN);
call.addParameter(new QName(soapaction,"destAddr"), new QName("http://www.jituanyun.com/","String"), ParameterMode.IN);
这儿的QName是String还是Array并无关紧要,它能被解析出来。
call.addParameter(new QName(soapaction,"content"), q, ParameterMode.IN);
call.addParameter(new QName(soapaction,"ext"), q, ParameterMode.IN);


这是我打印出来的XML:

可以看出电话号码已经被写进去了

可是不管怎么样还是只得出那个结论,希望有了解的大神指教!
...全文
587 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
xuan.ye 2014-04-23
  • 打赏
  • 举报
回复
应该是LZ把参数填错了 destAddr 这个理论上应该是 ArrayOfString ,LZ尽量使用引用webservices 本身的数据类型 另外就是mas理论上是sp直连行业网关(短信网关)
tony4geek 2014-04-23
  • 打赏
  • 举报
回复
你不会是杭州的吧。 我一个同事做移---动。
平菇虾饺 2014-04-22
  • 打赏
  • 举报
回复
这是他们定义的接口标准 : SendSms 测试 测试窗体只能用于来自本地计算机的请求。 SOAP 1.1 以下是 SOAP 1.2 请求和响应示例。所显示的占位符需替换为实际值。

POST /MasService.asmx HTTP/1.1
Host: www.my.jituanyun.com
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "http://www.jituanyun.com/SendSms"

<?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>
    <SendSms xmlns="http://www.jituanyun.com/">
      <userName>string</userName>
      <password>string</password>
      <destAddr>
        <string>string</string>
        <string>string</string>
      </destAddr>
      <content>string</content>
      <ext>string</ext>
    </SendSms>
  </soap:Body>
</soap:Envelope>

HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length

<?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>
    <SendSmsResponse xmlns="http://www.jituanyun.com/">
      <SendSmsResult>
        <ErrorCode>Success or AuthenticiationFailed or BadKeywords or InsufficientBalance or BatchSizeTooLarge or ArgumentError or BadRequest or ServiceUnavailable</ErrorCode>
        <ErrorMessage>string</ErrorMessage>
        <RequestIdentifier>string</RequestIdentifier>
      </SendSmsResult>
    </SendSmsResponse>
  </soap:Body>
</soap:Envelope>

SOAP 1.2 以下是 SOAP 1.2 请求和响应示例。所显示的占位符需替换为实际值。


POST /MasService.asmx HTTP/1.1
Host: www.my.jituanyun.com
Content-Type: application/soap+xml; charset=utf-8
Content-Length: length

<?xml version="1.0" encoding="utf-8"?>
<soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">
  <soap12:Body>
    <SendSms xmlns="http://www.jituanyun.com/">
      <userName>string</userName>
      <password>string</password>
      <destAddr>
        <string>string</string>
        <string>string</string>
      </destAddr>
      <content>string</content>
      <ext>string</ext>
    </SendSms>
  </soap12:Body>
</soap12:Envelope>

HTTP/1.1 200 OK
Content-Type: application/soap+xml; charset=utf-8
Content-Length: length

<?xml version="1.0" encoding="utf-8"?>
<soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">
  <soap12:Body>
    <SendSmsResponse xmlns="http://www.jituanyun.com/">
      <SendSmsResult>
        <ErrorCode>Success or AuthenticiationFailed or BadKeywords or InsufficientBalance or BatchSizeTooLarge or ArgumentError or BadRequest or ServiceUnavailable</ErrorCode>
        <ErrorMessage>string</ErrorMessage>
        <RequestIdentifier>string</RequestIdentifier>
      </SendSmsResult>
    </SendSmsResponse>
  </soap12:Body>
</soap12:Envelope>
平菇虾饺 2014-04-22
  • 打赏
  • 举报
回复
引用 13 楼 rui888 的回复:
不知道是不是他们的问题。
谁的问题?
平菇虾饺 2014-04-22
  • 打赏
  • 举报
回复
引用 9 楼 dokia123 的回复:
ArgumentError Destination addresses is null or empty 这句提示是移动服务器那边返回给你的还是你本地的代码提示的?
这是移动服务器返回的错误代码提示。
chen870201 2014-04-21
  • 打赏
  • 举报
回复
我觉得问题出在服务端
tony4geek 2014-04-21
  • 打赏
  • 举报
回复
不知道是不是他们的问题。
teemai 2014-04-20
  • 打赏
  • 举报
回复
引用 11 楼 u014039623 的回复:
引用 4 楼 huxiweng 的回复:
http://www.smschinese.cn/
版主 这个发短信都免费的吗
收费的
大地之子 2014-04-20
  • 打赏
  • 举报
回复
引用 4 楼 huxiweng 的回复:
http://www.smschinese.cn/
版主 这个发短信都免费的吗
dokia123 2014-04-20
  • 打赏
  • 举报
回复
第三方确实是简单点,就是不太稳定。
dokia123 2014-04-20
  • 打赏
  • 举报
回复
ArgumentError Destination addresses is null or empty 这句提示是移动服务器那边返回给你的还是你本地的代码提示的?
坚如磐石_8023 2014-04-20
  • 打赏
  • 举报
回复
直接断点,看你的那个收件人的地址有没有值,现在的错误就是说没有获取到地址,或者地址字符串是空值...
平菇虾饺 2014-04-20
  • 打赏
  • 举报
回复
引用 4 楼 huxiweng 的回复:
http://www.smschinese.cn/
我们这已经买了移动MAS2.0了。不再使用第三方服务了
平菇虾饺 2014-04-20
  • 打赏
  • 举报
回复
teemai 2014-04-18
  • 打赏
  • 举报
回复
平菇虾饺 2014-04-18
  • 打赏
  • 举报
回复
你用的谁的api呢
teemai 2014-04-18
  • 打赏
  • 举报
回复
我用的是第三方的,API
teemai 2014-04-18
  • 打赏
  • 举报
回复
找移动客户。

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧