Thank you Jacques. Your suggestion raises something that I was confused about. What is different about "events" and "services?" I wasn't sure if we could just define a service as you put it, a "cover" service. Why was the event not defined as a service in the first place?
I'll look thru the docs but any clarification you can provide would be appreciated. ----- Original Message ----- From: "Jacques Le Roux" <[email protected]> To: [email protected] Sent: Wednesday, February 25, 2009 12:59:29 PM (GMT-0600) America/Chicago Subject: Re: How to expose Web Service of OFBiz ? Why not create cover services around events if it's your problem ? (Not sure someone did not already suggest this to you, was half somewhere else those last days...) Jacques From: "Vince M. Clark" <[email protected]> > This helps, thank you. Your example goes further than the one in the how to. > > Could you shed some light on this scenario? We want to use all the shopping > cart functionality and are struggling with how to put > all the pieces together. > If I use OFBiz ecommerce as a guide and trace thru the code I see that from > the ecommerce site if I click "add to cart" it calls a > request map called "additem" in the controller. > That request map calls the following event: > <event type="java" path="org.ofbiz.order.shoppingcart.ShoppingCartEvents" > invoke="addToCart"/> > which is not defined as a service. So we are a bit confused as to how we can > mimick the shopping cart functionality thru web > services. > Should we call ShoppingCartEvents.addToCart() directly from our java class in > Axis, and then use other methods defined as > services, such as ShoppingCartServices.getShoppingCartData() to return up the > stack? > > ----- Original Message ----- > From: "Alfredo Rueda" <[email protected]> > To: [email protected] > Sent: Monday, February 23, 2009 8:50:22 AM (GMT-0700) America/Denver > Subject: Re: How to expose Web Service of OFBiz ? > > > OK, I will be glad to help you, but please could you suggest me which Ofbiz > service you want to export? > I'm working with OpenTaps, so I don't know If OpenTaps will also have your > web service included in their distro (OpenTaps is built upon Ofbiz??) > > Some example: > > GenericDelegator delegator = > GenericDelegator.getGenericDelegator("default"); > LocalDispatcher dispatcher = > GenericDispatcher.getLocalDispatcher("default",delegator); > GenericValue admin = null; > try { > admin = delegator.findByPrimaryKey("UserLogin", > UtilMisc.toMap("userLoginId", "admin")); > } catch (GenericEntityException e1) { > e1.printStackTrace(); > } > > Map result = null; > > Object[] params = { > "login.username", un_username, > "login.password", un_password, > "domini", un_domini, > .... (more params) > > "estat", un_estat, > "ip", una_ip, > "userLogin", admin > }; > > try { > result = dispatcher.runSync("put here the name of your ofbiz service", > UtilMisc.toMap(params)); > } catch (GenericServiceException e) { > e.printStackTrace(); > } > > // Now get the result using result variable > > > Hope that helps! > > > > Vince Clark wrote: >> >> OK that makes sense. Yes I agree it would not make sense to publish custom >> services you have written for a customer. But examples of OFBiz standard >> services being exported would be very helpful, along with the directory >> structure, supporting files, etc. for deploying as an OFBiz component. For >> example, did you deploy the entire binary distribution, or just axis2.war? >> >> A jira issue that explains your solution along with a patch would be >> fantastic! Before doing that, would you mind just replying to this thread >> with a code sample showing the call to a standard OFBiz service and how >> you are dealing with the results? It would be very timely as we are >> struggling with this very thing right now. >> >> ----- Original Message ----- >> From: "Alfredo Rueda" <[email protected]> >> To: [email protected] >> Sent: Monday, February 23, 2009 8:23:39 AM (GMT-0700) America/Denver >> Subject: Re: How to expose Web Service of OFBiz ? >> >> >> Hello Vince, >> >> Yes, I have deployed Axis2 as its own OFBiz component. >> >> "The example code >> will be a java file that exports two Ofbiz Services that come with Ofbiz >> Distribution (now I'm exporting customer specific Ofbiz Services, that is >> why it's nonsense to publish this java file.)" >> >> I meant that it's nonsense to publish an example in which I export >> customer >> specific ofbiz services, because I have to provide also a lot of code that >> the customer specific ofbiz service relies on, for instance, ofbiz service >> minilang implementation, lot of subservices, views entities, etc, etc, >> etc. >> >> The purpose is just to show how to export ofbiz services that use complex >> type parameters, so why not use as an example standard ofbiz services that >> comes with Ofbiz Distribution? This was the only thing I tried to explain >> before :-) >> >> Regards, >> >> Alfredo >> >> >> >> >> >> Vince Clark wrote: >>> >>> Alfredo >>> >>> So to be clear, you have deployed Axis2 as its own OFBiz component? Or >>> are >>> you still using the approach of deploying the war file under an existing >>> webapp directory in another component? >>> >>> A patch would be very helpful. Not sure why you think it is "nonsense." >>> Working examples are extremely helpful to the community. Especially in >>> new >>> areas like this. >>> >>> To submit a patch you must create an account on Jira, then create an >>> issue >>> and attach the patch file. >>> >>> Looking forward to seeing what you have done! >>> >>> ----- Original Message ----- >>> From: "Alfredo Rueda" <[email protected]> >>> To: [email protected] >>> Sent: Monday, February 23, 2009 5:17:53 AM (GMT-0700) America/Denver >>> Subject: Re: How to expose Web Service of OFBiz ? >>> >>> >>> Hello Jacques! >>> >>> The Axis2 Ofbiz Component is simply an Ofbiz Component that has: >>> >>> 1. Axis2 1.4 Distribution stored in a subdirectory. >>> 2. The Ofbiz build system is connected to Axis2 build system via an Ant >>> build.xml file >>> 3. A java file that is a Web Services Facade to Ofbiz Services that want >>> to >>> be exported. >>> >>> So, the only code that need to be published is: >>> 1. The java file that is a Web Services Facade to Ofbiz Services that >>> want >>> to be exported. >>> This file contains simply a Java Class that has 1 wrapper method for >>> each Ofbiz Service that want to be exported. Axis2 does the job of >>> exporting >>> java methods as WebServices. It's amazing! >>> 2. The build.xml of the component that builds the java file and puts the >>> class file in an specific Axis2 directory >>> >>> The Ofbiz community may consider to include this ready to use Axis2 Ofbiz >>> component that includes Axis2 Distribution and some Ofbiz Services >>> exported >>> via SOAP as an example of use. >>> >>> So, in this case the JIRA issue could be an idea more than code changes >>> of >>> existing Ofbiz code? >>> How can I publish this idea as a JIRA issue? >>> If the community thinks that is a good idea, then I will be glad to >>> provide >>> an example code (for instance 2 Ofbiz services that use complex types >>> exported via SOAP), the build.xml and the documentation. The example code >>> will be a java file that exports two Ofbiz Services that come with Ofbiz >>> Distribution (now I'm exporting customer specific Ofbiz Services, that is >>> why It's nonsense to publish this java file.) >>> >>> Regards, >>> >>> Alfredo >>> >>> >>> >>> >>> >>> >>> >>> jacques.le.roux wrote: >>>> >>>> Hello Alfredo, >>>> >>>> Did you create a such Axis2 component ? If yes couls you think about >>>> creating a Jira issue and submit a patch ? >>>> >>>> Thanks >>>> >>>> Jacques >>>> >>>> From: "Alfredo Rueda" <[email protected]> >>>>> >>>>> Hello Dhruv! >>>>> >>>>> A collection of Ofbiz services have been exposed as Web Services using >>>>> this >>>>> solution: >>>>> >>>>> http://docs.ofbiz.org/display/OFBIZ/Export+Ofbiz+Services+that+use+complex+type+parameters+via+SOAP >>>>> >>>>> >>>>> These Web Services have been deployed in a production environment and >>>>> are >>>>> working perfectly fine. >>>>> >>>>> I suggest you to follow the steps, and I will be glad to help you if >>>>> you >>>>> run >>>>> into trouble at some point in the process. >>>>> >>>>> Once you finish you can create your own Axis2 Ofbiz Component to >>>>> provide >>>>> a >>>>> cleaner solution. This Axis2 Ofbiz Component will serve as a Web >>>>> Service >>>>> Facade to comunicate Ofbiz with other systems. >>>>> >>>>> Regards, >>>>> >>>>> Alfredo Rueda >>>>> >>>>> >>>>> Dhruv Datta wrote: >>>>>> >>>>>> Hi Frns, >>>>>> >>>>>> I am using "wsimport" tool to read an existing WSDL file of OFBiz >>>>>> framework and want to generate artifacts. I need these because I am >>>>>> doing load testing on Web Service and retrieve data like the average >>>>>> time requierd to obtain the reponse from a webservice. >>>>>> >>>>>> So I've following questions: >>>>>> >>>>>> 1) How to expose the existing WebServices of the OFBiz ? >>>>>> 2) What meaningful data will these services provide? >>>>>> >>>>>> I am trying to expose a Web Service by using following syntax: >>>>>> >>>>>> E:\WSDL>wsimport -d . >>>>>> http://localhost:8080/webtools/control/SOAPService/cancelScheduledJob?WSDL >>>>>> >>>>>> >>>>>> And I am getting following error : >>>>>> >>>>>> warning: R2716 WSI-BasicProfile ver. 1.0, namespace attribute not >>>>>> allowed in doc/lit for soapbind:body: "cancelScheduledJob" >>>>>> warning: R2716 WSI-BasicProfile ver. 1.0, namespace attribute not >>>>>> allowed in doc/lit for soapbind:body: "cancelScheduledJob" >>>>>> error: Invalid wsdl:operation "cancelScheduledJob": its a >>>>>> document-literal operation, message part must refer to a schema >>>>>> element declaration >>>>>> >>>>>> >>>>>> Any help would be greatly appreciated. >>>>>> >>>>>> Thanks in Advance. >>>>>> >>>>>> Dhruv. >>>>>> >>>>>> >>>>> >>>>> -- >>>>> View this message in context: >>>>> http://www.nabble.com/How-to-expose-Web-Service-of-OFBiz---tp22077891p22158082.html >>>>> >>>>> Sent from the OFBiz - User mailing list archive at Nabble.com. >>>>> >>>> >>>> >>>> >>> >>> -- >>> View this message in context: >>> http://www.nabble.com/How-to-expose-Web-Service-of-OFBiz---tp22077891p22160487.html >>> >>> Sent from the OFBiz - User mailing list archive at Nabble.com. >>> >>> >>> >> >> -- >> View this message in context: >> http://www.nabble.com/How-to-expose-Web-Service-of-OFBiz---tp22077891p22163567.html >> >> Sent from the OFBiz - User mailing list archive at Nabble.com. >> >> >> > > -- > View this message in context: > http://www.nabble.com/How-to-expose-Web-Service-of-OFBiz---tp22077891p22164077.html > > Sent from the OFBiz - User mailing list archive at Nabble.com. > >
