cancel
Showing results for 
Search instead for 
Did you mean: 

When (or how) is a job available as a web service?

Former Member
0 Kudos

We've created a web client application which is able to launch a job from web services. So I create a job with Data Services, but I can't tell how I'm supposed to make the job available to the client.

If I call the job right directly after I create it, then I get a message that the job isn't known. But if I open the Management Console and open the Web Services Configuration tab, then I see my new job and I can call it. If I then create a new job in the Designer, I have to simply perform a refresh on the Web Services Configuration tab in order to be able to call the job.

It seems that the simple act of opening the Web Services Configuration tab enables the job, but I kind of think this means that I'm not doing something right. Perhaps I'm missing a call in the client? Can anyone point me in the right direction (like specific section of a specific document)? All I can find is information on how to generate the WDSL, but I don't think I need that.

I'd really like to eliminate any need to do manual steps between creating the job and calling it.

BTW, we changed the generated code to be more generic so that we wouldn't have to generate it every time we wanted to add a job to web services. So instead of calling the hard-coded get<job-name>_GlobalVariables(), we completely re-wrote the serializer and build the global variables string dynamically.

Thanks for your help.

Edited by: Kim Wykoff on Sep 11, 2008 3:52 PM

Accepted Solutions (0)

Answers (2)

Answers (2)

Former Member
0 Kudos

So you are saying that for any new job you create in the repository, it is added automatically in the Management Console as a webservice ? That's very weird and definitely not what I'm seeing in my environment...

Could this be linked to changes you made ? I didn't fully understand what you mean with your quote below - did you make changes to the Data Services code in the Management Console (???) or just changed the generated WSDL ?

>

> BTW, we changed the generated code to be more generic so that we wouldn't have to generate it every time we wanted to add a job to web services. So instead of calling the hard-coded get<job-name>_GlobalVariables(), we completely re-wrote the serializer and build the global variables string dynamically.

>

Let's provide some background information on why we need the additional step of enabling a job in the Management Console and not expose any job in the repo as a web service.

We require this additional step for security reasons. We want an administrator to enable only those jobs that can be consumed by external applications. This gives some level of control on which jobs can be executed (so not jobs currently in dev or jobs that load sensitive data, ...).

We've made an enhancement however in the upcoming Data Services XI 3.1 release (available one of the next weeks) to make this more flexible. And I think this is exactly what you were trying to accomplish with the WSDL modifications. A new generic webservice is provided that can launch any enabled job, together with an operation to get a list of all enabled jobs. So you no longer need to hardcode all the operations for each job in the client application. Additionally we've also added a webservice operation to retrieve the input schema for a real-time job.

Former Member
0 Kudos

Thanks for your response, Ben.

So you are saying that for any new job you create in the repository, it is added automatically in the Management Console as a webservice ? That's very weird and definitely not what I'm seeing in my environment...

Yes, this is what I'm saying.

Could this be linked to changes you made ? I didn't fully understand what you mean with your quote below - did you make changes to the Data Services code in the Management Console (???) or just changed the generated WSDL ?

I don't think so because we made changes in the generated client code, but this behavior is solely on the Management Console side. So you don't know what my system is behaving like this? It's abnormal?

It sounds like the 3.1 enhancement is the same thing we implemented, but we still have to enable the jobs from the Console. If that is always the case, it means that we simply have to trash the whole Web Services idea. Is there really no way around this?

Edited by: Kim Wykoff on Sep 16, 2008 1:18 PM

werner_daehn
Active Contributor
0 Kudos

??? You have to add Realtime Services and Batch Jobs to the list of jobs being call-able via webservices! https://boc.sdn.sap.com/node/5504

In the first screenshot you see the "Add Realtime Service" and "Add Batch Job" buttons...

Former Member
0 Kudos

Yes, I know that's what the documentation says, but I don't have to - they appear automatically when I refresh the WS Configuration page. Is this is fluke?

If this is a fluke, is there some way around having to do this manual step to get jobs published? Can we write a program which will do it?

Edited by: Kim Wykoff on Sep 16, 2008 10:25 AM