`
javaflex
  • 浏览: 80357 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

基于xfire的短信发送接口 入门篇

阅读更多

俗话说:巧妇难为无米之炊,第一步我们需要什么
首先,在window中进行java串口编程要下载javaxcomm组件,里面有三个重要的文件要进行配置:
1)首先将comm.jar拷贝到$JAVA_HOME/jre/lib/ext下面
2)将java.comm.properties拷贝到$JAVA_HOME/jre/lib下
3)将win32com.dll拷贝到$JAVA_HOME/bin下面
第二,下载smslib包http://smslib.org/
第三,我们用的时xfire框架,所以我们同样要去下载xfirehttp://xfire.codehaus.org/xfire现在已经与Celtix 合并为 CXF,xfire已经不在进行研发了,但是我们依旧可以使用
有了米之后我们开始我们的编程部分,首先我使用myeclipse6.5 + jdk1.6
我们新建一个webproject 命名为WebServiceMessage,然后把sms中的jar一级xfire中的jar导入到工程环境变量中
然后我们新建一接口(xfire相关)

package com.iteye.javaflex.webservice;
/**
 * 
 * @author http://javaflex.iteye.com/
 *
 */
public interface MessageService {
	public String sendMessage(String telphoneNumber,String content); 
}

 
在建一实现类(xfire相关)

package com.iteye.javaflex.webservice.impl;
import com.iteye.javaflex.webservice.MessageService;
/**
 * 
 * @author http://javaflex.iteye.com/
 *
 */
public class MessageServiceImpl implements MessageService {

	public String sendMessage(String telphoneNumber, String content) {
		String result;
		
			SM sm=new SM();
			result = sm.doIt(telphoneNumber, content);
		System.out.println(result);
		return "成功";
	}

}

 

下面创建发送短信的类(这个是真正和串口编程相关的)

package com.iteye.javaflex.webservice.impl;

import org.smslib.AGateway;
import org.smslib.IOutboundMessageNotification;
import org.smslib.Library;
import org.smslib.Message.MessageEncodings;
import org.smslib.OutboundMessage;
import org.smslib.Service;
import org.smslib.modem.SerialModemGateway;
/**
 * 
 * @author http://javaflex.iteye.com/
 *
 */
public class SM {
	public String doIt(String telNumber, String content) {
		
		try {
			OutboundNotification outboundNotification = new OutboundNotification();
			System.out.println("Example: Send message from a serial gsm modem.");
			System.out.println(Library.getLibraryDescription());
			System.out.println("Version: " + Library.getLibraryVersion());
			SerialModemGateway gateway = new SerialModemGateway("modem.com1",
					"COM5", 115200, "Huawei", "9600");
			gateway.setInbound(true);
			gateway.setOutbound(true);
			gateway.setSmscNumber("+8613010200500");// 短信中心号码
			Service.getInstance().setOutboundMessageNotification(
					outboundNotification);
			Service.getInstance().addGateway(gateway);
			Service.getInstance().startService();
			System.out.println();
			System.out.println("Modem Information:");
			System.out.println("  Manufacturer: " + gateway.getManufacturer());
			System.out.println("  Model: " + gateway.getModel());
			System.out.println("  Serial No: " + gateway.getSerialNo());
			System.out.println("  SIM IMSI: " + gateway.getImsi());
			System.out.println("  Signal Level: " + gateway.getSignalLevel()
					+ " dBm");
			System.out.println("  Battery Level: " + gateway.getBatteryLevel()
					+ "%");
			System.out.println();
			OutboundMessage msg = new OutboundMessage(telNumber, content);
			msg.setEncoding(MessageEncodings.ENCUCS2);
			Service.getInstance().sendMessage(msg);
			System.out.println(msg);
		} catch (Exception e) {
			//e.printStackTrace();
			return "发送失败";
		}

		try {
			Service.getInstance().stopService();
		} catch (Exception e) {// TODO Auto-generated catch block
			//e.printStackTrace();
			return "服务停止出错";
		}
		return "发送成功";
	}

	public class OutboundNotification implements IOutboundMessageNotification {
		public void process(AGateway gateway, OutboundMessage msg) {
			System.out.println("Outbound handler called from Gateway: "
					+ gateway.getGatewayId());
			System.out.println(msg);
		}
	}

	public static void main(String args[]) {
		SM app = new SM();
		try {
			String string=app.doIt("", "java客户端测试");
			System.out.println(string);
		} catch (RuntimeException e) {
			e.printStackTrace();
		}
	}
}

 


我们要在src下面新建MEAT-INF\xfire\service.xml这个最终到class里面

<?xml version="1.0" encoding="UTF-8"?>
<!-- @author http://javaflex.iteye.com/ -->
<beans xmlns="http://xfire.codehaus.org/config/1.0">
	<service>
		<name>MessageService</name>
		<serviceClass>com.iteye.javaflex.webservice.MessageService</serviceClass>
		<implementationClass>com.iteye.javaflex.webservice.impl.MessageServiceImpl</implementationClass>
	</service>
</beans>

 
最后配置web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
	http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
	<servlet>
		<servlet-name>XFireServlet</servlet-name>
		<servlet-class>
			org.codehaus.xfire.transport.http.XFireConfigurableServlet
		</servlet-class>
	</servlet>
	<servlet-mapping>
		<servlet-name>XFireServlet</servlet-name>
		<url-pattern>/services/*</url-pattern>
	</servlet-mapping>
	<welcome-file-list>
		<welcome-file>index.jsp</welcome-file>
	</welcome-file-list>
</web-app>

 


至此一个基于webservice的短信* 短信发送系统已经完成
然后部署到tomcat,看看我们的webservice是否配置成功


 
我们在浏览器中输入http://127.0.0.1:8080/WebServiceMessage/services/MessageService?wsdl
如果现实如图则说明配置成功
webservice配置成功后,我们就要用它,下面我用delphi去连接我们的短信发送服务

新建一application,然后新建wsdl importer(按步骤输入http://127.0.0.1:8080/WebServiceMessage/services/MessageService?wsdl)
delphi都是控件拖拽的没有什么可说的下面截图看一下效果



 

 
下面把delphi的代码贴上供大家下载,首先声明我是delphi菜鸟,java代码代码量jar包太多,而且我已经把代码都贴出来了,所以就不传java代码了

 

至于用vs2010去实现,那个和delphi如出一辙

  • 大小: 48.8 KB
  • d.rar (410.2 KB)
  • 下载次数: 22
  • 大小: 3.9 KB
  • 大小: 3.9 KB
2
0
分享到:
评论

相关推荐

    java使用XFire调用webService接口

    XFIRE 是一个基于 Java 的开源框架,用于简化 Web 服务的开发和集成。下面,我们将通过一个简单的例子,展示如何使用 XFire 调用 webService 接口。 服务端(为客户端提供 webservice 接口) 在服务端,我们需要...

    XFIRE短信接口

    ### XFIRE短信接口:深入解析基于Webservice的学习与实践 #### 概述 在现代通讯技术的推动下,短信服务已成为企业与用户间快速、高效沟通的重要方式之一。XFIRE作为一款优秀的开源Java Web服务框架,提供了强大的...

    Java使用XFire调用WebService接口

    这篇博客“Java使用XFire调用WebService接口”显然是讨论如何利用XFire这个开源框架来与Web服务交互。 XFire是Apache CXF项目的前身,它提供了一种简单的方式来创建和消费SOAP Web服务。XFire的强项在于其轻量级和...

    XFire--Webservice入门xfire

    XFire--Webservice入门xfire

    xfire开发webservice接口开发(带有软件包)

    【xfire开发Web Service接口开发】是一个针对初学者的教程,旨在帮助开发者了解如何使用Xfire框架构建Web Service接口。Xfire是早先流行的一款Java Web Service框架,它简化了SOAP(Simple Object Access Protocol)...

    xfire开发Web Service接口详解

    本篇文章将深入探讨如何使用XFire来开发Web Service接口,并提供一个初学者友好的教程。 一、XFire简介 XFire(后被集成到Apache CXF项目)是一款轻量级的Java Web服务框架,它提供了快速、简单的方式来创建符合WS-...

    基于 xfire 的 webservice 项目

    【标题】:“基于 XFire 的 WebService 项目” 在IT领域,WebService是一种通过网络进行通信的标准方式,允许不同系统之间交换数据和实现功能共享。XFire是Java平台上的一个开源库,它为创建和消费Web服务提供了一...

    Myeclipse开发基于xfire的Web Services

    使用Myeclipse开发基于xfire的Web Services 入门,如何开发Web Services

    Java使用XFire调用WebService接口.docx编程资料

    ### Java使用XFire调用WebService接口 #### 一、引言 随着互联网技术的发展,不同系统之间的通信变得越来越重要。WebService作为一种重要的分布式计算技术,在跨平台、跨语言的服务交互方面发挥着重要作用。本文将...

    java webservice基于xfire实例

    Java WebService基于XFire的实例教程 Web服务是一种在分布式环境中提供互操作性的技术,它允许不同系统之间通过网络交换数据。在Java中,实现Web服务的一种流行框架就是XFire,一个快速、轻量级的SOAP(Simple ...

    spring,xfire开发soap接口

    标题 "spring,xfire开发soap接口" 暗示了我们即将探讨的是如何使用Spring框架与XFire库来创建SOAP(简单对象访问协议)服务。SOAP是一种基于XML的协议,常用于Web服务,允许不同系统间交换结构化信息。在这个话题中...

    XFire完整入门教程

    XFire完整入门教程XFire完整入门教程XFire完整入门教程XFire完整入门教程

    基于xfire技术框架的WebService完整源码及数据库备份

    4. 源码分析:基于Xfire的WebService源码通常包括以下部分:服务接口定义、服务实现类、服务配置文件以及客户端调用代码。通过阅读源码,可以了解服务的创建、注册、调用和异常处理等关键流程。 5. 数据库备份:...

    xfire接口程序,包含xfire服务端和axis客户端

    在IT行业中,接口程序是系统间通信的关键,而xfire和axis是两种广泛使用的Java Web服务框架,它们在实现服务端和客户端交互方面扮演着重要角色。本项目名为"xfire接口程序,包含xfire服务端和axis客户端",旨在提供...

    基于XFire实施WS-Security

    【基于XFire实施WS-Security】的详细解析 在Web Service的世界中,安全问题至关重要,因为它们涉及到诸如身份验证、授权、数据隐私和完整性等多个关键领域。SOAP规范本身并未涵盖安全方面,导致许多人认为Web ...

    xfire实现web service入门实例

    你可以使用SOAP客户端,如 SoapUI 或者 Xfire 提供的工具来测试你的服务,发送请求并接收响应。 总结起来,通过Xfire实现Web服务主要包括以下步骤:安装配置Xfire、定义服务接口、实现服务、配置服务暴露、编写WSDL...

    基于xfire的WebService开发

    这篇博客文章将深入探讨如何使用XFire进行基于Java的WebService开发。 首先,我们要理解什么是Web服务。Web服务是一种通过HTTP协议进行通信的应用程序,它允许不同的系统之间共享数据和功能。SOAP(Simple Object ...

    基于 xfire 建 web service

    本主题将深入探讨如何基于XFire框架构建Web服务。XFire是Java平台上的一个开源工具,它使得开发、部署和使用Web服务变得更加简单。 **1. Web服务基础** Web服务通常基于SOAP(Simple Object Access Protocol)协议...

    基于XFire的SSO研发

    【基于XFire的SSO研发】是一个针对软件工程领域的课题,旨在利用XFire这一开源框架构建单点登录(Single Sign-On, SSO)系统。XFire由codeHaus组织提供,它有效地连接了POJO(Plain Old Java Object)与SOA(Service...

Global site tag (gtag.js) - Google Analytics