理解本文之前需要了解以下几个东西:
ofbiz的服务定义和实现,webservice的含义和简单理解wsdl文件,soapui的简单使用
1.首先定义一个服务,并且在服务定义中增加一个export为true的属性,这样这个服务就暴露成webservice了
<service engine="java" name="TestSoap" location="com.sunyard.cpsp.ofbiztemplate.OfbizTemplateService" invoke="testSoap"
export="true">
<description>这是一个暴露成webservice的服务,java实现中有利用soapui测试的详细介绍</description>
<attribute name="attr1" mode="INOUT" type="String"></attribute>
<attribute name="attr2" mode="INOUT" type="Map"></attribute>
<attribute name="attr3" mode="INOUT" type="Double"></attribute>
</service>
2.写好这个服务的实现,我们这里采用的是java
public static Map<String, Object> testSoap(DispatchContext dctx,Map<String, Object> context){
/**介绍如何结合soapui测试这个服务*/
/*
* 1.浏览器中输入http://localhost:8080/webtools/control/SOAPService?wsdl可以查看所有ofbiz暴露成webservice的服务
* 2.选择TestSoap浏览器地址跳转到http://localhost:8080/webtools/control/SOAPService/TestSoap?wsdl这就是TestSoap的
* wsdl文件
* 3.在soapui中建立一个工程initil WSDL填上第二点中的wsdl文件(可以直接填这个地址)
* 4.soapui中的第一个request中填入合法的参数数据,详情参考http://meilv.iteye.com/blog/1317112
*/
Map<String, Object> result = ServiceUtil.returnSuccess("成功运行TestSoap服务");
result.putAll(context);
return result;
}
3.按照服务实现中注释查看ofbiz为每个服务生产的wsdl文件
为什么地址是webtools模块下面的地址?那是因为在webtools的control中有下面这样一个request,所以使用这样一个地址来暴露webservice。因为这个request中的event类型是soap,所以control中一定要引用了soap这个handler
<request-map uri="SOAPService">
<event type="soap"/>
<response name="error" type="none"/>
<response name="success" type="none"/>
</request-map>
4.soapui的request中的数据格式如下。实际上就是将context中的内容用xml表示了出来。
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ser="http://ofbiz.apache.org/service/">
<soapenv:Header/>
<soapenv:Body>
<ser:TestSoap>
<map-Map>
<!-- Map中的一个元素,其中key为String类型,value也为String类型-->
<ser:map-Entry>
<ser:map-Key>
<ser:std-String value="attr1"/>
</ser:map-Key>
<ser:map-Value>
<ser:std-String value="attr1"/>
</ser:map-Value>
</ser:map-Entry>
<!-- Map中的一个元素,其中key为String类型,value也为Map类型-->
<ser:map-Entry>
<ser:map-Key>
<ser:std-String value="attr2"/>
</ser:map-Key>
<ser:map-Value>
<ser:map-Map>
<ser:map-Entry>
<ser:map-Key>
<ser:std-String value="attr21"/>
</ser:map-Key>
<ser:map-Value>
<ser:std-String value="attr21"/>
</ser:map-Value>
</ser:map-Entry>
</ser:map-Map>
</ser:map-Value>
</ser:map-Entry>
<!-- Map中的一个元素,其中key为String类型,value也为Double类型-->
<ser:map-Entry>
<ser:map-Key>
<ser:std-String value="attr3"/>
</ser:map-Key>
<ser:map-Value>
<ser:std-Double value="20"/>
</ser:map-Value>
</ser:map-Entry>
</map-Map>
</ser:TestSoap>
</soapenv:Body>
</soapenv:Envelope>

