10.04.02版本的部署不成功问题
现象
运行startofbiz.bat脚本后,访问http://localhost:8080/practice/control/main有如下错误:
原因
没有初始化数据
解决
在ofbiz目录下输入ant run-install,进行安装部署,再运行startofbiz.bat即可
参考
http://www.iteye.com/problems/65290
http://www.nowid.com/notes/18-ofbiz/42-ofbiz.html
安装教程做到Writing CRUD Operations for Person Entity遇到的问题
现象
输入http://localhost:8080/practice/control/personForm,遇到如下错误:
org.ofbiz.widget.screen.ScreenRenderException: Error rendering screen component://common/widget/CommonScreens.xml#GlobalDecorator: java.lang.RuntimeException: Error rendering included form named ListPersons at location component://practice/widget/PracticeForms.xml: java.lang.IllegalArgumentException: Error finding Service with name updatePracticePerson for auto-fields-service in a form widget (Error rendering included form named ListPersons at location component://practice/widget/PracticeForms.xml: java.lang.IllegalArgumentException: Error finding Service with name updatePracticePerson for auto-fields-service in a form widget)
网上查过说是我没有在service.xml中定义updatePracticePerson这个服务,但我service.xml是有如下代码的:
<!-- CRUD Operations for Person -->
<service name="createPracticePerson" default-entity-name="Person" engine="simple"
location="component://practice/script/org/ofbiz/practice/PracticeServices.xml" invoke="createPracticePerson" auth="true">
<description>Create a Person</description>
<auto-attributes include="pk" mode="OUT" optional="false"/>
<attribute name="salutation" mode="IN" type="String" optional="true"/>
<attribute name="firstName" mode="IN" type="String" optional="false"/>
<attribute name="middleName" mode="IN" type="String" optional="true"/>
<attribute name="lastName" mode="IN" type="String" optional="false"/>
<attribute name="suffix" mode="IN" type="String" optional="true"/>
</service>
所以我不知道是哪里错了,等以后回头看吧
原因与后面的这个问题一样
按照教程,在访问createPracticePerson的时候遇到的问题
现象
输入http://localhost:8080/practice/control/createPracticePerson遇到如下的问题
但是,我的service.xml中的确定义了createPracticePerson这样一个service的
<service name="createPracticePerson" default-entity-name="Person" engine="entity-auto"
location="component://practice/script/org/hotwax/practice/PracticeServices.xml" invoke="createPracticePerson" auth="true">
<description>Create a Person</description>
<auto-attributes include="pk" mode="OUT" optional="false"/>
<attribute name="salutation" mode="IN" type="String" optional="true"/>
<attribute name="firstName" mode="IN" type="String" optional="false"/>
<attribute name="middleName" mode="IN" type="String" optional="true"/>
<attribute name="lastName" mode="IN" type="String" optional="false"/>
<attribute name="suffix" mode="IN" type="String" optional="true"/>
</service>
原因
经过多次检查,发现我在ofbiz-component.xml中的说明如下
<service-resource type="model" loader="main" location="servicedef/services.xml"/>
而我的目录如下:
发现servicedef下面是service.xml而非services.xml,少了一个字母"s"!!!!!!!!!!!!我去!!!!!!!!!
解决
改成services.xml....
由于这个与service相关,如果有改动要重新启动ofbiz!
重新访问,虽然还有错误,但至少已经能进入了
访问应用的时候出现:找不到下列必须的参数:[IN][createParcticePerson.firstName]问题
现象
原因
一开始我也不知道原因是什么,后面在按照教程做,得到如下界面后
我想把第一条改成我的名字
点击Update第一条就被修改了,如果我把Last Name对应的Zhao去掉,再update
发现刚才的错误就出现了。
现在用webtool检查我们createPracticePerson有没有问题:
发现时没有问题可以正常使用的。
现在我们看controller中的代码:
<request-map uri="createPracticePerson">
<security https="false" auth="true"/>
<event type="service" invoke="createPracticePerson"/>
<response name="success" type="view" value="personform"/>
</request-map>
这个是按照教程上写的,当访问/createPracticePerson的时候,是跳到personform的,而在createPraceticePerson这个service中,我们是需要firstName和lastName的。我的理解是我们并没有在createPracticePerson这个service中提供firstName和lastName就跳到了personform,所以就出现了这个错误。
解决
由于对界面相关的代码不是很熟悉,所以这个问题暂时无法解决,我不知道怎么弄出一个界面来让用户填写firstName和lastName
"You do not have permission to view this > page. ("PARTYMGR_VIEW" or > > "PARTYMGR_ADMIN" needed)"
现象
访问partymgr的时候,显示这个内容,且无法对party内容进行操作
原因
数据部署不成功
解决
重新运行ant run-install即可
The Beginner's Tutorial中的错误
-
41页的ftl代码
<tr> <td class="label">Planet</td> <td> <input type="text" size="30" maxlength="100" name="planet" value="${(mechMap.postalAddress.planet)!"}"> </td> </tr>
感叹号后面的"要去掉