1.生成AXIOM的服务器文件
1)与POJO不同的是,AXIOM的services.xml文件中明确指出了option参数
2)另外MessageReceivers现在是RawXML
服务类文件:
1)方法:method(OMElement element),如果有返回值一律写成OMElement类型,没有返回void
2)调用OMElement对象的创建与脱管方法
3)获取参数,处理成文本类型:OMElement symbolElement = element.getFirstElement();
4)业务逻辑处理返回结果:
a)创建OMFactory
b)根据类型的方法和参数创建OMELement类型的对象
c)添加参数值到参数中,添加参数到方法中
如果没有返回值:
3)获取参数,如果多个参数
a)先获取第一个参数firstEle
b)根据firstEle调用getNext()获取下一个参数
c)将这些参数都处理成文本类型
4)处理业务逻辑:
2.生成AXIOM的客户端:是按指定方式写成java类,而不再是命令行生成。
用到的相关类:
axiom.om:OMElement,OMFactory,OMAbstractFactory,OMNamespace
axis2:Constants,EndpointReference
client:Options,ServiceClient
生成步骤为:
1)定义一个静态方法:对应服务器中可调用的方法,返回一个OMElemnt对象。
比如:服务器上:OMElement getPrice(OMElement element)
对应生成客户端方法:OMElement getPricePayload(String symbol)
2)创建一个OMFactory工厂
3)根据名称空间和方法名(同参数名)创建一个OMElement对象:名称空间为
4)将参数值添加到OM参数中
5)将参数添加到本方法,非字符串类型要转换成字符串类型再添加
3.调用规则:
1)创建一个服务器客户端的对象:ServeClient sc
2)设置sc的交互信息:setOptions(options)--包括:要引用的服务(去掉?wsdl部分的路径)和传输协议
3)调用客户端生成的方法:
如果无返回值:用sc.fireAndForget(客户端生成的方法);
如果有返回值:用sc.sendReceive(客户端生成的方法),并且进行文本值的转换
Axis2之axiom
最新推荐文章于 2021-02-23 21:21:08 发布