2 troylee430 troylee430 于 2014.11.25 13:48 提问

调用短信平台webservice提示:服务器无法读取请求。

各位大神,我是新手,在Java里面调用webservice 的时候提示:服务器无法读取请求。 ---> XML 文档(1, 363)中有错误。 ---> 输入字符串的格式不正确。字面意思很明显,可我都是按着平台提供的文档资料写的,代码如下:请各位大神看看。

4个回答

troylee430
troylee430   2014.11.25 13:48
public synchronized String SendTimer(int Id, String Name, String Psw, String Message, 
        String Phone,String DateTime, int Timestamp){
    String sendtimer = null;
    Object obj[] = new Object[7];
    obj[0] = Id;
    obj[1] = Name;
    obj[2] = Psw;
    obj[3] = Message;
    obj[4] = Phone;
    obj[5] = DateTime;
    obj[6] = Timestamp;
    Logger.info("Tsing-----><Id>:"+obj[0]);
    Logger.info("Tsing-----><Name>:"+obj[1]);
    Logger.info("Tsing-----><Psw>:"+obj[2]);
    Logger.info("Tsing-----><Message>:"+obj[3]);
    Logger.info("Tsing-----><Phone>:"+obj[4]);
    Logger.info("Tsing-----><DateTime>:"+obj[5]);
    Logger.info("Tsing-----><Timestamp>:"+obj[6]);

    try {
        service = new Service();
        Call call = (Call) service.createCall();
        call.setTargetEndpointAddress(wburl);
        call.setOperationName(new QName(wbNamespace,"SendTimer"));
        call.addParameter(new QName(wbNamespace,"Id"), XMLType.XSD_INT,ParameterMode.IN);//接口的参数
        call.addParameter(new QName(wbNamespace,"Name"), XMLType.XSD_STRING,ParameterMode.IN);//接口的参数
        call.addParameter(new QName(wbNamespace,"Psw"), XMLType.XSD_STRING,ParameterMode.IN);//接口的参数
        call.addParameter(new QName(wbNamespace,"Message"), XMLType.XSD_STRING,ParameterMode.IN);//接口的参数
        call.addParameter(new QName(wbNamespace,"Phone"), XMLType.XSD_STRING,ParameterMode.IN);//接口的参数
        call.addParameter(new QName(wbNamespace,"SendTime"), XMLType.XSD_STRING,ParameterMode.IN);//接口的参数
        call.addParameter(new QName(wbNamespace,"Timestamp"), XMLType.XSD_INT,ParameterMode.IN);//接口的参数
        //call.setReturnType(XMLType.XSD_INT);
        call.setReturnType(XMLType.XSD_STRING);//设置返回类型  
        call.setSOAPActionURI("http://tempuri.org/SendTimer");
        call.invoke(obj);//new Object[]{"1378826","OA","admin"}
        System.out.println(sendtimer);
    } catch (ServiceException e) { 
        Logger.error("Tsing---->"+e.getMessage()+e);
        e.printStackTrace();
    } catch (RemoteException e) {
        Logger.error("Tsing---->"+e.getMessage()+e);
        e.printStackTrace();
    }
    return sendtimer;
}
troylee430
troylee430   2014.11.25 13:48
public synchronized String SendTimer(int Id, String Name, String Psw, String Message, 
        String Phone,String DateTime, int Timestamp){
    String sendtimer = null;
    Object obj[] = new Object[7];
    obj[0] = Id;
    obj[1] = Name;
    obj[2] = Psw;
    obj[3] = Message;
    obj[4] = Phone;
    obj[5] = DateTime;
    obj[6] = Timestamp;
    Logger.info("Tsing-----><Id>:"+obj[0]);
    Logger.info("Tsing-----><Name>:"+obj[1]);
    Logger.info("Tsing-----><Psw>:"+obj[2]);
    Logger.info("Tsing-----><Message>:"+obj[3]);
    Logger.info("Tsing-----><Phone>:"+obj[4]);
    Logger.info("Tsing-----><DateTime>:"+obj[5]);
    Logger.info("Tsing-----><Timestamp>:"+obj[6]);

    try {
        service = new Service();
        Call call = (Call) service.createCall();
        call.setTargetEndpointAddress(wburl);
        call.setOperationName(new QName(wbNamespace,"SendTimer"));
        call.addParameter(new QName(wbNamespace,"Id"), XMLType.XSD_INT,ParameterMode.IN);//接口的参数
        call.addParameter(new QName(wbNamespace,"Name"), XMLType.XSD_STRING,ParameterMode.IN);//接口的参数
        call.addParameter(new QName(wbNamespace,"Psw"), XMLType.XSD_STRING,ParameterMode.IN);//接口的参数
        call.addParameter(new QName(wbNamespace,"Message"), XMLType.XSD_STRING,ParameterMode.IN);//接口的参数
        call.addParameter(new QName(wbNamespace,"Phone"), XMLType.XSD_STRING,ParameterMode.IN);//接口的参数
        call.addParameter(new QName(wbNamespace,"SendTime"), XMLType.XSD_STRING,ParameterMode.IN);//接口的参数
        call.addParameter(new QName(wbNamespace,"Timestamp"), XMLType.XSD_INT,ParameterMode.IN);//接口的参数
        //call.setReturnType(XMLType.XSD_INT);
        call.setReturnType(XMLType.XSD_STRING);//设置返回类型  
        call.setSOAPActionURI("http://tempuri.org/SendTimer");
        call.invoke(obj);//new Object[]{"1378826","OA","admin"}
        System.out.println(sendtimer);
    } catch (ServiceException e) { 
        Logger.error("Tsing---->"+e.getMessage()+e);
        e.printStackTrace();
    } catch (RemoteException e) {
        Logger.error("Tsing---->"+e.getMessage()+e);
        e.printStackTrace();
    }
    return sendtimer;
}
troylee430
troylee430   2014.11.25 13:51

参数 类型 说明 备注
Id int 机构代码

Name string 帐户名

Psw string 密码 支持使用明文或MD5加密大写
Message string 短信内容 短信内容不能超过600字的长度
Phone string 接收号码,多个号码用半角分号“;"分隔 每次号码数量不能超过1000个
DaeTime String 定时短信发送的时间
Timestamp int 时间戳,从1970-01-01 00:00:00 到要现在发送时间隔的秒数 可默认为0

troylee430
troylee430   2014.11.25 13:57

后面是平台提供的资料,因为是新手,不太会上传图片

hjkNet
hjkNet 您可以在问题右上角直接编辑问题 这样发出来 其他人看起来比较费力
3 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!