- 描述: 编写完成后点击运行的结果如图
- 大小: 30.6 KB
分享到:
相关推荐
- 最后进行服务测试以确保表单可以正确地插入数据到数据库。 #### 第四步:优化服务 优化可能包括代码重构、性能调整等。文档未具体说明,但提到的是在开发过程中应该遵循的一些命名约定。 ### 命名约定 为了...
【OFBiz Git 服务搭建详解】 OFBiz是一个开源的企业级应用框架,主要用于构建和管理电子商务系统。本教程将详细介绍如何在本地环境中搭建...现在你可以开始进行开发、测试和协作,利用Git的强大功能管理代码变更。
在本文中,我们将深入探讨如何搭建OFBiz 16.11.05的运行及开发环境,并讨论一些关键的OFBiz功能,如百度地图集成、国际化处理、用户逻辑、PDF导出、服务调用、内容管理、MVC框架、服务引擎、多租户以及权限系统。...
OFBiz 环境搭建的正确性将直接影响到后续的开发和测试工作。 OFBiz 安装 OFBiz 安装是指将 OFBiz 下载到本地计算机中,并进行初步配置的过程。OFBiz 安装包括下载 OFBiz、安装数据库、配置应用程序服务器等步骤。...
最后,你还将接触到OFBIZ的测试框架,了解如何编写单元测试和集成测试,确保代码的质量和系统的稳定性。 总之,《OFBIZ开发指南》是深入学习和实践OFBIZ开发的宝贵资源,无论你是初学者还是有经验的开发者,都能...
本教程将带你逐步了解如何入门OFBiz,以及如何在OFBiz环境中进行基本的CRUD(创建、读取、更新、删除)操作。 首先,你需要从官方下载页面获取OFBiz的最新版本,例如12.04.02,并将其解压缩到本地文件夹,如F:\...
本文将深入探讨OFBiz API的开发文档,帮助开发者更高效地理解和利用这一强大的工具。 1. **OFBiz API 简介** OFBiz API 是OFBiz框架的核心组成部分,它提供了丰富的接口和方法,使得开发者能够轻松地与OFBiz的各个...
它支持基于XML的定义文件来描述服务,并且可以通过SOAP、REST或JMS等不同方式暴露服务。 2. **实体引擎**:用于管理数据库中的对象,提供了一种声明式的方式来定义实体和它们之间的关系,类似于ORM(对象关系映射)...
4. 测试与调试:Ofbiz提供了一套完善的测试框架,包括单元测试和集成测试。你可以编写JUnit测试用例,确保你的代码正常工作。 五、进阶学习资源 Ofbiz社区提供了大量的文档和教程,包括官方的用户指南、开发者手册...
这些模型文件通常为XML格式,比如`entityengine.xml`,它们定义了数据库表的字段、类型、约束等,并且可以通过Ofbiz的数据导入导出工具进行数据迁移和备份。开发者可以根据需要修改这些模型,以适应特定的业务需求或...
这将帮助你理解Ofbiz如何在数据库中存储信息,如何通过服务接口操作数据,以及如何展示这些信息给用户。 文档中提供的"新建 Microsoft Word 文档 (2).docx"和"新建 Microsoft Word 文档.docx"可能是详细的学习笔记...
4. **API与服务**:OfBiz提供了丰富的API接口和服务,允许开发者进行定制化开发,扩展系统功能。在Demo中,开发者可以查看这些接口的使用示例,了解如何集成外部系统。 5. **文档资料**:除了代码和演示数据,...
11. 扩展和重构OFBiz:包括了将现有的BeanShell脚本转换为Java事件,以及使用了哪种扩展策略来优化OFBiz的开发。 12. 测试与备份:介绍了如何保存测试的快照点,备份Derby数据库文件和Web服务器工作文件,以便快速...
1、ofbiz 将其他的webservice 封装成服务,这时ofbiz的应用系统可以直接调用该服务,以访问其他的Webservice: 92 2、其他的soap客户端可以通过soap访问ofbiz,这时ofbiz相当于Webservice服务器 92 二、Soap应用例子...
在《Ofbiz开发快速入门》中,你将了解到Ofbiz的核心概念,如实体模型(Entity)、服务(Service)和组件(Component)。实体模型是Ofbiz的基础,它定义了业务数据结构;服务则负责处理业务逻辑,是Ofbiz实现功能的...
《OFBiz数据结构设计详解》 OFBiz,全称为Open For Business Project,是一个开源的企业级应用框架,主要用于构建和...在实际项目中,理解并熟练运用这些设计原则,将能更好地利用OFBiz构建出高效、稳定的企业级应用。
在本教程中,我们将深入探讨如何入门Apache Ofbiz的开发,这是一个开源的企业级应用框架,专为电子商务、供应链管理和企业资源规划等业务流程设计。Ofbiz提供了强大的组件化架构,使得开发者可以方便地构建和扩展...
《Ofbiz 10.04 迁移到 MySQL 数据库的配置详解》 Apache Ofbiz 是一款开源的企业级电子商务应用套件,它默认使用 Java 的 Derby 数据库。...正确完成这些步骤后,Ofbiz 将能充分利用 MySQL 提供的强大功能和性能优势。
4. 普通安装:我们也可以将下载的 Ofbiz 压缩包解压到工作空间,然后按照正常的导入项目流程将解压后的 Ofbiz 项目导入 Eclipse。 Ofbiz 项目结构 在安装 Ofbiz 之后,我们可以在 Eclipse 中查看 Ofbiz 的项目结构...