Starting to learn ofbiz, I am following the tutorial here:
https://cwiki.apache.org/confluence/display/OFBIZ/OFBiz+Tutorial+-+A+Beginners+Development+Guide#OFBizTutorial-ABeginnersDevelopmentGuide-SecureYourApplicationbyAuthentication Now I am in the step to make the list form of persons editable. In this step I need to create a service which will be used for auto-fields-service. Below I give the code which I have done. In the controller.xml of my componenent I have created a requestMaps as follows: <request-map uri="updatePracticePerson"> <security https="true" auth="true"/> <event type="service" invoke="updatePracticePerson"/> <response name="success" type="view" value="personForm"/> <response name="error" type="view" value="personForm"/> </request-map> Moving now to the PracticeScreens.xml i have the following for personForm: <screen name="personForm"> <section> <actions> <set field="headerItem" value="personForm"/> <set field="titleProperty" value="PageTitlePracticePersonForm"/> <entity-condition entity-name="Person" list="persons"/> </actions> <widgets> <decorator-screen name="CommonPracticeDecorator" location="${parameters.mainDecoratorLocation}"> <decorator-section name="body"> <label text="Person List" style="h2"/> <include-form name="ListPersons" location="component://practice/widget/PracticeForms.xml"></include-form> </decorator-section> </decorator-screen> </widgets> </section> </screen> The above includes the ListPersons from PracticeForms.xml, which I have as : <form name="ListPersons" type="list" list-name="persons" list-entry-name="person" target="updatePracticePerson" paginate-target="personForm"> <auto-fields-service service-name="updatePracticePerson" default-field-type="edit" map-name="person"/> <field name="partyId"><hidden/></field> <field name="submitButton" title="Update" widget-style="smallSubmit"><submit button-type="button"/></field> <field name="deletePracticePerson" title="Delete Person" widget-style="buttontext"> <hyperlink target="deletePracticePerson?partyId=${person.partyId}" description="${uiLabelMap.CommonDelete}" also-hidden="false"/> </field> <field name="submitButton" title="${uiLabelMap.CommonUpdate}"><submit button-type="button"/></field> </form> If you see above the ListPersons calls the service updatePracticePerson. inside servicedef/services.xml i have the following: <service name="updatePracticePerson" default-entity-name="Person" engine="simple" location="component://practice/script/org/hotwax/practice/PracticeServices.xml" invoke="updatePracticePerson" auth="true"> <description>Create a Person</description> <auto-attributes include="pk" mode="IN" 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> In the root of my project in the file ofbiz-component.xml i have : <service-resource type="model" loader="main" location="servicedef/services.xml"/> this to make sure that my service is loaded. Although all of the above seem correct to me I get the following error : 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) Which obviously implies that everything is not ok and there is something wrong with my service. Could you please assist on this? also in the logs of ofbiz I cann see that services from other components are being loaded. but i can see the services from my component being loaded. Thanks in advance, gianis |
Free forum by Nabble | Edit this page |