如何通过外部程序访问WEB中的方法并获取执行的结果

yaerfeng 2011-11-24 09:52:26
我现在开发了一个WEB短信程序接口,现在外部程序,有可能是java程序或web(.net,jsp,php都可能)程序访问我的WEB程序,并调用我发短信的方法。我现在想知道如果外部是java程序,请问该如何访问,并且可以获取返回的结果(比如短信发送成功、失败)呢。不用WEBService,可以有其它方法比如通过URL么?请赐教。如果可以,请贴出代码和思想!请说得详细点。谢谢!
...全文
117 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
什么都不能 2011-11-24
  • 打赏
  • 举报
回复
1.封装jni的com组件?
2.用socket通讯
yaerfeng 2011-11-24
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 jsut_yi 的回复:]
不用webserive可以用rmi 远程方法调用,但是rmi不支持异构。只能是java调用java。lz看看吧
[/Quote]
rmi可以,CORBA可以跨平台语言,先试试看。
jsut_yi 2011-11-24
  • 打赏
  • 举报
回复
不用webserive可以用rmi 远程方法调用,但是rmi不支持异构。只能是java调用java。lz看看吧
游一游走一走 2011-11-24
  • 打赏
  • 举报
回复

public static void connectUrl() {
BufferedReader bufferedReader = null;
try {
URL url = new URL("http://fw.qq.com/ipaddress");
URLConnection connection = url.openConnection();
bufferedReader = new BufferedReader(new InputStreamReader(
connection.getInputStream()));
StringBuffer result = new StringBuffer();
String temp = null;
while ((temp = bufferedReader.readLine()) != null) {
result.append(temp);
}

System.out.println(result.toString());
} catch (Exception e) {
e.printStackTrace();
}finally{
if (bufferedReader!=null) {
try {
bufferedReader.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}

若干年 2011-11-24
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 yaerfeng 的回复:]

引用 8 楼 java_new_comer 的回复:
外部程序模拟一个http请求,访问到你的WEB接口。
去搜下httpClient好了。


呵呵。经理叫我用HttpURLConnection这个试试。
[/Quote]

httpClient就是将HttpURLConnection封装过的,用起来更方便
yaerfeng 2011-11-24
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 zyz1985 的回复:]
直接写JSP接口就可以,别整的那麻烦
http://ip/sendmessage.jsp?mobile=123123&toMobile=321456&content=testtest
你接受后返回
out.println("success");
就可以了

如果要用rmi,就用spring的rmi接口,很方便的
[/Quote]

关键是怎么调用我那个WEB.并获取结果。这是两个WEB程序。
yaerfeng 2011-11-24
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 java_new_comer 的回复:]
外部程序模拟一个http请求,访问到你的WEB接口。
去搜下httpClient好了。
[/Quote]

呵呵。经理叫我用HttpURLConnection这个试试。
游一游走一走 2011-11-24
  • 打赏
  • 举报
回复
直接写JSP接口就可以,别整的那麻烦
http://ip/sendmessage.jsp?mobile=123123&toMobile=321456&content=testtest
你接受后返回
out.println("success");
就可以了

如果要用rmi,就用spring的rmi接口,很方便的
java_new_comer 2011-11-24
  • 打赏
  • 举报
回复
外部程序模拟一个http请求,访问到你的WEB接口。
去搜下httpClient好了。
why213344 2011-11-24
  • 打赏
  • 举报
回复
不用webservice 就写一个servlet 或 jsp 接收必要的参数 然后执行发送信息操作。成功后和失败后输出流返回结果就行了。 客户端就用ajax 或 URLConnection 都行,实际上就是请求和响应吗。只要你的短信不是异步的就行。如果是异步的不能实时返回结果就要复杂一些了。你可以参看网银的支付功能要提供的参数。
yaerfeng 2011-11-24
  • 打赏
  • 举报
回复
在网上看了rmi居然在服务器端启用要dos编译。。。无语了。有没有启动tomcat就让我调用的啊。。。难道要我用ejb做。。。。这个太那个了吧。我只要实现一个小功能而已。
qingting2016 2011-11-24
  • 打赏
  • 举报
回复
http?socket?

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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