Adding INVOKE METHOD To BE

Posted by Roger Blanchard on 04-Jun-2014 13:27

I have an existing business entity with the standard CRUD operations. I have a need for an INVOKE so I have added the method as well as the annotation. From within OEMobile I try to create a new service and select this BE. I was expecting the new INVOKE method to be added as a service but it was not. Does anyone know if this is expected?

All Replies

Posted by Shelley Chase on 04-Jun-2014 13:34

Hi Roger,

You need to re-import the catalog into the Mobile App. Select Create New JSDO Service and select the updated catalog. This will leave your existing CRUD services but add any missing ones.

-Shelley

Posted by Roger Blanchard on 04-Jun-2014 13:36

Hi Shelley,

That is what I did but it did not create the new service.

Posted by Anil Kumar on 04-Jun-2014 13:36

Hi Rblanchard,
 
When we create or update a Mobile service by selecting any of the Business Entity all the methods which are decorated with mobile annotations will be listed as part of the catalog (JSON) file once the mobile service is created.
Are you seeing the problem (missing of invoke method) in the catalog (JSON) file or during the import of JSON file in the Mobile App Builder? Or it is observed in the JSON file itself?
 
With respect to Mobile App Builder, we need to re-import the catalog file in the Mobile App Builder by deleting the existing JSDO services such that all the services are available in the Mobile App Builder.
 
Thanks and Regards,
Anil Kumar.
 
[collapse]
From: rblanchard [mailto:bounce-rblanchard@community.progress.com]
Sent: Wednesday, June 04, 2014 11:58 PM
To: TU.Mobile@community.progress.com
Subject: [Technical Users - Mobile] Adding INVOKE METHOD To BE
 
Thread created by rblanchard

I have an existing business entity with the standard CRUD operations. I have a need for an INVOKE so I have added the method as well as the annotation. From within OEMobile I try to create a new service and select this BE. I was expecting the new INVOKE method to be added as a service but it was not. Does anyone know if this is expected?

Stop receiving emails on this subject.

Flag this post as spam/abuse.

[/collapse]

Posted by Roger Blanchard on 04-Jun-2014 13:41

It is listed in the JSON file just fine. When I attempt to create new service, upload json and create new service the new invoke service is not created. Are you saying I need to delete ALL the existing services for the BE? If I do that I lose all my mapping, error&success handlers, etc.

Posted by Anil Kumar on 04-Jun-2014 13:49

Hi Rblanchard,
 
Yes. In order bring the latest schema elements of a given catalog file (mobile service) from OpenEdge (PDS OE) to Mobile App Builder via JSDO services, we need to delete the existing services and Yes it will remove all the associated mappings and the events of specific service. This is the limitation in the current version of OE Mobile.
 
Thanks and Regards,
Anil Kumar.
 
[collapse]
From: rblanchard [mailto:bounce-rblanchard@community.progress.com]
Sent: Thursday, June 05, 2014 12:11 AM
To: TU.Mobile@community.progress.com
Subject: RE: [Technical Users - Mobile] Adding INVOKE METHOD To BE
 
Reply by rblanchard

It is listed in the JSON file just fine. When I attempt to create new service, upload json and create new service the new invoke service is not created. Are you saying I need to delete ALL the existing services for the BE? If I do that I lose all my mapping, error&success handlers, etc.

Stop receiving emails on this subject.

Flag this post as spam/abuse.

[/collapse]

Posted by Roger Blanchard on 04-Jun-2014 13:52

In working with Ricardo it looks like the annotations at the top of the class were modified after annotating the invoke method. I repaired and now I get the message 7 services skipped and 1 created!!

Posted by Ricardo Perdigao on 04-Jun-2014 13:54

Anil,

Today, OE Mobile can do incremental services.  In the situation described, you don’t need to delete the services to add an additional one.  This is not the issue here.  

Roger just sent his .Json to me and it does not import on a blank project … Pointing to issues on the annotation or generation of the .json file. 

Regards,

RICARDO PERDIGAO
Senior Systems Engineer

  

[collapse]
From: Anil Kumar <bounce-anikumar@community.progress.com>
Reply-To: "TU.Mobile@community.progress.com" <TU.Mobile@community.progress.com>
Date: Wednesday, June 4, 2014 at 2:49 PM
To: "TU.Mobile@community.progress.com" <TU.Mobile@community.progress.com>
Subject: RE: [Technical Users - Mobile] Adding INVOKE METHOD To BE

Reply by Anil Kumar
Hi Rblanchard,
 
Yes. In order bring the latest schema elements of a given catalog file (mobile service) from OpenEdge (PDS OE) to Mobile App Builder via JSDO services, we need to delete the existing services and Yes it will remove all the associated mappings and the events of specific service. This is the limitation in the current version of OE Mobile.
 
Thanks and Regards,
Anil Kumar.
 
[collapse]
From: rblanchard [mailto:bounce-rblanchard@community.progress.com]
Sent: Thursday, June 05, 2014 12:11 AM
To: TU.Mobile@community.progress.com
Subject: RE: [Technical Users - Mobile] Adding INVOKE METHOD To BE
 
Reply by rblanchard

It is listed in the JSON file just fine. When I attempt to create new service, upload json and create new service the new invoke service is not created. Are you saying I need to delete ALL the existing services for the BE? If I do that I lose all my mapping, error&success handlers, etc.

Stop receiving emails on this subject.

Flag this post as spam/abuse.

Stop receiving emails on this subject.

Flag this post as spam/abuse.

[/collapse][/collapse]

Posted by Roger Blanchard on 04-Jun-2014 14:08

Ricardo just educated me. When I added the annotations for the INVOKE method I did not select the schema include file which wiped out the schema in main class annotations.

Thanks.

Posted by Anil Kumar on 04-Jun-2014 14:10

Hi Rblanchard,
 
This could be because of not selecting the ‘Schema’ during the new INVOKE annotations addition using Define Service Interface wizard.
 
 
When we add a new annotation without selecting ‘Schema’ attribute for any of the method in already mobile enabled class file (Business Entity) then schemaFile attribute in the file level annotation will be blank. Thus during the generation of Mobile Service all the schema (table) information will be lost in the catalog file.
 
Sorry for the confusion, we need to delete and re-import if and only if we are changing the parameters of a method but not for the new method addition in the Business Entity.
 
Thanks and Regards,
Anil Kumar.
 
[collapse]
From: rblanchard [mailto:bounce-rblanchard@community.progress.com]
Sent: Thursday, June 05, 2014 12:23 AM
To: TU.Mobile@community.progress.com
Subject: RE: [Technical Users - Mobile] Adding INVOKE METHOD To BE
 
Reply by rblanchard

In working with Ricardo it looks like the annotations at the top of the class were modified after annotating the invoke method. I repaired and now I get the message 7 services skipped and 1 created!!

Stop receiving emails on this subject.

Flag this post as spam/abuse.

[/collapse]

Posted by Roger Blanchard on 04-Jun-2014 14:12

That is exactly what it was....thanks.

This thread is closed