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