使用SAAJ调用qq是否在线的webservice

来源:互联网 发布:网络暴力王宝强 编辑:程序博客网 时间:2024/05/20 01:34

    SAAJ可以用来构造SOAP消息和处理SOAP消息。SOAP可以访问webservice,跟webservice进行通信。

    使用SAAJ构造SOAP访问webservice,必须知道对应的webservice的wsdl文档,根据wsdl,编写SOAP消息。

    在本例,不解析wsdl,而是使用最原始的编码,硬性的创建一个单一的应用,专用于qqCheckOnline的webservice的访问。

    使用SAAJ的API构造简单SOAP的思路,主要分为以下几步。

    1,获得工厂实例。MessageFactory.newInstance()这里可以指定是使用SOAP1.1的协议,还是使用SOAP1.2的协议。在本例中使用SOAP1.1的协议。

    2,建立Message。SOAP本身就是一个message.故创建SOAPMessage是MessageFactory的最主要的功能。建立后的Message可以进行一些属性的配置。

    3,填充SOAPHeader或者SOAPBody。SOAP采用的是信封的格式,里面的消息格式得根据服务区配置。完成这一步之后,即为调用做好了充分的准备。

    4,建立连接的工厂。SOAPConnectionFactory.newInstance().

    5,创建连接。SOAPConnection con=soapConnectionFactory.createConnection();

    6,调用服务。con.call(请求的消息,请求的服务端口)

    7,处理返回的SOAP消息。

     具体的实例如下:

      

      注意在使用SOAP1.1的协议的时候,如果SOAPAction不为空,要在SOAP协议中MimeHeaders中添加SOAPAction的参数。

      在处理返回信息的时候,使用的是dom的API。

      本实例可访问的webservice可见: http://www.webxml.com.cn/webservices/qqOnlineWebService.asmx?op=qqCheckOnline

原创粉丝点击