OFBiz SOAP web service integration: List of GenericValue

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

OFBiz SOAP web service integration: List of GenericValue

Morten Jensen
Hi,

I'm currently running a proof of concept on OFBiz web service integration
in order to be able to: create party group, party person, create orders,
register payments etc from external services (acting as clients to OFBiz).

I am using Apache CXF (JAXB) and am exposing the various services as SOAP
endpoints, mapping the WSDL as Java types.

I have managed to find and create parties in this way.

The problem I'm faced with is that e.g. the web service call storeOrder
(createOrder) for instance requires a List of orderItems. I have had a look
at the source code for creating a sales order (e.g.
test/SalesOrderTest.java) and it appears that the List type is a list of
GenericValue.

However, the WSDL does not document this type (GenericValue) anywhere and I
have no idea what its representation (in XML) might look like in order to
be able to make the call.

Does anyone else know how to provide e.g. orderItems to the
storeOrder/createOrder web service call? Any pointers would be greatly
appreciated.

P.S: Separately I notice that things like (eeval-) DynamicViewEntity,
PartyRole, RoleType (as returned by e.g. findParty) are not mapped in WSDL
either. Instead an "eeval-" type exists in the wsdl with wsdl annotations
suggesting that those should be defined by the ofbiz "module" (e.g. Party)
- however, this does not appear to be the case unless I missed something
somewhere?

Thanks in advance for your assistance.

Best regards,
Morten Jensen
Reply | Threaded
Open this post in threaded view
|

Re: OFBiz SOAP web service integration: List of GenericValue

Pierre Smits
Hi Morten,

The following document in our wiki might be of some help.
https://cwiki.apache.org/confluence/display/OFBIZ/Calling+OFBiz+services+from+Liferay+using+SOAP

Best regards,

Pierre Smits

*OFBiz Extensions Marketplace*
http://oem.ofbizci.net/oci-2/

On Wed, Sep 23, 2015 at 12:53 PM, Morten Jensen <[hidden email]>
wrote:

> Hi,
>
> I'm currently running a proof of concept on OFBiz web service integration
> in order to be able to: create party group, party person, create orders,
> register payments etc from external services (acting as clients to OFBiz).
>
> I am using Apache CXF (JAXB) and am exposing the various services as SOAP
> endpoints, mapping the WSDL as Java types.
>
> I have managed to find and create parties in this way.
>
> The problem I'm faced with is that e.g. the web service call storeOrder
> (createOrder) for instance requires a List of orderItems. I have had a look
> at the source code for creating a sales order (e.g.
> test/SalesOrderTest.java) and it appears that the List type is a list of
> GenericValue.
>
> However, the WSDL does not document this type (GenericValue) anywhere and I
> have no idea what its representation (in XML) might look like in order to
> be able to make the call.
>
> Does anyone else know how to provide e.g. orderItems to the
> storeOrder/createOrder web service call? Any pointers would be greatly
> appreciated.
>
> P.S: Separately I notice that things like (eeval-) DynamicViewEntity,
> PartyRole, RoleType (as returned by e.g. findParty) are not mapped in WSDL
> either. Instead an "eeval-" type exists in the wsdl with wsdl annotations
> suggesting that those should be defined by the ofbiz "module" (e.g. Party)
> - however, this does not appear to be the case unless I missed something
> somewhere?
>
> Thanks in advance for your assistance.
>
> Best regards,
> Morten Jensen
>
Reply | Threaded
Open this post in threaded view
|

Re: OFBiz SOAP web service integration: List of GenericValue

Morten Jensen
Hi Pierre,

Thanks for your response, much appreciated. I did find and look at this
example prior to sending out my question originally - I also looked at the
XMLRPC and SOAP examples. However, none of them seemed to offer a way to
bridge/exchange "GenericValue" (or list thereof) for in/output parameters;
simply for the reason that in order to instantiate GenericValue you'd need
the entity engine locked and loaded on client-side (which clearly makes no
sense). The ofbiz framework's model is an interesting mix of model and
implementation, which seems to (at least to me) make it near impossible to
integrate using the options on offer.

