Details

    • Type: New Feature New Feature
    • Status: Open
    • Priority: Minor Minor
    • Resolution: Unresolved
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: framework
    • Labels:
      None
    • Environment:

      Windows, Ubuntu Linux

      Description

      This is a new stub for new web service style that use a normal style (not hash map [key/value]).

      [[ Installation ]]

      • Extract webservice.zip file (attached file) to hot-deploy directory of OFBiz framework
      • run ant task for apply patch in webservice directory with:
        ant reapply-ofbiz-patches

      [[ Features ]]

      1.) New classes

      There is new important class

      org.ofbiz.webapp.webservice.event.WebServiceEventHandler

      which corresponds to earlier

      org.ofbiz.webapp.event.SOAPEventHandler

      but tries to support document style web services using
      SOAP with XML-format, or REST with XML and JSON-formats.
      This handler class uses other class:

      org.ofbiz.service.webservice.WebServiceModel

      which wraps inside class

      org.ofbiz.service.ModelService

      and contains support for WSDL-generation, WADL-generation
      and conversion between Java Maps and XML-object models.
      WSDL=Web Service Definition Language for SOAP-interface
      http://www.w3.org/TR/wsdl
      WADL=Web Application Description Language for REST-interface
      http://www.w3.org/Submission/wadl/

      There is another new important class

      org.ofbiz.service.webservice.engine.WebServiceClientEngine

      which corresponds to earlier

      org.ofbiz.service.engine.SOAPClientEngine

      but tries to support document style web services using
      SOAP with XML-format. Web services can be called using
      their WSDL-document or messages can be specified in
      services.xml without using WSDL-document. engine-attribute
      in services description is set to "webservice". Location
      of WSDL-document is given in attribute wsdlLocation or
      it can be left out if messages are described with attribute-
      definitions. Name of service in WSDL is given in
      attribute webServiceName and name of operation to be
      invoked in attribute invoke. One service-definition is
      needed for one web service-operation pair.
      Example of web service definitions are in file:
      framework/common/servicedef/services_test.xml
      This engine class uses other class:

      org.ofbiz.service.webservice.WebServiceClientModel

      which extends org.ofbiz.service.webservice.WebServiceModel

      and contains support for filling attribute definitions
      in org.ofbiz.service.ModelService from WSDL-document.

      2.) Service definitions

      Web service interface can be used only if service definition
      file services.xml is completed with additional definitions.
      Schema of this file is extended.

      attribute-elements can have nested attribute elements
      which describe structure of Java maps and lists.
      If attribute has type Map, it should have nested attributes
      which describe contents of this map.
      If attribute has type List, it should have nested attributes
      which describe element contents of this list.
      If List has simple elements, there must be only one
      nested attribute, which describes element.
      If List has element which is map or other list, there
      must be one nested attribute stating that the element
      is Map or List, and then this attribute should have
      nested attributes describing structure of Map or
      structure of list element.
      There are also two new modes for attributes
      ERROR which means that attribute is responded as error message
      OUTERROR which means that attribute is responded as error
      or as success message
      These modes are needed for web services to describe
      which parameters will go to detail-elements of SOAP Fault response
      or REST error messages. Also in WSDL- and WADL-files will be
      generated XML-schema for general response messages.

      File framework\webapp\servicedef\services_test.xml
      can be used as example of attribute definitions.
      This file is used in unit tests of web service interface.

      3.) Web service requests

      In REST-services HTTP GET-method is used in services whose
      name start with words "find" or "get". These services should
      have input parameters in one level, so that they can be
      given as query parameters in URL. HTTP DELETE-method is used
      with services whose name start with word "remove". Other services
      are used with HTTP POST-method and PUT-method. Service must
      look itself for method name POST or PUT, if it is required
      to operate differently in insert or update cases.

      List of links to all WSDL-documents can be requested with URL:

      /webtools/control/WebService?wsdl

      Specific WSDL-document is requested with URL:

      /webtools/control/WebService/<service name here>?wsdl

      SOAP web service is called with URL:

      /webtools/control/WebService

      Notice that no service name is added to URL. Operation
      name in request message specifies the service name.

      List of links to all WADL-documents can be requested with URL:

      /webtools/control/WebService?wadl

      Specific WADL-document is requested with URL:

      /webtools/control/WebService/<service name here>?wadl

      REST web service is called with URL:

      /webtools/control/WebService/<service name here>[?parameter=value...]

      REST web service with JSON-format is called with URL:

      /webtools/control/WebService/<service name here>?format=json[&parameter=value...]

      SOAP and REST web service requests are selected by
      request URL, where REST web service has appended
      service name in URL.

      4.) Unit tests

      Tests for web services

      org.ofbiz.webapp.webservice.test.WebServiceTests

      This has 14 different tests which are:
      1. Conversion of XML-object model to Map
      2. Conversion of Map to XML-object model
      3. Call SOAP-web service
      4. Call SOAP-web service which needs authorization
      5. Call SOAP-web service with wrong credentials
      6. Call SOAP-web service with wrong service name
      7. Call REST-web service
      8. Call REST-web service which needs authorization
      9. Call REST-web service with wrong credentials
      10. Call REST-web service with wrong service name
      11. Call REST-web service using JSON-format
      12. Call REST-web service which needs authorization using JSON-format
      13. Call REST-web service with wrong credentials using JSON-format
      14. Call REST-web service with wrong service name using JSON-format

      Junit test suite definitions are in file
      framework/webapp/testdef/webservicetests.xml

      These unit tests use test service in class
      org.ofbiz.webapp.webservice.test.WebServiceTestServices
      Service definitions are in file
      framework\webapp\servicedef\services_test.xml

      Unit tests for web service interface can be run with command:

      ant run-single-test-suite -Dtest.component=webapp -Dtest.suiteName=webservicetests

      Tests for web service client

      org.ofbiz.service.webservice.test.WebServiceClientTests

      This has 4 different tests which are:

      1. Call SOAP-web service
      2. Call SOAP-web service which needs authorization
      3. Call SOAP-web service with wrong credentials
      4. Call SOAP-web service without WSDL-document using service definitions

      Junit test suite definitions are in file
      framework/service/testdef/webserviceclienttests.xml

      These tests use same test services as tests for web services.

      Unit tests for web service client can be run with command:

      ant run-single-test-suite -Dtest.component=service -Dtest.suiteName=webserviceclienttests

      Created By: Joonas Keturi

      1. webservice.tar.bz2
        3.69 MB
        Joonas Keturi
      2. webui.tar.bz2
        4.91 MB
        Joonas Keturi
      3. webui.png
        77 kB
        Joonas Keturi
      4. ASF.LICENSE.NOT.GRANTED--webui empty UI.jpg
        19 kB
        Jacques Le Roux

        Activity

        Hide
        Chatree Srichart added a comment -

        webservice.zip file container patch and additional jar file for web service

        Show
        Chatree Srichart added a comment - webservice.zip file container patch and additional jar file for web service
        Hide
        Hans Bakker added a comment -

        i checked the patch, however it does not compile on the current trunk version

        Show
        Hans Bakker added a comment - i checked the patch, however it does not compile on the current trunk version
        Hide
        Hans Bakker added a comment -

        it looks like you have to issue the command TWO times in the hot-deploy/webservices directory:

        ../../ant reapply-ofbiz-patches

        Then it will compile fine.
        just talked to Chatree, thanks!

        Show
        Hans Bakker added a comment - it looks like you have to issue the command TWO times in the hot-deploy/webservices directory: ../../ant reapply-ofbiz-patches Then it will compile fine. just talked to Chatree, thanks!
        Hide
        Hans Bakker added a comment -

        I just run the tests and everything looks ok now.

        If no major objections i will commit this the middle of next week.

        good job Chatree!

        Regards,'
        Hans

        Show
        Hans Bakker added a comment - I just run the tests and everything looks ok now. If no major objections i will commit this the middle of next week. good job Chatree! Regards,' Hans
        Hide
        Scott Gray added a comment -

        These changes look interesting and at first (very quick) glance I'm not necessarily against them, BUT...

        these are fairly major changes to the service engine, one of the absolute core pieces of OFBiz. I beg you to not commit this until it has been reviewed by at least a few of committers.

        One question for starters:
        Is the enhanced service definition schema intended to also be used by OFBiz internally? For example, could I now define the contents of a Map typed attribute for a standard OFBiz service and have the incoming/outgoing context validated according to the definition?

        Show
        Scott Gray added a comment - These changes look interesting and at first (very quick) glance I'm not necessarily against them, BUT... these are fairly major changes to the service engine, one of the absolute core pieces of OFBiz. I beg you to not commit this until it has been reviewed by at least a few of committers. One question for starters: Is the enhanced service definition schema intended to also be used by OFBiz internally? For example, could I now define the contents of a Map typed attribute for a standard OFBiz service and have the incoming/outgoing context validated according to the definition?
        Hide
        Hans Bakker added a comment -

        Hi Scott, i completely agree with you (finally?) about the impact. The more technical questions will be answered by Chatree. If anybody has any more questions or concerns, please put them forward.

        Please also realize this is a major step towards using ofbiz as the basis of an enterprise service bus perhaps together with apache servicemix. We are at the moment servicing a rather big client which could be a chance to get to other big clients.

        so sure....lets be carefull with this commit....

        any other opinions David?

        Regards,
        Hans

        Show
        Hans Bakker added a comment - Hi Scott, i completely agree with you (finally?) about the impact. The more technical questions will be answered by Chatree. If anybody has any more questions or concerns, please put them forward. Please also realize this is a major step towards using ofbiz as the basis of an enterprise service bus perhaps together with apache servicemix. We are at the moment servicing a rather big client which could be a chance to get to other big clients. so sure....lets be carefull with this commit.... any other opinions David? Regards, Hans
        Hide
        David E. Jones added a comment -

        I don't have any immediate opinions, not at the minute anyway, and I don't really have anything real to apply it to or try it on right now (nothing currently on the docket anyway).

        I'll see if I can shift some priorities and get a couple of my people on this soon, and hopefully you'll hear some feedback from them in the next little while.

        Show
        David E. Jones added a comment - I don't have any immediate opinions, not at the minute anyway, and I don't really have anything real to apply it to or try it on right now (nothing currently on the docket anyway). I'll see if I can shift some priorities and get a couple of my people on this soon, and hopefully you'll hear some feedback from them in the next little while.
        Hide
        Joonas Keturi added a comment -

        One question for starters:
        Is the enhanced service definition schema intended to also be used by OFBiz internally? For example, could I now define the contents of a Map typed attribute for a standard OFBiz service and have the incoming/outgoing context validated according to the definition?

        Answer:
        Yes it is possible to make almost any earlier service to operate through web service interface. You must complement services.xml with additional definitions so that there will be no left "free variables". Also success messages and error messages must be defined in services.xml. There are some restrictions though. You can't use structures which refer to themselves, like hierachical tree structure where same data type occurs in many levels. All nested attribute definitions must be specified directly under parent attribute, and can't be separate data types which could be referred from other attributes.

        Show
        Joonas Keturi added a comment - One question for starters: Is the enhanced service definition schema intended to also be used by OFBiz internally? For example, could I now define the contents of a Map typed attribute for a standard OFBiz service and have the incoming/outgoing context validated according to the definition? Answer: Yes it is possible to make almost any earlier service to operate through web service interface. You must complement services.xml with additional definitions so that there will be no left "free variables". Also success messages and error messages must be defined in services.xml. There are some restrictions though. You can't use structures which refer to themselves, like hierachical tree structure where same data type occurs in many levels. All nested attribute definitions must be specified directly under parent attribute, and can't be separate data types which could be referred from other attributes.
        Hide
        Scott Gray added a comment -

        Hi Joonas,
        Could you expand on "make almost any earlier service to operate through web service interface"? I don't know what web service interface means, I'm just talking about standard internal service execution using the LocalDispatcher. I get the feeling you are referring to service execution via the event handler introduced in the patch.

        Show
        Scott Gray added a comment - Hi Joonas, Could you expand on "make almost any earlier service to operate through web service interface"? I don't know what web service interface means, I'm just talking about standard internal service execution using the LocalDispatcher. I get the feeling you are referring to service execution via the event handler introduced in the patch.
        Hide
        Joonas Keturi added a comment -

        Could you expand on "make almost any earlier service to operate through web service interface"? I don't know what web service interface means, I'm just talking about standard internal service execution using the LocalDispatcher. I get the feeling you are referring to service execution via the event handler introduced in the patch.

        I didn't get your earlier question right. I refer only to new web service event handler. New attribute definitions don't have effect on calling internally services with LocalDispatcher. These calls operate as before. No checking of nested attributes is done, although it's possible to modify code so that it could be done. Nested attributes are used for generating web service definition (WSDL and WADL) for web service clients, and checking web messages (SOAP and REST) when they come through new event handler.

        Show
        Joonas Keturi added a comment - Could you expand on "make almost any earlier service to operate through web service interface"? I don't know what web service interface means, I'm just talking about standard internal service execution using the LocalDispatcher. I get the feeling you are referring to service execution via the event handler introduced in the patch. I didn't get your earlier question right. I refer only to new web service event handler. New attribute definitions don't have effect on calling internally services with LocalDispatcher. These calls operate as before. No checking of nested attributes is done, although it's possible to modify code so that it could be done. Nested attributes are used for generating web service definition (WSDL and WADL) for web service clients, and checking web messages (SOAP and REST) when they come through new event handler.
        Hide
        Scott Gray added a comment -

        Thanks Joonas, it does concern me a little though. Altering the standard service definition schema in a major way but then only supporting those changes via a single event handler seems likely to cause a lot of confusion for developers who aren't using web services.
        I would suggest that we either:

        • define a separate schema specifically for web services that serves as an extension to a standard service definition, i.e. you define a normal service and then in a separate file you extend its definition with the information required for it to function as a web service
        • or we add support to the service engine to support the additional schema information

        Obviously I prefer the latter, I think it would be a big win to be able to more clearly define ambiguous service attributes such as Maps. I'm really not very comfortable with adding elements and attributes to the service definition schema if those new pieces aren't actually supported by the service engine itself.

        Hopefully within the next couple of days I'll be able to take a closer look at the schema definition changes and provide some feedback on them, I've only really taken a glance so far.

        Show
        Scott Gray added a comment - Thanks Joonas, it does concern me a little though. Altering the standard service definition schema in a major way but then only supporting those changes via a single event handler seems likely to cause a lot of confusion for developers who aren't using web services. I would suggest that we either: define a separate schema specifically for web services that serves as an extension to a standard service definition, i.e. you define a normal service and then in a separate file you extend its definition with the information required for it to function as a web service or we add support to the service engine to support the additional schema information Obviously I prefer the latter, I think it would be a big win to be able to more clearly define ambiguous service attributes such as Maps. I'm really not very comfortable with adding elements and attributes to the service definition schema if those new pieces aren't actually supported by the service engine itself. Hopefully within the next couple of days I'll be able to take a closer look at the schema definition changes and provide some feedback on them, I've only really taken a glance so far.
        Hide
        Joonas Keturi added a comment -

        Second alternative looks better for me also. If you want, I can make changes to code so that parameters of local service invocations are checked also against nested attribute definitions. This will only have effect on validation of parameters, no new functionality will be introduced.

        Show
        Joonas Keturi added a comment - Second alternative looks better for me also. If you want, I can make changes to code so that parameters of local service invocations are checked also against nested attribute definitions. This will only have effect on validation of parameters, no new functionality will be introduced.
        Hide
        Chatree Srichart added a comment -

        Joonas Keturi ask me to update this issue. he said
        "I have fixed webservice patches so that service parameters are checked against
        service definitions nested attributes when calling services locally.
        I have also added web service client, which can call document style
        web services."

        Show
        Chatree Srichart added a comment - Joonas Keturi ask me to update this issue. he said "I have fixed webservice patches so that service parameters are checked against service definitions nested attributes when calling services locally. I have also added web service client, which can call document style web services."
        Hide
        Chatree Srichart added a comment -

        New web service patch for service parameters are checked against service definitions nested attributes when calling services locally and added web service client, which can call document style web services.

        Show
        Chatree Srichart added a comment - New web service patch for service parameters are checked against service definitions nested attributes when calling services locally and added web service client, which can call document style web services.
        Hide
        Hans Bakker added a comment -

        I checked the libraries which were added with this patch, they have either the Apache, CPL or Mozilla license which needs to be added to the license file.

        When the automated test will pass and now the comment from Scott has been resolved i see no reson why not commit this patch.
        Scott or any other committer or contributor please have a look at it. When no major problems i will commit on monday.

        Regards,
        Hans

        Show
        Hans Bakker added a comment - I checked the libraries which were added with this patch, they have either the Apache, CPL or Mozilla license which needs to be added to the license file. When the automated test will pass and now the comment from Scott has been resolved i see no reson why not commit this patch. Scott or any other committer or contributor please have a look at it. When no major problems i will commit on monday. Regards, Hans
        Hide
        Scott Gray added a comment -

        A few questions:

        • What has changed since my first comment, the one that you agreed with?
        • Why the hurry?
        • Do you understand the code that you plan on committing? I won't pretend that it doesn't concern me that you are deferring to others to answer questions about a contribution that you plan on committing, particularly one that affects critical part of the framework. This in itself is a "major problem" IMO, regardless of the quality of the contribution.
        Show
        Scott Gray added a comment - A few questions: What has changed since my first comment, the one that you agreed with? Why the hurry? Do you understand the code that you plan on committing? I won't pretend that it doesn't concern me that you are deferring to others to answer questions about a contribution that you plan on committing, particularly one that affects critical part of the framework. This in itself is a "major problem" IMO, regardless of the quality of the contribution.
        Hide
        Jacques Le Roux added a comment - - edited

        I second Scott's concerns. It's also great to see that Erwan cleaned the Birt Example... Thanks Erwan! (I believe he will read this)

        ==== TYPO ====

        Show
        Jacques Le Roux added a comment - - edited I second Scott's concerns. It's also great to see that Erwan cleaned the Birt Example... Thanks Erwan! (I believe he will read this) ==== TYPO ====
        Hide
        Chatree Srichart added a comment -

        I re-attach webservice.zip file from Joonas Keturi updated:

        "I took out mode-parameter choices "ERROR" and "OUTERROR"
        and made it simpler. modes are again as previously OUT, IN, INOUT.
        error messages are handled in other way (with attribute "fault")."

        Regards,
        Chatree Srichart

        Show
        Chatree Srichart added a comment - I re-attach webservice.zip file from Joonas Keturi updated: "I took out mode-parameter choices "ERROR" and "OUTERROR" and made it simpler. modes are again as previously OUT, IN, INOUT. error messages are handled in other way (with attribute "fault")." Regards, Chatree Srichart
        Hide
        Chatree Srichart added a comment -

        Joonas Keturi asked me to update attached file.
        "in this update are many mistakes fixed, and also web service client
        is improved and tested against complex external web service.
        i think there will no be updates for some time after this."

        Regards,
        Chatree Srichart

        Show
        Chatree Srichart added a comment - Joonas Keturi asked me to update attached file. "in this update are many mistakes fixed, and also web service client is improved and tested against complex external web service. i think there will no be updates for some time after this." Regards, Chatree Srichart
        Hide
        Hans Bakker added a comment -

        Gentleman,

        1. Now support to the standard service engine has been added to optionally support this extension also for internal services.
        2. full junit tests exist for the new implementation.
        3. i have tested the system so far that it will not create any problems for existing code.

        Because our (rather large) customer will continue this project using this code it is essential to commit this back into the trunk.

        Regards,
        Hans

        Show
        Hans Bakker added a comment - Gentleman, 1. Now support to the standard service engine has been added to optionally support this extension also for internal services. 2. full junit tests exist for the new implementation. 3. i have tested the system so far that it will not create any problems for existing code. Because our (rather large) customer will continue this project using this code it is essential to commit this back into the trunk. Regards, Hans
        Hide
        Chatree Srichart added a comment -

        I got an updated message from Joonas Keturi:

        "handling of list type attributes is changed to more general way, it
        was not very flexible in last version.
        also ^M-characters (carriage returns) are removed from patch-files,
        they came from windows by accident."

        So I update webservice.zip file for that and re-attach in the issue.

        Show
        Chatree Srichart added a comment - I got an updated message from Joonas Keturi: "handling of list type attributes is changed to more general way, it was not very flexible in last version. also ^M-characters (carriage returns) are removed from patch-files, they came from windows by accident." So I update webservice.zip file for that and re-attach in the issue.
        Hide
        Joonas Keturi added a comment -

        patch with fixes related to wsdl-generation, and conflicts resolved with last trunk version.

        Show
        Joonas Keturi added a comment - patch with fixes related to wsdl-generation, and conflicts resolved with last trunk version.
        Hide
        Jacques Le Roux added a comment -

        I will have a look soon...

        Show
        Jacques Le Roux added a comment - I will have a look soon...
        Hide
        Joonas Keturi added a comment -

        With this web application it is possible to call services in OFBiz through user interface
        generated from web service interface.

        Show
        Joonas Keturi added a comment - With this web application it is possible to call services in OFBiz through user interface generated from web service interface.
        Hide
        Jacques Le Roux added a comment - - edited

        Hi Joonas,

        Just very quicky tried (no thoughts at al), unpacked and had to remove ._* else issues, please remove them in next archives

        Is there a menu access to webui?

        I tried https://localhost:28443/webui/control/main

        and got this

        Mar 3, 2011 6:37:55 AM com.vaadin.terminal.gwt.server.AbstractApplicationServlet checkProductionMode
        WARNING:
        =================================================================
        Vaadin is running in DEBUG MODE.
        Add productionMode=true to web.xml to disable debug features.
        To show debug window, add ?debug to your application URL.
        =================================================================
        2011-03-03 06:38:05,453 (http-0.0.0.0-28443-8) [ HttpMethodDirector.java:439:INFO ] I/O exception (java.net.ConnectException) caught when processing request: Connection refused: connect
        2011-03-03 06:38:05,468 (http-0.0.0.0-28443-8) [ HttpMethodDirector.java:445:INFO ] Retrying request
        2011-03-03 06:38:06,453 (http-0.0.0.0-28443-8) [ HttpMethodDirector.java:439:INFO ] I/O exception (java.net.ConnectException) caught when processing request: Connection refused: connect
        2011-03-03 06:38:06,468 (http-0.0.0.0-28443-8) [ HttpMethodDirector.java:445:INFO ] Retrying request
        2011-03-03 06:38:07,468 (http-0.0.0.0-28443-8) [ HttpMethodDirector.java:439:INFO ] I/O exception (java.net.ConnectException) caught when processing request: Connection refused: connect
        2011-03-03 06:38:07,468 (http-0.0.0.0-28443-8) [ HttpMethodDirector.java:445:INFO ] Retrying request
        2011-03-03 06:38:08,578 (http-0.0.0.0-28443-8) [StandardWrapperValve.java:274:ERROR] Servlet.service() for servlet webui threw exception
        java.net.ConnectException: Connection refused: connect
                at java.net.PlainSocketImpl.socketConnect(Native Method)
                at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333)
                at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195)
                at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182)
                at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366)
                at java.net.Socket.connect(Socket.java:529)
                at java.net.Socket.connect(Socket.java:478)
                at java.net.Socket.<init>(Socket.java:375)
                at java.net.Socket.<init>(Socket.java:249)
                at org.apache.commons.httpclient.protocol.DefaultProtocolSocketFactory.createSocket(DefaultProtocolSocketFactory.java:80)
                at org.apache.commons.httpclient.protocol.DefaultProtocolSocketFactory.createSocket(DefaultProtocolSocketFactory.java:122)
                at org.apache.commons.httpclient.HttpConnection.open(HttpConnection.java:707)
                at org.apache.commons.httpclient.HttpMethodDirector.executeWithRetry(HttpMethodDirector.java:387)
                at org.apache.commons.httpclient.HttpMethodDirector.executeMethod(HttpMethodDirector.java:171)
                at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:397)
                at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:323)
                at org.vaadin.webui.OFBizApplication.setupWSDLURIs(OFBizApplication.java:65)
                at org.vaadin.webui.OFBizApplication.initApplication(OFBizApplication.java:42)
                at org.vaadin.webui.WebUIApplication.init(WebUIApplication.java:69)
                at com.vaadin.Application.start(Application.java:554)
                at com.vaadin.terminal.gwt.server.AbstractApplicationServlet.startApplication(AbstractApplicationServlet.java:1182)
                at com.vaadin.terminal.gwt.server.AbstractApplicationServlet.service(AbstractApplicationServlet.java:466)
                at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
                at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
                at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
                at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
                at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
                at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
                at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
                at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
                at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:554)
                at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
                at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)
                at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
                at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
                at java.lang.Thread.run(Thread.java:662)
        

        Is there another way? Do I mis something?

        Thanks

        =======EDIT=============
        Removed 1 question, not really awake

        Show
        Jacques Le Roux added a comment - - edited Hi Joonas, Just very quicky tried (no thoughts at al), unpacked and had to remove ._* else issues, please remove them in next archives Is there a menu access to webui? I tried https://localhost:28443/webui/control/main and got this Mar 3, 2011 6:37:55 AM com.vaadin.terminal.gwt.server.AbstractApplicationServlet checkProductionMode WARNING: ================================================================= Vaadin is running in DEBUG MODE. Add productionMode= true to web.xml to disable debug features. To show debug window, add ?debug to your application URL. ================================================================= 2011-03-03 06:38:05,453 (http-0.0.0.0-28443-8) [ HttpMethodDirector.java:439:INFO ] I/O exception (java.net.ConnectException) caught when processing request: Connection refused: connect 2011-03-03 06:38:05,468 (http-0.0.0.0-28443-8) [ HttpMethodDirector.java:445:INFO ] Retrying request 2011-03-03 06:38:06,453 (http-0.0.0.0-28443-8) [ HttpMethodDirector.java:439:INFO ] I/O exception (java.net.ConnectException) caught when processing request: Connection refused: connect 2011-03-03 06:38:06,468 (http-0.0.0.0-28443-8) [ HttpMethodDirector.java:445:INFO ] Retrying request 2011-03-03 06:38:07,468 (http-0.0.0.0-28443-8) [ HttpMethodDirector.java:439:INFO ] I/O exception (java.net.ConnectException) caught when processing request: Connection refused: connect 2011-03-03 06:38:07,468 (http-0.0.0.0-28443-8) [ HttpMethodDirector.java:445:INFO ] Retrying request 2011-03-03 06:38:08,578 (http-0.0.0.0-28443-8) [StandardWrapperValve.java:274:ERROR] Servlet.service() for servlet webui threw exception java.net.ConnectException: Connection refused: connect at java.net.PlainSocketImpl.socketConnect(Native Method) at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333) at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195) at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182) at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366) at java.net.Socket.connect(Socket.java:529) at java.net.Socket.connect(Socket.java:478) at java.net.Socket.<init>(Socket.java:375) at java.net.Socket.<init>(Socket.java:249) at org.apache.commons.httpclient.protocol.DefaultProtocolSocketFactory.createSocket(DefaultProtocolSocketFactory.java:80) at org.apache.commons.httpclient.protocol.DefaultProtocolSocketFactory.createSocket(DefaultProtocolSocketFactory.java:122) at org.apache.commons.httpclient.HttpConnection.open(HttpConnection.java:707) at org.apache.commons.httpclient.HttpMethodDirector.executeWithRetry(HttpMethodDirector.java:387) at org.apache.commons.httpclient.HttpMethodDirector.executeMethod(HttpMethodDirector.java:171) at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:397) at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:323) at org.vaadin.webui.OFBizApplication.setupWSDLURIs(OFBizApplication.java:65) at org.vaadin.webui.OFBizApplication.initApplication(OFBizApplication.java:42) at org.vaadin.webui.WebUIApplication.init(WebUIApplication.java:69) at com.vaadin.Application.start(Application.java:554) at com.vaadin.terminal.gwt.server.AbstractApplicationServlet.startApplication(AbstractApplicationServlet.java:1182) at com.vaadin.terminal.gwt.server.AbstractApplicationServlet.service(AbstractApplicationServlet.java:466) at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:554) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588) at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489) at java.lang. Thread .run( Thread .java:662) Is there another way? Do I mis something? Thanks =======EDIT============= Removed 1 question, not really awake
        Hide
        Jacques Le Roux added a comment -

        Hi Joonas,

        OK I did it too fast and did not read README.txt. As I had changed the default ports (28443 and 28080) in the instance I used, I had to modify OFBizApplication.xml. Then at https://localhost:28443/webui got a credentials screen, entered admin ofbiz but nothing happened. Reading README.txt I understand that webui relies on OFBIZ-3877

        <<This application depends on Web service extension introduced in: https://issues.apache.org/jira/browse/OFBIZ-3877>>

        Is it the reason why I got no answers?

        Thanks

        Show
        Jacques Le Roux added a comment - Hi Joonas, OK I did it too fast and did not read README.txt. As I had changed the default ports (28443 and 28080) in the instance I used, I had to modify OFBizApplication.xml. Then at https://localhost:28443/webui got a credentials screen, entered admin ofbiz but nothing happened. Reading README.txt I understand that webui relies on OFBIZ-3877 <<This application depends on Web service extension introduced in: https://issues.apache.org/jira/browse/OFBIZ-3877 >> Is it the reason why I got no answers? Thanks
        Hide
        Jacques Le Roux added a comment - - edited

        Here are some comment Joonas sent me directly

        was not following this page, so I noticed comments only now.
        did you see the user interface of test web service?
        there should be various fields and lists visible.
        user credentials are only needed if service needs authentication.
        when you fill fields and press "Commit"-button in the middle area of
        user interface,
        there should be response from service filled in lower part of user interface.
        this applications is not probably very good in usability. it is done to show
        how wsdl-definition can be used to generate user interface.

        This webui-user interface is put in this issue page,
        because it tries to show how
        web service extension operates using wsdl-definition which is
        generated by this extension.
        so you must apply patches of this web service extension first.
        ._* files in zip files are put there with Mac OSX-zip-program. I think
        they contain
        attributes of files. There should be no harm of these files.

        Show
        Jacques Le Roux added a comment - - edited Here are some comment Joonas sent me directly was not following this page, so I noticed comments only now. did you see the user interface of test web service? there should be various fields and lists visible. user credentials are only needed if service needs authentication. when you fill fields and press "Commit"-button in the middle area of user interface, there should be response from service filled in lower part of user interface. this applications is not probably very good in usability. it is done to show how wsdl-definition can be used to generate user interface. This webui-user interface is put in this issue page, because it tries to show how web service extension operates using wsdl-definition which is generated by this extension. so you must apply patches of this web service extension first. ._* files in zip files are put there with Mac OSX-zip-program. I think they contain attributes of files. There should be no harm of these files.
        Hide
        Jacques Le Roux added a comment -

        Joonas,

        After having applied the framework patch and copied the libs in service (not the .mar files) I have still the same symptom: no errors in log, only Username and Password fields (see webui empty UI screnshoot). When I hit enter in one of the fields nothing happens.

        I have no more time today, what could I have missed?

        Thanks

        Show
        Jacques Le Roux added a comment - Joonas, After having applied the framework patch and copied the libs in service (not the .mar files) I have still the same symptom: no errors in log, only Username and Password fields (see webui empty UI screnshoot). When I hit enter in one of the fields nothing happens. I have no more time today, what could I have missed? Thanks
        Hide
        Jacques Le Roux added a comment -

        OK, I ran the tests and saw that I was missing the new path to framework\service\lib\axis2\repository\modules.

        I got some errors while running both

        ant run-single-test-suite -Dtest.component=webapp -Dtest.suiteName=webservicetests
        ant run-single-test-suite -Dtest.component=service -Dtest.suiteName=webserviceclienttests

        and gave up at this stage, too be continued

        Note: still the same almost blank screen for webui

        Show
        Jacques Le Roux added a comment - OK, I ran the tests and saw that I was missing the new path to framework\service\lib\axis2\repository\modules. I got some errors while running both ant run-single-test-suite -Dtest.component=webapp -Dtest.suiteName=webservicetests ant run-single-test-suite -Dtest.component=service -Dtest.suiteName=webserviceclienttests and gave up at this stage, too be continued Note: still the same almost blank screen for webui
        Hide
        Joonas Keturi added a comment -

        In attached file webui.png is shown a screen shot, how webui application should look when it's working.

        In file webui.tar.bz2 is webui application which should be extracted to hot-deploy-directory.
        There is corrected some things related to serialization of objects to servlet session.

        In file webservice.tar.bz2 is webservice extension which should be extracted to hot-deploy-directory,
        and applied to ofbiz-sources with command in the same directory:
        ant reapply-ofbiz-patches
        There is resolved one conflict with ofbiz trunk version file
        framework/common/servicedef/services_test.xml

        Show
        Joonas Keturi added a comment - In attached file webui.png is shown a screen shot, how webui application should look when it's working. In file webui.tar.bz2 is webui application which should be extracted to hot-deploy-directory. There is corrected some things related to serialization of objects to servlet session. In file webservice.tar.bz2 is webservice extension which should be extracted to hot-deploy-directory, and applied to ofbiz-sources with command in the same directory: ant reapply-ofbiz-patches There is resolved one conflict with ofbiz trunk version file framework/common/servicedef/services_test.xml
        Hide
        Joonas Keturi added a comment -

        tests made independent of internet connection, and made some fixes to them

        Show
        Joonas Keturi added a comment - tests made independent of internet connection, and made some fixes to them
        Hide
        Joonas Keturi added a comment -

        tests fixed. some schema files to added to resources for caching.

        Show
        Joonas Keturi added a comment - tests fixed. some schema files to added to resources for caching.
        Hide
        Adrian Crum added a comment -

        Be aware there is a REST service solution proposed in OFBIZ-4274.

        Show
        Adrian Crum added a comment - Be aware there is a REST service solution proposed in OFBIZ-4274 .
        Hide
        Joonas Keturi added a comment -

        Be aware that this extension can be developed to support both SOAP and REST. It has already basic REST-support. But it does not matter, I have noticed that there is no intelligent life in ofbiz-community, so I have dropped all wishes.

        Show
        Joonas Keturi added a comment - Be aware that this extension can be developed to support both SOAP and REST. It has already basic REST-support. But it does not matter, I have noticed that there is no intelligent life in ofbiz-community, so I have dropped all wishes.
        Hide
        Adrian Crum added a comment -

        I wonder what your definition of "intelligent life" means. There are a lot of comments in this issue, and from my perspective this appears to be a very intelligent conversation. Issue OFBIZ-4274 was the culmination of a very intelligent conversation that took place on the OFBiz dev mailing list.

        Show
        Adrian Crum added a comment - I wonder what your definition of "intelligent life" means. There are a lot of comments in this issue, and from my perspective this appears to be a very intelligent conversation. Issue OFBIZ-4274 was the culmination of a very intelligent conversation that took place on the OFBiz dev mailing list.
        Hide
        Paul Piper added a comment -

        I am also no sure where the hostility is coming from. It seems that this is an interesting feature, but obviously one with a greater impact so it would require some indepth analysis?! Am I missing something?

        Show
        Paul Piper added a comment - I am also no sure where the hostility is coming from. It seems that this is an interesting feature, but obviously one with a greater impact so it would require some indepth analysis?! Am I missing something?
        Hide
        Jacques Le Roux added a comment -

        You are right Paul, it's exactly that. I understand Joonas's disappointment, unfortunately, so far, we (I at least) missed enough time to invest in such a review and tests, despites all Joonas's efforts to make it as easy as possible.

        Show
        Jacques Le Roux added a comment - You are right Paul, it's exactly that. I understand Joonas's disappointment, unfortunately, so far, we (I at least) missed enough time to invest in such a review and tests, despites all Joonas's efforts to make it as easy as possible.
        Hide
        Jacques Le Roux added a comment -

        Also, it's not the only case, there are plenty of issues pending...

        Show
        Jacques Le Roux added a comment - Also, it's not the only case, there are plenty of issues pending...
        Hide
        Jacques Le Roux added a comment -

        This feature is a perfect match for Apache Extras: too risky for OFBiz OOTB, still an interesting feature...

        Show
        Jacques Le Roux added a comment - This feature is a perfect match for Apache Extras: too risky for OFBiz OOTB, still an interesting feature...

          People

          • Assignee:
            Unassigned
            Reporter:
            Chatree Srichart
          • Votes:
            1 Vote for this issue
            Watchers:
            7 Start watching this issue

            Dates

            • Created:
              Updated:

              Development