javahttpxml传输
⑴ java程序怎么调用webservice接口,实现发送短信功能
给你一个最简单的方法:
第一、根据http://134.224.102.6:80/CompanySendSmInf/services/SmsInf?wsdl 拿到WSDL文件。
第二、根据Axis的jar包,把WSDL文件生成客服端java代码。(可以把java文件打成jar文件,便于管理。怎么生成java代码,网络里都有说明我就不写了。)
第三、在你工程里用AXIS的功能属性,调用外部接口;给你一个格式模板:
MobileCodeWSLocator l=new MobileCodeWSLocator();//MobileCodeWSLocator是WSDL文件生成客服端java类;
MobileCodeWSSoap s=l.getMobileCodeWSSoap();();//MobileCodeWSSoap 是WSDL文件生成客服端java类
String m=s.getMobileCodeInfo("13811534742", "");
如果你用Axis生成的java类,格式和上面一样;自己参考一下就懂了。
你上面明显的连接异常,第三方服务明显没有开,WEBSERVICE可以设置户名、密码,像行所有的WEBSERVICE都设置,安全考虑吧。
⑵ java 怎么接收第三方传过来的xml
如果是网站传过来的,应该是用http协议发过来的,可以使用HttpEntity中的方法(记内得好像是response.getEntity()这样用容的)来获取消息体,再创建一个xml的实例把消息体里面的xml接收下来就好啦。如果是写接口的话可以写一个接受消息体的方法和一个格式化xml的方法
⑶ 远程调用的技术有哪些
RMI
RMI是个典型的为定制的远程通信协议, 我们都知道,在single vm中,我们可以通过直接调用java object instance来实现通信,那么在远程通信时,如果也能按照这种方式当然是最好了,这种远程通信的机制成为RPC(RemoteProcere Call),RMI正是朝着这个目标而诞生的。
传输的标准格式是Java Object Stream;基于Java串行化机制将请求的Java Object信息转化为流。传输协议是Socket。
XML-RPC
XML-RPC也是一种和RMI类似的远程调用的协议,它和RMI的不同之处在于它以标准的xml格式来定义请求的信息(请求的对象、方法、参数 等),这样的好处是在跨语言通讯的时候也可以使用。所以RMI与RPC的区别之一是RPC是跨语言的。
传输的标准格式是XML,将XML转化为流,传输协议是HTTP。
Binary-RPC
Binary-RPC和XML-RPC是差不多,不同之处仅在于传输的标准格式由XML转为了二进制的格式。
传输的标准格式是二进制文件,将二进制文件转化为传输的流,传输协议是HTTP。
SOAP
SOAP(SimpleObject Access Protocol),是一个用于分布式环境的、轻量级的、基于XML进行信息交换的通信协议,可以认为SOAP是XML RPC的高级版,两者的原理完全相同,都是http+XML,不同的仅在于两者定义的XML规范不同,SOAP也是Webservice采用的服务调用协 议标准。
CORBA
Common Object Request BrokerArchitecture(公用对象请求代理[调度]程序体系结构),是一组用来定义“分布式对象系统”的标准,由OMG(Object Menagement Group)作为发起和标准制定单位。CORBA的目的是定义一套协议,符合这个协议的对象可以互相交互,不论它们是用什么样的语言写的,不论它们运行于 什么样的机器和操作系统。CORBA是个类似于SOA的体系架构,涵盖可选的远程通信协议,但其本身不能列入通信协议。
JMS
JMS,是实现java领域远程通信的一种手段和方法,基于JMS实现远程通信时和RPC是不同的,虽然可以做到RPC的效果,但因为不是从协议 级别定义的,因此我们不认为JMS是个RPC协议,但它确实是个远程通信协议,在其他的语言体系中也存在着类似JMS的东西,可以统一的将这类机制称为消 息机制,而消息机制呢,通常是高并发、分布式领域推荐的一种通信机制,这里的主要一个问题是容错。JMS注重的是消息交换,RMI注重的是对象方法调用,所以目的不同。JMS大多时候是异步的松耦合,RMI大多时候是同步的紧耦合。
JMS规定的传输格式是Message,将参数信息放入Message中,传输协议不限。基于JMS也是常用的实现远程异步调用的方法之一。