Instead what I ended up doing was build REST'ish web services inside the
ofbiz framework (using
https://cwiki.apache.org/confluence/display/OFBIZ/Export+service+using+REST)
with our own business specific model and translate from that to
GenericValue, runService calls etc - and thereby "endorse" the ofbiz
framework rather than writing a "thick" integration client that uses the
exposed ofbiz services; it simply doesn't appear feasible for anything
other than the most rudimentary integration work (like getting order status
or whatever).

Thanks.
Morten

On Tue, Oct 6, 2015 at 1:22 PM, Pierre Smits <[hidden email]> wrote:

> Hi Morten,
>
> The following document in our wiki might be of some help.
>
> https://cwiki.apache.org/confluence/display/OFBIZ/Calling+OFBiz+services+from+Liferay+using+SOAP
>
> Best regards,
>
> Pierre Smits
>
> *OFBiz Extensions Marketplace*
> http://oem.ofbizci.net/oci-2/
>
> On Wed, Sep 23, 2015 at 12:53 PM, Morten Jensen <[hidden email]>
> wrote:
>
>> Hi,
>>
>> I'm currently running a proof of concept on OFBiz web service integration
>> in order to be able to: create party group, party person, create orders,
>> register payments etc from external services (acting as clients to OFBiz).
>>
>> I am using Apache CXF (JAXB) and am exposing the various services as SOAP
>> endpoints, mapping the WSDL as Java types.
>>
>> I have managed to find and create parties in this way.
>>
>> The problem I'm faced with is that e.g. the web service call storeOrder
>> (createOrder) for instance requires a List of orderItems. I have had a
>> look
>> at the source code for creating a sales order (e.g.
>> test/SalesOrderTest.java) and it appears that the List type is a list of
>> GenericValue.
>>
>> However, the WSDL does not document this type (GenericValue) anywhere and
>> I
>> have no idea what its representation (in XML) might look like in order to
>> be able to make the call.
>>
>> Does anyone else know how to provide e.g. orderItems to the
>> storeOrder/createOrder web service call? Any pointers would be greatly
>> appreciated.
>>
>> P.S: Separately I notice that things like (eeval-) DynamicViewEntity,
>> PartyRole, RoleType (as returned by e.g. findParty) are not mapped in WSDL
>> either. Instead an "eeval-" type exists in the wsdl with wsdl annotations
>> suggesting that those should be defined by the ofbiz "module" (e.g. Party)
>> - however, this does not appear to be the case unless I missed something
>> somewhere?
>>
>> Thanks in advance for your assistance.
>>
>> Best regards,
>> Morten Jensen
>>
>
>
Reply | Threaded
Open this post in threaded view
|

Re: OFBiz SOAP web service integration: List of GenericValue

Pierre Smits
Hi Morten,

Thanks for the explanation. As you said that you followed the
https://cwiki.apache.org/confluence/display/OFBIZ/Export+service+using+REST
as a guideline, did you also use the suggested Apache Wink solution or did
you go with the integrated Axis2 functionalities in OFBiz? Or did you use
anything else?

I can imagine that the wiki page mentioned as it was updated way back in
2010 for the last time.

Best regards,

Pierre Smits

*OFBiz Extensions Marketplace*
http://oem.ofbizci.net/oci-2/

On Tue, Oct 6, 2015 at 2:34 PM, Morten Jensen <[hidden email]> wrote:

> Hi Pierre,
>
> Thanks for your response, much appreciated. I did find and look at this
> example prior to sending out my question originally - I also looked at the
> XMLRPC and SOAP examples. However, none of them seemed to offer a way to
> bridge/exchange "GenericValue" (or list thereof) for in/output parameters;
> simply for the reason that in order to instantiate GenericValue you'd need
> the entity engine locked and loaded on client-side (which clearly makes no
> sense). The ofbiz framework's model is an interesting mix of model and
> implementation, which seems to (at least to me) make it near impossible to
> integrate using the options on offer.
>
> Instead what I ended up doing was build REST'ish web services inside the
> ofbiz framework (using
> https://cwiki.apache.org/confluence/display/OFBIZ/Export+service+using+REST)
> with our own business specific model and translate from that to
> GenericValue, runService calls etc - and thereby "endorse" the ofbiz
> framework rather than writing a "thick" integration client that uses the
> exposed ofbiz services; it simply doesn't appear feasible for anything
> other than the most rudimentary integration work (like getting order status
> or whatever).
>
> Thanks.
> Morten
>
> On Tue, Oct 6, 2015 at 1:22 PM, Pierre Smits <[hidden email]>
> wrote:
>
>> Hi Morten,
>>
>> The following document in our wiki might be of some help.
>>
>> https://cwiki.apache.org/confluence/display/OFBIZ/Calling+OFBiz+services+from+Liferay+using+SOAP
>>
>> Best regards,
>>
>> Pierre Smits
>>
>> *OFBiz Extensions Marketplace*
>> http://oem.ofbizci.net/oci-2/
>>
>> On Wed, Sep 23, 2015 at 12:53 PM, Morten Jensen <[hidden email]>
>> wrote:
>>
>>> Hi,
>>>
>>> I'm currently running a proof of concept on OFBiz web service integration
>>> in order to be able to: create party group, party person, create orders,
>>> register payments etc from external services (acting as clients to
>>> OFBiz).
>>>
>>> I am using Apache CXF (JAXB) and am exposing the various services as SOAP
>>> endpoints, mapping the WSDL as Java types.
>>>
>>> I have managed to find and create parties in this way.
>>>
>>> The problem I'm faced with is that e.g. the web service call storeOrder
>>> (createOrder) for instance requires a List of orderItems. I have had a
>>> look
>>> at the source code for creating a sales order (e.g.
>>> test/SalesOrderTest.java) and it appears that the List type is a list of
>>> GenericValue.
>>>
>>> However, the WSDL does not document this type (GenericValue) anywhere
>>> and I
>>> have no idea what its representation (in XML) might look like in order to
>>> be able to make the call.
>>>
>>> Does anyone else know how to provide e.g. orderItems to the
>>> storeOrder/createOrder web service call? Any pointers would be greatly
>>> appreciated.
>>>
>>> P.S: Separately I notice that things like (eeval-) DynamicViewEntity,
>>> PartyRole, RoleType (as returned by e.g. findParty) are not mapped in
>>> WSDL
>>> either. Instead an "eeval-" type exists in the wsdl with wsdl annotations
>>> suggesting that those should be defined by the ofbiz "module" (e.g.
>>> Party)
>>> - however, this does not appear to be the case unless I missed something
>>> somewhere?
>>>
>>> Thanks in advance for your assistance.
>>>
>>> Best regards,
>>> Morten Jensen
>>>
>>
>>
>
Reply | Threaded
Open this post in threaded view
|

Re: OFBiz SOAP web service integration: List of GenericValue

Morten Jensen
Hi Pierre,

I just went with Apache Wink (now 1.4); it works fine and web.xml
configuration and Application set-up is straightforward.

Thanks.
Morten

On Tue, Oct 6, 2015 at 3:26 PM, Pierre Smits <[hidden email]> wrote:

> Hi Morten,
>
> Thanks for the explanation. As you said that you followed the
> https://cwiki.apache.org/confluence/display/OFBIZ/Export+service+using+REST
> as a guideline, did you also use the suggested Apache Wink solution or did
> you go with the integrated Axis2 functionalities in OFBiz? Or did you use
> anything else?
>
> I can imagine that the wiki page mentioned as it was updated way back in
> 2010 for the last time.
>
> Best regards,
>
> Pierre Smits
>
> *OFBiz Extensions Marketplace*
> http://oem.ofbizci.net/oci-2/
>
> On Tue, Oct 6, 2015 at 2:34 PM, Morten Jensen <[hidden email]>
> wrote:
>
>> Hi Pierre,
>>
>> Thanks for your response, much appreciated. I did find and look at this
>> example prior to sending out my question originally - I also looked at the
>> XMLRPC and SOAP examples. However, none of them seemed to offer a way to
>> bridge/exchange "GenericValue" (or list thereof) for in/output parameters;
>> simply for the reason that in order to instantiate GenericValue you'd need
>> the entity engine locked and loaded on client-side (which clearly makes no
>> sense). The ofbiz framework's model is an interesting mix of model and
>> implementation, which seems to (at least to me) make it near impossible to
>> integrate using the options on offer.
>>
>> Instead what I ended up doing was build REST'ish web services inside the
>> ofbiz framework (using
>> https://cwiki.apache.org/confluence/display/OFBIZ/Export+service+using+REST)
>> with our own business specific model and translate from that to
>> GenericValue, runService calls etc - and thereby "endorse" the ofbiz
>> framework rather than writing a "thick" integration client that uses the
>> exposed ofbiz services; it simply doesn't appear feasible for anything
>> other than the most rudimentary integration work (like getting order status
>> or whatever).
>>
>> Thanks.
>> Morten
>>
>> On Tue, Oct 6, 2015 at 1:22 PM, Pierre Smits <[hidden email]>
>> wrote:
>>
>>> Hi Morten,
>>>
>>> The following document in our wiki might be of some help.
>>>
>>> https://cwiki.apache.org/confluence/display/OFBIZ/Calling+OFBiz+services+from+Liferay+using+SOAP
>>>
>>> Best regards,
>>>
>>> Pierre Smits
>>>
>>> *OFBiz Extensions Marketplace*
>>> http://oem.ofbizci.net/oci-2/
>>>
>>> On Wed, Sep 23, 2015 at 12:53 PM, Morten Jensen <[hidden email]>
>>> wrote:
>>>
>>>> Hi,
>>>>
>>>> I'm currently running a proof of concept on OFBiz web service
>>>> integration
>>>> in order to be able to: create party group, party person, create orders,
>>>> register payments etc from external services (acting as clients to
>>>> OFBiz).
>>>>
>>>> I am using Apache CXF (JAXB) and am exposing the various services as
>>>> SOAP
>>>> endpoints, mapping the WSDL as Java types.
>>>>
>>>> I have managed to find and create parties in this way.
>>>>
>>>> The problem I'm faced with is that e.g. the web service call storeOrder
>>>> (createOrder) for instance requires a List of orderItems. I have had a
>>>> look
>>>> at the source code for creating a sales order (e.g.
>>>> test/SalesOrderTest.java) and it appears that the List type is a list of
>>>> GenericValue.
>>>>
>>>> However, the WSDL does not document this type (GenericValue) anywhere
>>>> and I
>>>> have no idea what its representation (in XML) might look like in order
>>>> to
>>>> be able to make the call.
>>>>
>>>> Does anyone else know how to provide e.g. orderItems to the
>>>> storeOrder/createOrder web service call? Any pointers would be greatly
>>>> appreciated.
>>>>
>>>> P.S: Separately I notice that things like (eeval-) DynamicViewEntity,
>>>> PartyRole, RoleType (as returned by e.g. findParty) are not mapped in
>>>> WSDL
>>>> either. Instead an "eeval-" type exists in the wsdl with wsdl
>>>> annotations
>>>> suggesting that those should be defined by the ofbiz "module" (e.g.
>>>> Party)
>>>> - however, this does not appear to be the case unless I missed something
>>>> somewhere?
>>>>
>>>> Thanks in advance for your assistance.
>>>>
>>>> Best regards,
>>>> Morten Jensen
>>>>
>>>
>>>
>>
>
Reply | Threaded
Open this post in threaded view
|

Re: OFBiz SOAP web service integration: List of GenericValue

Jacques Le Roux
Administrator
Thanks for this confirmation Morten

Jacques

Le 06/10/2015 17:23, Morten Jensen a écrit :

> Hi Pierre,
>
> I just went with Apache Wink (now 1.4); it works fine and web.xml
> configuration and Application set-up is straightforward.
>
> Thanks.
> Morten
>
> On Tue, Oct 6, 2015 at 3:26 PM, Pierre Smits <[hidden email]> wrote:
>
>> Hi Morten,
>>
>> Thanks for the explanation. As you said that you followed the
>> https://cwiki.apache.org/confluence/display/OFBIZ/Export+service+using+REST
>> as a guideline, did you also use the suggested Apache Wink solution or did
>> you go with the integrated Axis2 functionalities in OFBiz? Or did you use
>> anything else?
>>
>> I can imagine that the wiki page mentioned as it was updated way back in
>> 2010 for the last time.
>>
>> Best regards,
>>
>> Pierre Smits
>>
>> *OFBiz Extensions Marketplace*
>> http://oem.ofbizci.net/oci-2/
>>
>> On Tue, Oct 6, 2015 at 2:34 PM, Morten Jensen <[hidden email]>
>> wrote:
>>
>>> Hi Pierre,
>>>
>>> Thanks for your response, much appreciated. I did find and look at this
>>> example prior to sending out my question originally - I also looked at the
>>> XMLRPC and SOAP examples. However, none of them seemed to offer a way to
>>> bridge/exchange "GenericValue" (or list thereof) for in/output parameters;
>>> simply for the reason that in order to instantiate GenericValue you'd need
>>> the entity engine locked and loaded on client-side (which clearly makes no
>>> sense). The ofbiz framework's model is an interesting mix of model and
>>> implementation, which seems to (at least to me) make it near impossible to
>>> integrate using the options on offer.
>>>
>>> Instead what I ended up doing was build REST'ish web services inside the
>>> ofbiz framework (using
>>> https://cwiki.apache.org/confluence/display/OFBIZ/Export+service+using+REST)
>>> with our own business specific model and translate from that to
>>> GenericValue, runService calls etc - and thereby "endorse" the ofbiz
>>> framework rather than writing a "thick" integration client that uses the
>>> exposed ofbiz services; it simply doesn't appear feasible for anything
>>> other than the most rudimentary integration work (like getting order status
>>> or whatever).
>>>
>>> Thanks.
>>> Morten
>>>
>>> On Tue, Oct 6, 2015 at 1:22 PM, Pierre Smits <[hidden email]>
>>> wrote:
>>>
>>>> Hi Morten,
>>>>
>>>> The following document in our wiki might be of some help.
>>>>
>>>> https://cwiki.apache.org/confluence/display/OFBIZ/Calling+OFBiz+services+from+Liferay+using+SOAP
>>>>
>>>> Best regards,
>>>>
>>>> Pierre Smits
>>>>
>>>> *OFBiz Extensions Marketplace*
>>>> http://oem.ofbizci.net/oci-2/
>>>>
>>>> On Wed, Sep 23, 2015 at 12:53 PM, Morten Jensen <[hidden email]>
>>>> wrote:
>>>>
>>>>> Hi,
>>>>>
>>>>> I'm currently running a proof of concept on OFBiz web service
>>>>> integration
>>>>> in order to be able to: create party group, party person, create orders,
>>>>> register payments etc from external services (acting as clients to
>>>>> OFBiz).
>>>>>
>>>>> I am using Apache CXF (JAXB) and am exposing the various services as
>>>>> SOAP
>>>>> endpoints, mapping the WSDL as Java types.
>>>>>
>>>>> I have managed to find and create parties in this way.
>>>>>
>>>>> The problem I'm faced with is that e.g. the web service call storeOrder
>>>>> (createOrder) for instance requires a List of orderItems. I have had a
>>>>> look
>>>>> at the source code for creating a sales order (e.g.
>>>>> test/SalesOrderTest.java) and it appears that the List type is a list of
>>>>> GenericValue.
>>>>>
>>>>> However, the WSDL does not document this type (GenericValue) anywhere
>>>>> and I
>>>>> have no idea what its representation (in XML) might look like in order
>>>>> to
>>>>> be able to make the call.
>>>>>
>>>>> Does anyone else know how to provide e.g. orderItems to the
>>>>> storeOrder/createOrder web service call? Any pointers would be greatly
>>>>> appreciated.
>>>>>
>>>>> P.S: Separately I notice that things like (eeval-) DynamicViewEntity,
>>>>> PartyRole, RoleType (as returned by e.g. findParty) are not mapped in
>>>>> WSDL
>>>>> either. Instead an "eeval-" type exists in the wsdl with wsdl
>>>>> annotations
>>>>> suggesting that those should be defined by the ofbiz "module" (e.g.
>>>>> Party)
>>>>> - however, this does not appear to be the case unless I missed something
>>>>> somewhere?
>>>>>
>>>>> Thanks in advance for your assistance.
>>>>>
>>>>> Best regards,
>>>>> Morten Jensen
>>>>>
>>>>