Hi ,
Many ofbiz services as documented under ofbiz web tools -> service list , utilize parameters of *type* which have no direct mapping to the client side environment. we have been using xml/rpc to invoke various webservices in ofbiz in our applications but when it comes of services that use GenericValue as param type we are not able to provide proper input value from the calling system. Is there any solution to this ? Service Name calculateProductPrice Engine Name java <https://haatnowofbiz.redgrape.tech:443/webtools/control/ServiceList?constraint=engine_name@java> Description Calculate a Product's Price from ProductPriceRules Invoke calculateProductPrice Exportable True (Show wsdl <https://haatnowofbiz.redgrape.tech:443/webtools/control/ServiceList?sel_service_name=calculateProductPrice&show_wsdl=true> ) Location org.apache.ofbiz.product.price.PriceServices <https://haatnowofbiz.redgrape.tech:443/webtools/control/ServiceList?constraint=location@...> Definition Location file Default Entity Name NA <https://haatnowofbiz.redgrape.tech:443/webtools/control/ServiceList?constraint=default_entity_name@NA> Artifact Info Artifact Info <https://haatnowofbiz.redgrape.tech:443/webtools/control/ArtifactInfo?name=calculateProductPrice&type=service> Require new transaction False Use transaction False Max retries -1 Parameter Name Description Optional Type Mode Is set internally Entity Name Field Name agreementId True String IN False amount True BigDecimal IN False autoUserLogin *True* *org.apache.ofbiz.entity.GenericValue* IN False checkIncludeVat True String IN False currencyUomId True String IN False currencyUomIdTo True String IN False customAttributes True Map IN False findAllQuantityPrices True String IN False locale True java.util.Locale INOUT True login.password True String IN True login.username True String IN True optimizeForLargeRuleSet True String IN False partyId True String IN False prodCatalogId True String IN False *product* *False* *org.apache.ofbiz.entity.GenericValue* IN False productPricePurposeId True String IN False productStoreGroupId True String IN False productStoreId True String IN False quantity True BigDecimal IN False surveyResponseId True String IN False termUomId True String IN False timeZone True java.util.TimeZone INOUT True userLogin True org.apache.ofbiz.entity.GenericValue INOUT True webSiteId True String IN False regds rajesh. |
Administrator
|
Hi Rajesh,
You already asked this question: https://markmail.org/message/dwako4nsu4h3zgmu. I then spoke about SOAP Here is why: https://markmail.org/message/scilivxk3m4sz723 Thanks to Ankush Upadhyay :) Jacques Le 19/07/2020 à 05:50, Rajesh Mallah a écrit : > Hi , > > Many ofbiz services as documented under ofbiz web tools -> service list , > utilize parameters of *type* which have no direct mapping to the client > side > environment. > > we have been using xml/rpc to invoke various webservices in ofbiz in our > applications but when it comes of services that use GenericValue as > param type we are not able to provide proper input value from the calling > system. > > Is there any solution to this ? > > > > > > > Service Name calculateProductPrice Engine Name java > <https://haatnowofbiz.redgrape.tech:443/webtools/control/ServiceList?constraint=engine_name@java> > Description Calculate a Product's Price from > ProductPriceRules > Invoke calculateProductPrice > Exportable True (Show wsdl > <https://haatnowofbiz.redgrape.tech:443/webtools/control/ServiceList?sel_service_name=calculateProductPrice&show_wsdl=true> > ) Location org.apache.ofbiz.product.price.PriceServices > <https://haatnowofbiz.redgrape.tech:443/webtools/control/ServiceList?constraint=location@...> > Definition Location file Default Entity Name NA > <https://haatnowofbiz.redgrape.tech:443/webtools/control/ServiceList?constraint=default_entity_name@NA> > Artifact Info Artifact Info > <https://haatnowofbiz.redgrape.tech:443/webtools/control/ArtifactInfo?name=calculateProductPrice&type=service> > Require > new transaction False > Use transaction False > Max retries -1 > > Parameter Name Description Optional Type Mode Is set internally Entity > Name Field > Name > agreementId > True String IN False > > amount > True BigDecimal IN False > > autoUserLogin > *True* *org.apache.ofbiz.entity.GenericValue* IN False > > checkIncludeVat > True String IN False > > currencyUomId > True String IN False > > currencyUomIdTo > True String IN False > > customAttributes > True Map IN False > > findAllQuantityPrices > True String IN False > > locale > True java.util.Locale INOUT True > > login.password > True String IN True > > login.username > True String IN True > > optimizeForLargeRuleSet > True String IN False > > partyId > True String IN False > > prodCatalogId > True String IN False > > *product* > *False* *org.apache.ofbiz.entity.GenericValue* IN False > > productPricePurposeId > True String IN False > > productStoreGroupId > True String IN False > > productStoreId > True String IN False > > quantity > True BigDecimal IN False > > surveyResponseId > True String IN False > > termUomId > True String IN False > > timeZone > True java.util.TimeZone INOUT True > > userLogin > True org.apache.ofbiz.entity.GenericValue INOUT True > > webSiteId > True String IN False > > > > > > > regds > rajesh. |
Administrator
|
Ah, forgot the main point of my answer!
**Girish Vasmatkar is currently implementing a REST version of services export. It's near to be complete: https://github.com/girishvasmatkar/ofbiz-rest-impl I thought you could be interested Jacques Le 19/07/2020 à 09:18, Jacques Le Roux a écrit : > Hi Rajesh, > > You already asked this question: https://markmail.org/message/dwako4nsu4h3zgmu. I then spoke about SOAP > > Here is why: https://markmail.org/message/scilivxk3m4sz723 > > Thanks to Ankush Upadhyay :) > > Jacques > > Le 19/07/2020 à 05:50, Rajesh Mallah a écrit : >> Hi , >> >> Many ofbiz services as documented under ofbiz web tools -> service list , >> utilize parameters of *type* which have no direct mapping to the client >> side >> environment. >> >> we have been using xml/rpc to invoke various webservices in ofbiz in our >> applications but when it comes of services that use GenericValue as >> param type we are not able to provide proper input value from the calling >> system. >> >> Is there any solution to this ? >> >> >> >> >> >> >> Service Name calculateProductPrice Engine Name java >> <https://haatnowofbiz.redgrape.tech:443/webtools/control/ServiceList?constraint=engine_name@java> >> Description Calculate a Product's Price from >> ProductPriceRules >> Invoke calculateProductPrice >> Exportable True (Show wsdl >> <https://haatnowofbiz.redgrape.tech:443/webtools/control/ServiceList?sel_service_name=calculateProductPrice&show_wsdl=true> >> ) Location org.apache.ofbiz.product.price.PriceServices >> <https://haatnowofbiz.redgrape.tech:443/webtools/control/ServiceList?constraint=location@...> >> Definition Location file Default Entity Name NA >> <https://haatnowofbiz.redgrape.tech:443/webtools/control/ServiceList?constraint=default_entity_name@NA> >> Artifact Info Artifact Info >> <https://haatnowofbiz.redgrape.tech:443/webtools/control/ArtifactInfo?name=calculateProductPrice&type=service> >> Require >> new transaction False >> Use transaction False >> Max retries -1 >> >> Parameter Name Description Optional Type Mode Is set internally Entity >> Name Field >> Name >> agreementId >> True String IN False >> >> amount >> True BigDecimal IN False >> >> autoUserLogin >> *True* *org.apache.ofbiz.entity.GenericValue* IN False >> >> checkIncludeVat >> True String IN False >> >> currencyUomId >> True String IN False >> >> currencyUomIdTo >> True String IN False >> >> customAttributes >> True Map IN False >> >> findAllQuantityPrices >> True String IN False >> >> locale >> True java.util.Locale INOUT True >> >> login.password >> True String IN True >> >> login.username >> True String IN True >> >> optimizeForLargeRuleSet >> True String IN False >> >> partyId >> True String IN False >> >> prodCatalogId >> True String IN False >> >> *product* >> *False* *org.apache.ofbiz.entity.GenericValue* IN False >> >> productPricePurposeId >> True String IN False >> >> productStoreGroupId >> True String IN False >> >> productStoreId >> True String IN False >> >> quantity >> True BigDecimal IN False >> >> surveyResponseId >> True String IN False >> >> termUomId >> True String IN False >> >> timeZone >> True java.util.TimeZone INOUT True >> >> userLogin >> True org.apache.ofbiz.entity.GenericValue INOUT True >> >> webSiteId >> True String IN False >> >> >> >> >> >> >> regds >> rajesh. > |
Administrator
|
Actually this has been committed in trunk with https://issues.apache.org/jira/browse/OFBIZ-11328
https://github.com/apache/ofbiz-framework/commit/04791d5/ So you may try it... Jacques PS: see also last comment from Ean Schuessler at https://issues.apache.org/jira/browse/OFBIZ-4274 Le 19/07/2020 à 09:37, Jacques Le Roux a écrit : > Ah, forgot the main point of my answer! > > **Girish Vasmatkar is currently implementing a REST version of services export. It's near to be complete: > https://github.com/girishvasmatkar/ofbiz-rest-impl > > I thought you could be interested > > Jacques > > Le 19/07/2020 à 09:18, Jacques Le Roux a écrit : >> Hi Rajesh, >> >> You already asked this question: https://markmail.org/message/dwako4nsu4h3zgmu. I then spoke about SOAP >> >> Here is why: https://markmail.org/message/scilivxk3m4sz723 >> >> Thanks to Ankush Upadhyay :) >> >> Jacques >> >> Le 19/07/2020 à 05:50, Rajesh Mallah a écrit : >>> Hi , >>> >>> Many ofbiz services as documented under ofbiz web tools -> service list , >>> utilize parameters of *type* which have no direct mapping to the client >>> side >>> environment. >>> >>> we have been using xml/rpc to invoke various webservices in ofbiz in our >>> applications but when it comes of services that use GenericValue as >>> param type we are not able to provide proper input value from the calling >>> system. >>> >>> Is there any solution to this ? >>> >>> >>> >>> >>> >>> >>> Service Name calculateProductPrice Engine Name java >>> <https://haatnowofbiz.redgrape.tech:443/webtools/control/ServiceList?constraint=engine_name@java> >>> Description Calculate a Product's Price from >>> ProductPriceRules >>> Invoke calculateProductPrice >>> Exportable True (Show wsdl >>> <https://haatnowofbiz.redgrape.tech:443/webtools/control/ServiceList?sel_service_name=calculateProductPrice&show_wsdl=true> >>> ) Location org.apache.ofbiz.product.price.PriceServices >>> <https://haatnowofbiz.redgrape.tech:443/webtools/control/ServiceList?constraint=location@...> >>> Definition Location file Default Entity Name NA >>> <https://haatnowofbiz.redgrape.tech:443/webtools/control/ServiceList?constraint=default_entity_name@NA> >>> Artifact Info Artifact Info >>> <https://haatnowofbiz.redgrape.tech:443/webtools/control/ArtifactInfo?name=calculateProductPrice&type=service> >>> Require >>> new transaction False >>> Use transaction False >>> Max retries -1 >>> >>> Parameter Name Description Optional Type Mode Is set internally Entity >>> Name Field >>> Name >>> agreementId >>> True String IN False >>> >>> amount >>> True BigDecimal IN False >>> >>> autoUserLogin >>> *True* *org.apache.ofbiz.entity.GenericValue* IN False >>> >>> checkIncludeVat >>> True String IN False >>> >>> currencyUomId >>> True String IN False >>> >>> currencyUomIdTo >>> True String IN False >>> >>> customAttributes >>> True Map IN False >>> >>> findAllQuantityPrices >>> True String IN False >>> >>> locale >>> True java.util.Locale INOUT True >>> >>> login.password >>> True String IN True >>> >>> login.username >>> True String IN True >>> >>> optimizeForLargeRuleSet >>> True String IN False >>> >>> partyId >>> True String IN False >>> >>> prodCatalogId >>> True String IN False >>> >>> *product* >>> *False* *org.apache.ofbiz.entity.GenericValue* IN False >>> >>> productPricePurposeId >>> True String IN False >>> >>> productStoreGroupId >>> True String IN False >>> >>> productStoreId >>> True String IN False >>> >>> quantity >>> True BigDecimal IN False >>> >>> surveyResponseId >>> True String IN False >>> >>> termUomId >>> True String IN False >>> >>> timeZone >>> True java.util.TimeZone INOUT True >>> >>> userLogin >>> True org.apache.ofbiz.entity.GenericValue INOUT True >>> >>> webSiteId >>> True String IN False >>> >>> >>> >>> >>> >>> >>> regds >>> rajesh. >> |
In reply to this post by Jacques Le Roux
Hi Jacques,
Thanks for digging out from the grave :-) I had totally forgotten all those discussions. Thanks to Ankush for chalking out the SOAP solution and subsequent confirmation by Pavneet on it to be working. I will give it a try. Regds Rajesh Kumar Mallah. |
In reply to this post by Jacques Le Roux
Hi Jacques,
I will try that and post back the results when i really do it. thankful to all the developers and volunteers for developing and furthering such an excellent product. Regds Rajesh. On Sun, Jul 19, 2020 at 2:04 PM Jacques Le Roux < [hidden email]> wrote: > Actually this has been committed in trunk with > https://issues.apache.org/jira/browse/OFBIZ-11328 > > https://github.com/apache/ofbiz-framework/commit/04791d5/ > > So you may try it... > > Jacques > PS: see also last comment from Ean Schuessler at > https://issues.apache.org/jira/browse/OFBIZ-4274 > > Le 19/07/2020 à 09:37, Jacques Le Roux a écrit : > > Ah, forgot the main point of my answer! > > > > **Girish Vasmatkar is currently implementing a REST version of services > export. It's near to be complete: > > https://github.com/girishvasmatkar/ofbiz-rest-impl > > > > I thought you could be interested > > > > Jacques > > > > Le 19/07/2020 à 09:18, Jacques Le Roux a écrit : > >> Hi Rajesh, > >> > >> You already asked this question: > https://markmail.org/message/dwako4nsu4h3zgmu. I then spoke about SOAP > >> > >> Here is why: https://markmail.org/message/scilivxk3m4sz723 > >> > >> Thanks to Ankush Upadhyay :) > >> > >> Jacques > >> > >> Le 19/07/2020 à 05:50, Rajesh Mallah a écrit : > >>> Hi , > >>> > >>> Many ofbiz services as documented under ofbiz web tools -> service > list , > >>> utilize parameters of *type* which have no direct mapping to the client > >>> side > >>> environment. > >>> > >>> we have been using xml/rpc to invoke various webservices in ofbiz in > our > >>> applications but when it comes of services that use GenericValue as > >>> param type we are not able to provide proper input value from the > calling > >>> system. > >>> > >>> Is there any solution to this ? > >>> > >>> > >>> > >>> > >>> > >>> > >>> Service Name calculateProductPrice Engine Name java > >>> < > https://haatnowofbiz.redgrape.tech:443/webtools/control/ServiceList?constraint=engine_name@java > > > >>> Description Calculate a Product's Price from > >>> ProductPriceRules > >>> Invoke calculateProductPrice > >>> Exportable True (Show wsdl > >>> < > https://haatnowofbiz.redgrape.tech:443/webtools/control/ServiceList?sel_service_name=calculateProductPrice&show_wsdl=true > > > >>> ) Location org.apache.ofbiz.product.price.PriceServices > >>> < > https://haatnowofbiz.redgrape.tech:443/webtools/control/ServiceList?constraint=location@... > > > >>> Definition Location file Default Entity Name NA > >>> < > https://haatnowofbiz.redgrape.tech:443/webtools/control/ServiceList?constraint=default_entity_name@NA > > > >>> Artifact Info Artifact Info > >>> < > https://haatnowofbiz.redgrape.tech:443/webtools/control/ArtifactInfo?name=calculateProductPrice&type=service > > > >>> Require > >>> new transaction False > >>> Use transaction False > >>> Max retries -1 > >>> > >>> Parameter Name Description Optional Type Mode Is set internally Entity > >>> Name Field > >>> Name > >>> agreementId > >>> True String IN False > >>> > >>> amount > >>> True BigDecimal IN False > >>> > >>> autoUserLogin > >>> *True* *org.apache.ofbiz.entity.GenericValue* IN False > >>> > >>> checkIncludeVat > >>> True String IN False > >>> > >>> currencyUomId > >>> True String IN False > >>> > >>> currencyUomIdTo > >>> True String IN False > >>> > >>> customAttributes > >>> True Map IN False > >>> > >>> findAllQuantityPrices > >>> True String IN False > >>> > >>> locale > >>> True java.util.Locale INOUT True > >>> > >>> login.password > >>> True String IN True > >>> > >>> login.username > >>> True String IN True > >>> > >>> optimizeForLargeRuleSet > >>> True String IN False > >>> > >>> partyId > >>> True String IN False > >>> > >>> prodCatalogId > >>> True String IN False > >>> > >>> *product* > >>> *False* *org.apache.ofbiz.entity.GenericValue* IN False > >>> > >>> productPricePurposeId > >>> True String IN False > >>> > >>> productStoreGroupId > >>> True String IN False > >>> > >>> productStoreId > >>> True String IN False > >>> > >>> quantity > >>> True BigDecimal IN False > >>> > >>> surveyResponseId > >>> True String IN False > >>> > >>> termUomId > >>> True String IN False > >>> > >>> timeZone > >>> True java.util.TimeZone INOUT True > >>> > >>> userLogin > >>> True org.apache.ofbiz.entity.GenericValue INOUT True > >>> > >>> webSiteId > >>> True String IN False > >>> > >>> > >>> > >>> > >>> > >>> > >>> regds > >>> rajesh. > >> > |
Hi ,
just to confirm back that it was possible to use SOAP to pass product entity via 'eeval-Product' tag in XML . ( using perl SOAP::Lite). and get back the price will rules applied by the engine. Below is a working script that will help Perl / PHP developers. ======================================================= #!/usr/bin/perl # use SOAP::Lite +trace => [qw/ debug method fault /]; my $uri = "http://ofbiz.apache.org/service/"; my $proxyUrl = " https://your-ofbiz-backend-hostname.com/webtools/control/SOAPService"; my $soap = SOAP::Lite ->ns($uri , "ns1") ->proxy($proxyUrl, timeout => 5 )->readable(true); my %map = ( 'login.username' => 'admin' , 'login.password' => 'ofbiz' , 'currencyUomId' => 'INR' , ); my $product_id; $product_id = $ARGV[0] ; foreach my $key (keys %map) { my $value = $map{$key}; push @soap_map,[ SOAP::Data->name('ns1:map-Key')->value( \SOAP::Data->name('ns1:std-String')->attr({'value' => $key }) ) , SOAP::Data->name('ns1:map-Value')->value( \SOAP::Data->name('ns1:std-String')->attr({'value' => $value }) ) , ]; } my $product_xml = qq{ <productId>$product_id</productId> }; push @soap_map,[ SOAP::Data->name('ns1:map-Key')->value( \SOAP::Data->name('ns1:std-String')->attr({'value' => "product" }) ) , SOAP::Data->name('ns1:map-Value')->value( \SOAP::Data->name('ns1:eeval-Product')->value( \SOAP::Data->type('xml' => $product_xml) ) ) , ]; my @params = map { SOAP::Data->name('ns1:map-Entry')->value($_) } @soap_map; my $map = SOAP::Data->name('ns1:map-Map')->value( \@params); my $som = $soap->call('calculateProductPrice', $map ); die $som->faultstring if ($som->fault); ======================================================= Regds Rajesh. On Sun, Jul 19, 2020 at 2:45 PM Rajesh Mallah <[hidden email]> wrote: > Hi Jacques, > > I will try that and post back the results when i really do it. > thankful to all the developers and volunteers for developing > and furthering such an excellent product. > > Regds > Rajesh. > > On Sun, Jul 19, 2020 at 2:04 PM Jacques Le Roux < > [hidden email]> wrote: > >> Actually this has been committed in trunk with >> https://issues.apache.org/jira/browse/OFBIZ-11328 >> >> https://github.com/apache/ofbiz-framework/commit/04791d5/ >> >> So you may try it... >> >> Jacques >> PS: see also last comment from Ean Schuessler at >> https://issues.apache.org/jira/browse/OFBIZ-4274 >> >> Le 19/07/2020 à 09:37, Jacques Le Roux a écrit : >> > Ah, forgot the main point of my answer! >> > >> > **Girish Vasmatkar is currently implementing a REST version of services >> export. It's near to be complete: >> > https://github.com/girishvasmatkar/ofbiz-rest-impl >> > >> > I thought you could be interested >> > >> > Jacques >> > >> > Le 19/07/2020 à 09:18, Jacques Le Roux a écrit : >> >> Hi Rajesh, >> >> >> >> You already asked this question: >> https://markmail.org/message/dwako4nsu4h3zgmu. I then spoke about SOAP >> >> >> >> Here is why: https://markmail.org/message/scilivxk3m4sz723 >> >> >> >> Thanks to Ankush Upadhyay :) >> >> >> >> Jacques >> >> >> >> Le 19/07/2020 à 05:50, Rajesh Mallah a écrit : >> >>> Hi , >> >>> >> >>> Many ofbiz services as documented under ofbiz web tools -> service >> list , >> >>> utilize parameters of *type* which have no direct mapping to the >> client >> >>> side >> >>> environment. >> >>> >> >>> we have been using xml/rpc to invoke various webservices in ofbiz in >> our >> >>> applications but when it comes of services that use GenericValue as >> >>> param type we are not able to provide proper input value from the >> calling >> >>> system. >> >>> >> >>> Is there any solution to this ? >> >>> >> >>> >> >>> >> >>> >> >>> >> >>> >> >>> Service Name calculateProductPrice Engine Name java >> >>> < >> https://haatnowofbiz.redgrape.tech:443/webtools/control/ServiceList?constraint=engine_name@java >> > >> >>> Description Calculate a Product's Price from >> >>> ProductPriceRules >> >>> Invoke calculateProductPrice >> >>> Exportable True (Show wsdl >> >>> < >> https://haatnowofbiz.redgrape.tech:443/webtools/control/ServiceList?sel_service_name=calculateProductPrice&show_wsdl=true >> > >> >>> ) Location org.apache.ofbiz.product.price.PriceServices >> >>> < >> https://haatnowofbiz.redgrape.tech:443/webtools/control/ServiceList?constraint=location@... >> > >> >>> Definition Location file Default Entity Name NA >> >>> < >> https://haatnowofbiz.redgrape.tech:443/webtools/control/ServiceList?constraint=default_entity_name@NA >> > >> >>> Artifact Info Artifact Info >> >>> < >> https://haatnowofbiz.redgrape.tech:443/webtools/control/ArtifactInfo?name=calculateProductPrice&type=service >> > >> >>> Require >> >>> new transaction False >> >>> Use transaction False >> >>> Max retries -1 >> >>> >> >>> Parameter Name Description Optional Type Mode Is set internally Entity >> >>> Name Field >> >>> Name >> >>> agreementId >> >>> True String IN False >> >>> >> >>> amount >> >>> True BigDecimal IN False >> >>> >> >>> autoUserLogin >> >>> *True* *org.apache.ofbiz.entity.GenericValue* IN False >> >>> >> >>> checkIncludeVat >> >>> True String IN False >> >>> >> >>> currencyUomId >> >>> True String IN False >> >>> >> >>> currencyUomIdTo >> >>> True String IN False >> >>> >> >>> customAttributes >> >>> True Map IN False >> >>> >> >>> findAllQuantityPrices >> >>> True String IN False >> >>> >> >>> locale >> >>> True java.util.Locale INOUT True >> >>> >> >>> login.password >> >>> True String IN True >> >>> >> >>> login.username >> >>> True String IN True >> >>> >> >>> optimizeForLargeRuleSet >> >>> True String IN False >> >>> >> >>> partyId >> >>> True String IN False >> >>> >> >>> prodCatalogId >> >>> True String IN False >> >>> >> >>> *product* >> >>> *False* *org.apache.ofbiz.entity.GenericValue* IN False >> >>> >> >>> productPricePurposeId >> >>> True String IN False >> >>> >> >>> productStoreGroupId >> >>> True String IN False >> >>> >> >>> productStoreId >> >>> True String IN False >> >>> >> >>> quantity >> >>> True BigDecimal IN False >> >>> >> >>> surveyResponseId >> >>> True String IN False >> >>> >> >>> termUomId >> >>> True String IN False >> >>> >> >>> timeZone >> >>> True java.util.TimeZone INOUT True >> >>> >> >>> userLogin >> >>> True org.apache.ofbiz.entity.GenericValue INOUT True >> >>> >> >>> webSiteId >> >>> True String IN False >> >>> >> >>> >> >>> >> >>> >> >>> >> >>> >> >>> regds >> >>> rajesh. >> >> >> > |
Administrator
|
Thanks Rajesh!
Jacques Le 23/07/2020 à 09:54, Rajesh Mallah a écrit : > Hi , > > just to confirm back that it was possible to use SOAP to pass > product entity via 'eeval-Product' tag in XML . ( using perl SOAP::Lite). > and get back the price will rules applied by the engine. > > > Below is a working script that will help Perl / PHP developers. > ======================================================= > #!/usr/bin/perl > # > use SOAP::Lite +trace => [qw/ debug method fault /]; > my $uri = "http://ofbiz.apache.org/service/"; > my $proxyUrl = " > https://your-ofbiz-backend-hostname.com/webtools/control/SOAPService"; > > my $soap = SOAP::Lite > ->ns($uri , "ns1") ->proxy($proxyUrl, timeout => 5 )->readable(true); > > my %map = ( > 'login.username' => 'admin' , > 'login.password' => 'ofbiz' , > 'currencyUomId' => 'INR' , > ); > my $product_id; > $product_id = $ARGV[0] ; > foreach my $key (keys %map) { > my $value = $map{$key}; > push @soap_map,[ > SOAP::Data->name('ns1:map-Key')->value( > \SOAP::Data->name('ns1:std-String')->attr({'value' => $key }) > ) , > SOAP::Data->name('ns1:map-Value')->value( > \SOAP::Data->name('ns1:std-String')->attr({'value' => $value }) > ) , > ]; > } > my $product_xml = qq{ <productId>$product_id</productId> }; > push @soap_map,[ > SOAP::Data->name('ns1:map-Key')->value( > \SOAP::Data->name('ns1:std-String')->attr({'value' => "product" > }) > ) , > SOAP::Data->name('ns1:map-Value')->value( > \SOAP::Data->name('ns1:eeval-Product')->value( > \SOAP::Data->type('xml' => $product_xml) > ) > ) , > ]; > my @params = map { SOAP::Data->name('ns1:map-Entry')->value($_) } > @soap_map; > my $map = SOAP::Data->name('ns1:map-Map')->value( \@params); > my $som = $soap->call('calculateProductPrice', $map ); > die $som->faultstring if ($som->fault); > ======================================================= > > > Regds > Rajesh. > > > > > On Sun, Jul 19, 2020 at 2:45 PM Rajesh Mallah <[hidden email]> > wrote: > >> Hi Jacques, >> >> I will try that and post back the results when i really do it. >> thankful to all the developers and volunteers for developing >> and furthering such an excellent product. >> >> Regds >> Rajesh. >> >> On Sun, Jul 19, 2020 at 2:04 PM Jacques Le Roux < >> [hidden email]> wrote: >> >>> Actually this has been committed in trunk with >>> https://issues.apache.org/jira/browse/OFBIZ-11328 >>> >>> https://github.com/apache/ofbiz-framework/commit/04791d5/ >>> >>> So you may try it... >>> >>> Jacques >>> PS: see also last comment from Ean Schuessler at >>> https://issues.apache.org/jira/browse/OFBIZ-4274 >>> >>> Le 19/07/2020 à 09:37, Jacques Le Roux a écrit : >>>> Ah, forgot the main point of my answer! >>>> >>>> **Girish Vasmatkar is currently implementing a REST version of services >>> export. It's near to be complete: >>>> https://github.com/girishvasmatkar/ofbiz-rest-impl >>>> >>>> I thought you could be interested >>>> >>>> Jacques >>>> >>>> Le 19/07/2020 à 09:18, Jacques Le Roux a écrit : >>>>> Hi Rajesh, >>>>> >>>>> You already asked this question: >>> https://markmail.org/message/dwako4nsu4h3zgmu. I then spoke about SOAP >>>>> Here is why: https://markmail.org/message/scilivxk3m4sz723 >>>>> >>>>> Thanks to Ankush Upadhyay :) >>>>> >>>>> Jacques >>>>> >>>>> Le 19/07/2020 à 05:50, Rajesh Mallah a écrit : >>>>>> Hi , >>>>>> >>>>>> Many ofbiz services as documented under ofbiz web tools -> service >>> list , >>>>>> utilize parameters of *type* which have no direct mapping to the >>> client >>>>>> side >>>>>> environment. >>>>>> >>>>>> we have been using xml/rpc to invoke various webservices in ofbiz in >>> our >>>>>> applications but when it comes of services that use GenericValue as >>>>>> param type we are not able to provide proper input value from the >>> calling >>>>>> system. >>>>>> >>>>>> Is there any solution to this ? >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> Service Name calculateProductPrice Engine Name java >>>>>> < >>> https://haatnowofbiz.redgrape.tech:443/webtools/control/ServiceList?constraint=engine_name@java >>>>>> Description Calculate a Product's Price from >>>>>> ProductPriceRules >>>>>> Invoke calculateProductPrice >>>>>> Exportable True (Show wsdl >>>>>> < >>> https://haatnowofbiz.redgrape.tech:443/webtools/control/ServiceList?sel_service_name=calculateProductPrice&show_wsdl=true >>>>>> ) Location org.apache.ofbiz.product.price.PriceServices >>>>>> < >>> https://haatnowofbiz.redgrape.tech:443/webtools/control/ServiceList?constraint=location@... >>>>>> Definition Location file Default Entity Name NA >>>>>> < >>> https://haatnowofbiz.redgrape.tech:443/webtools/control/ServiceList?constraint=default_entity_name@NA >>>>>> Artifact Info Artifact Info >>>>>> < >>> https://haatnowofbiz.redgrape.tech:443/webtools/control/ArtifactInfo?name=calculateProductPrice&type=service >>>>>> Require >>>>>> new transaction False >>>>>> Use transaction False >>>>>> Max retries -1 >>>>>> >>>>>> Parameter Name Description Optional Type Mode Is set internally Entity >>>>>> Name Field >>>>>> Name >>>>>> agreementId >>>>>> True String IN False >>>>>> >>>>>> amount >>>>>> True BigDecimal IN False >>>>>> >>>>>> autoUserLogin >>>>>> *True* *org.apache.ofbiz.entity.GenericValue* IN False >>>>>> >>>>>> checkIncludeVat >>>>>> True String IN False >>>>>> >>>>>> currencyUomId >>>>>> True String IN False >>>>>> >>>>>> currencyUomIdTo >>>>>> True String IN False >>>>>> >>>>>> customAttributes >>>>>> True Map IN False >>>>>> >>>>>> findAllQuantityPrices >>>>>> True String IN False >>>>>> >>>>>> locale >>>>>> True java.util.Locale INOUT True >>>>>> >>>>>> login.password >>>>>> True String IN True >>>>>> >>>>>> login.username >>>>>> True String IN True >>>>>> >>>>>> optimizeForLargeRuleSet >>>>>> True String IN False >>>>>> >>>>>> partyId >>>>>> True String IN False >>>>>> >>>>>> prodCatalogId >>>>>> True String IN False >>>>>> >>>>>> *product* >>>>>> *False* *org.apache.ofbiz.entity.GenericValue* IN False >>>>>> >>>>>> productPricePurposeId >>>>>> True String IN False >>>>>> >>>>>> productStoreGroupId >>>>>> True String IN False >>>>>> >>>>>> productStoreId >>>>>> True String IN False >>>>>> >>>>>> quantity >>>>>> True BigDecimal IN False >>>>>> >>>>>> surveyResponseId >>>>>> True String IN False >>>>>> >>>>>> termUomId >>>>>> True String IN False >>>>>> >>>>>> timeZone >>>>>> True java.util.TimeZone INOUT True >>>>>> >>>>>> userLogin >>>>>> True org.apache.ofbiz.entity.GenericValue INOUT True >>>>>> >>>>>> webSiteId >>>>>> True String IN False >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> regds >>>>>> rajesh. |
Free forum by Nabble | Edit this page |