版内有人写过华为信息机的WebService的吗?(100分)

X

xzsnj

Unregistered / Unconfirmed
GUEST, unregistred user!
因为调试不方便,所以想先确定是不是我的webservice有问题!
通过调用华为提供的SMEntry.dll的API函数来二次开发webservice。
//----------接口初始化函数-----------------------------
[DllImport("SMEntry.dll", EntryPoint = "SP_Startup")]
public static extern int SP_Startup(string DBName, string Account, string Password);
//接口释放函数
[DllImport("SMEntry.dll", EntryPoint = "SP_Cleanup")]
public static extern void SP_Cleanup();
//短信单发函数
[DllImport("SMEntry.dll", EntryPoint = "SubmitShortMessage")]
public static extern int SubmitShortMessage(string AtTime, string SourceAddr, string DestAddr, string Content, uint ContentLen, int NeedStateReport, string ServiceID, string FeeType, string FeeCode);
//--------------------------------------
//单条发送整个过程包装,包括初始接口,发送短信,释放接口,返回错误编码
[WebMethod]
public int MAS_SendShortMessageEX(string Account, string Password, string Mobile, string Message)
{
int ret;
string s_insert;
//插入数据库使用变量
string s_ip = "192.168.10.190";//这是接口内部使用数据库的服务器名称,可以是企业信息机数据库所在的机器名称或IP地址(此IP已被我换掉,大家不要测试)
string s_sttime = System.DateTime.Now.ToString();//发送短信的时间
string s_sourceaddr = "101234512345";//企业信息机的号码,即卡号
ret = SP_Startup(s_ip, Account, Password);
if (ret == 0)
{
ret = SubmitShortMessage(s_sttime, s_sourceaddr, Mobile, Message, (uint)Encoding.Default.GetBytes(Message).Length, 1, "EIE", "01", "1");
//将用户发送成功信息插入本地数据库
if (ret == 0)
{
int mobile_len;
if ((uint)Encoding.Default.GetBytes(Message).Length % 140 != 0)
{
mobile_len = (int)Encoding.Default.GetBytes(Message).Length / 140 + 1;
}
else
{
mobile_len = (int)Encoding.Default.GetBytes(Message).Length / 140;
}
s_insert = "insert into massend(id,ts,sendtime,sourceaddr,sendnum,sendmobile) values(newid(),newid(),'" + s_sttime + "','" + Account + "','" + mobile_len + "','" + Mobile + "')";
SqlConnection connect = new SqlConnection(connectstring);
SqlCommand command = new SqlCommand(s_insert, connect);
connect.Open();
command.ExecuteNonQuery();
command.Dispose();
connect.Close();
}
}
SP_Cleanup();
return(ret);
}
现在挂到web服务器上就会报-1002错误,即:
访问短信平台数据库时出错,在初始化时出现该错误通常是因为提供的数据库服务器名称、用户名或者密码不正确。
自我感觉访问数据库应该没有问题,不知道是不是我的写法有问题,还是移动提供的IP错误或者用户名密码错误。?
 

Similar threads

顶部