Axis2之axiom

    技术2022-05-19  53

    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(客户端生成的方法),并且进行文本值的转换


    最新回复(0)