org.apache.ofbiz.entity.GenericValue as parameter types

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
8 messages Options
Reply | Threaded
Open this post in threaded view
|

org.apache.ofbiz.entity.GenericValue as parameter types

Rajesh Mallah
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.
Reply | Threaded
Open this post in threaded view
|

Re: org.apache.ofbiz.entity.GenericValue as parameter types

Jacques Le Roux
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.

Reply | Threaded
Open this post in threaded view
|

Re: org.apache.ofbiz.entity.GenericValue as parameter types

Jacques Le Roux
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.
>
Reply | Threaded
Open this post in threaded view
|

Re: org.apache.ofbiz.entity.GenericValue as parameter types

Jacques Le Roux
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.
>>
Reply | Threaded
Open this post in threaded view
|

Re: org.apache.ofbiz.entity.GenericValue as parameter types

Rajesh Mallah
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.
Reply | Threaded
Open this post in threaded view
|

Re: org.apache.ofbiz.entity.GenericValue as parameter types

Rajesh 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.
> >>
>
Reply | Threaded
Open this post in threaded view
|

Re: org.apache.ofbiz.entity.GenericValue as parameter types

Rajesh Mallah
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.
>> >>
>>
>
Reply | Threaded
Open this post in threaded view
|

Re: org.apache.ofbiz.entity.GenericValue as parameter types

Jacques Le Roux
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.