notes关于用代理实现发送短信息的功能,我有些问题实在无法解决,请高手过过目,我给出完整代码及问题描述。
下面是代理的代码: 里面的数据都是乱填的。真是数据不好写出来
''''''''''''''''''
package test;
import lotus.domino.*;
import com.wondertek.esmp.esms.empp.*;
public class JavaAgent extends AgentBase {
public void NotesMain() {
try {
Session session = getSession();
AgentContext agentContext = session.getAgentContext();
Database db = agentContext.getCurrentDatabase();
Agent agent = agentContext.getCurrentAgent();
//Document pdoc = agentContext.getDocumentContext();
Document pdoc = db.getDocumentByID(agent.getParameterDocID());
//Document pdoc = db.getDocumentByID("c81e()");
//获得短信服务IP地址
//String host = doc.getItemValueString("HostIP");
//短信服务器断口地址
//int port = doc.getItemValueInteger("HostPort");
//帐号
//String accountId = doc.getItemValueString("AccountId");
//口令
//String password = doc.getItemValueString("Password");
//帐号
//String serviceId = doc.getItemValueString("AccountId");
//内容
String content = pdoc.getItemValueString("txtMessage");
String phone=pdoc.getItemValueString("txtPhone");
String host = "211.136.163.68";
int port = 9981;
String accountId = "11111111111";
String password = "1111";
String serviceId = "11111111111";
EmppApi emppApi = new EmppApi();
RecvListener listener = new RecvListener(emppApi);
try {
//连接服务器
EMPPConnectResp response = emppApi.connect(host, port, accountId, password, listener);
//System.out.println(response);
if (response == null) {
System.out.println("连接超时失败");
return;
}
if (!emppApi.isConnected()) {
System.out.println("连接失败:响应包状态位=" + response.getStatus());
return;
}
} catch (Exception e) {
System.out.println("发生异常,导致连接失败");
e.printStackTrace();
return;
}
//发送短信
if (emppApi.isSubmitable()) {
//简单方式发送短信,支持长短信
try{
//emppApi.submitMsgAsync(content.trim(),new String[]{"Phone","13601827146"},serviceId);
emppApi.submitMsgAsync(content.trim(),new String[]{phone},serviceId);
//同步发送方式update 20060307
//EMPPSubmitSMResp [] resp = emppApi.submitMsg(content,mobiles,serviceId);
//System.out.println("resp result:"+resp[0].getResult());
}catch (Exception e1) {
e1.printStackTrace();
}
}
} catch(Exception e) {
e.printStackTrace();
}
}
}
''''''''''''''''''''''''''''
下面是问题描述:
Agent printing: 发生异常,导致连接失败
2008-03-21 14:55:27 Agent error: java.lang.SecurityException: 禁止创建与 211.136.163.68,9981 的套接字连接
2008-03-21 14:55:27 Agent error: at lotus.notes.AgentSecurityManager.checkConnect(AgentSecurityManager.java:202)
2008-03-21 14:55:27 Agent error: at java.net.Socket.connect(Socket.java:472)
2008-03-21 14:55:27 Agent error: at java.net.Socket.connect(Socket.java:428)
2008-03-21 14:55:27 Agent error: at java.net.Socket.<init>(Socket.java:335)
2008-03-21 14:55:27 Agent error: at java.net.Socket.<init>(Socket.java:150)
2008-03-21 14:55:27 Agent error: at com.wondertek.esmp.esms.empp.util.a.open(Unknown Source)
2008-03-21 14:55:27 Agent error: at com.wondertek.esmp.esms.empp.EmppApi.connect(Unknown Source)
2008-03-21 14:55:27 Agent error: at com.wondertek.esmp.esms.empp.EmppApi.connect(Unknown Source)
2008-03-21 14:55:27 Agent error: at test.JavaAgent.NotesMain(JavaAgent.java:39)
2008-03-21 14:55:27 Agent error: at lotus.domino.AgentBase.runNotes(Unknown Source)
2008-03-21 14:55:27 Agent error: at lotus.domino.NotesThread.run(Unknown Source)
:我的目的是想 给利用一个视图或者表单按钮给 “填入的用户手机” 利用移动的短信通功能发送短信,但是一直就是连不上,就是最前面的一句话,创建套接字失败,前面的 IP及端口就是上海移动提供的IP及端口:
他们提供相关功能网站:里面有相关的技术描述,不是很看的明白,我照样子写了就是不行,
其中以前这个代理实现成功过,只是后来帐号换过了,某些功能可能是更新了,就再也不行了。
http://211.136.163.68:8000/esmp/index.jsp
上海移动的相关技术提供网址
移动Api更新
真心希望有高手能参与交流交流,谢谢!
--------------------编程问答-------------------- 等待牛人来答. --------------------编程问答-------------------- Domino管理 配置 安全性 运行无限制的代理,加入相关的用户。 --------------------编程问答-------------------- 顶上去 --------------------编程问答-------------------- 顶上去 这问题求解答,,,我也遇上。安全性里面 我把具有完全权限的管理员都加上了 运行无限制也加上了 为什么还是抱这个错误? --------------------编程问答-------------------- 设置该代理的权限为3就行。 --------------------编程问答-------------------- 哥哥们那。
3年前的帖子就不要再顶了吧,那时候还不知道怎么写Java代理,不过多谢顶贴的各位了。
成长总是要不停地学习。 --------------------编程问答-------------------- 对啊,这个问题我现在也碰到了哦,楼主解决了吗 --------------------编程问答-------------------- ConnectResp(: (EMPPHeader: CommandLength:37 CommandId:80000001
SequenceNumber:1) 3 16)
连接失败:响应包状态位=3
我报了这个错误
--------------------编程问答--------------------
——————————————————————————————————
我也遇到了这个问题,急求解惑!有谁解决了吗? --------------------编程问答--------------------
——————————————————————————————————
我刚解决了,原来是我自己把“用户名”用作“用户账号”了。目前的问题是,说提交成功,怎么我就是没收到短信呢?
(ActiveTestResp: (EMPPHeader: CommandLength:13 CommandId:80000008 SequenceNumber:2) )
收到sumbitResp:
msgId=-318744313042626560
result=0
收到服务器发送的Terminate消息,连接终止
这些是说我发送成功了吗????? --------------------编程问答-------------------- 刚刚解决,问题出在我的号码是移动的,要发送短信到移动号码得把该号码加入到白名单,所以我收不到短信,但其实是成功了的。试验了个电信的号码,成功收到了。
补充:企业软件 , Lotus