cancel
Showing results for 
Search instead for 
Did you mean: 

SAP PI AEX - Job data-type parameter as type java.util.Properties

Former Member
0 Kudos

Hi folks,

I would like to know if any of you have used data-type  "Properties" under job-definition.xml. I have trying to use it as:

job-definition-parameter name="PARAMETER1" data-type="Properties" direction="IN"/ . However, I am getting an error on NWA as it is not recognizing the type. It is suppose to be valid: job-definition.dtd -  Using Central Development Services - SAP Library

Thanks and regards.

Pedro.

Accepted Solutions (0)

Answers (1)

Answers (1)

iaki_vila
Active Contributor
0 Kudos

Hi Peter,

In this Amit's blog you have an example of job-definition.xml:

Have you followed the same structure?

Regards.

Former Member
0 Kudos

Hi Iñaki,

In that example both data-type are "String". What I am looking for is to use "Properties". I have other parameters as "String" and everything is fine but when I tried to use Properties I got an error.

Regards.

vadimklimov
Active Contributor
0 Kudos

Hi Peter,

For parameters of type "Properties", it shall also work fine following the same approach. Can you please provide full content of a metadata file "job-definition.xml" and details of an error you get in NWA?

Regards,

Vadim

Former Member
0 Kudos

Hi Vadim,

For example, if I try de following:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>

<job-definitions>

  <job-definition description="XXXXX"

  name="JobEdicomSolFicheros" retention-period="2">

  <job-definition-parameter name="USER"

  data-type="String" direction="IN" />

  <job-definition-parameter name="PASSWORD"

  data-type="Properties" direction="IN" />

  </job-definition>

</job-definitions>

One parameter as String (USER)  and the other one as Properties (PASSWORD).

I will get this error once I try to create a task for my job:

com.sap.tc.webdynpro.progmodel.context.ContextException: cannot resolve path 'DynamicParameters.PASSWORD': com.sap.tc.webdynpro.progmodel.context.ContextException: NodeInfo(path=FloorPlan.EmbeddedApplicationInst/Step2_1.DynamicParameters, class="com".sap.tc.webdynpro.progmodel.context.DataNodeInfo): unknown child node PASSWORD

  at com.sap.tc.webdynpro.progmodel.context.Paths.followMetaPath(Paths.java:1276)

  at com.sap.tc.webdynpro.progmodel.context.Paths.getPropertyInfoFor(Paths.java:859)

  at com.sap.tc.webdynpro.progmodel.view.ContextBindingManager.editablePropertyBindingChanged(ContextBindingManager.java:88)

  at com.sap.tc.webdynpro.progmodel.view.View.editablePropertyBindingChanged(View.java:1091)

  at com.sap.tc.webdynpro.progmodel.view.ViewElement.editablePropertyBindingChanged(ViewElement.java:993)

  at com.sap.tc.webdynpro.clientserver.uielib.standard.impl.AbstractInputField.bindValue(AbstractInputField.java:1972)

  at com.sap.tc.lm.itsam.ui.nwscheduler.tasks.Step2_1.wdDoModifyView(Step2_1.java:215)

  at com.sap.tc.lm.itsam.ui.nwscheduler.tasks.wdp.InternalStep2_1.wdDoModifyView(InternalStep2_1.java:260)

  at com.sap.tc.webdynpro.progmodel.generation.DelegatingView.doModifyView(DelegatingView.java:94)

  at com.sap.tc.webdynpro.progmodel.view.View.modifyView(View.java:746)

  at com.sap.tc.webdynpro.progmodel.window.ViewController.modifyView(ViewController.java:254)

  at com.sap.tc.webdynpro.clientserver.cal.ClientComponent.doModifyView(ClientComponent.java:432)

  at com.sap.tc.webdynpro.clientserver.cal.ClientComponent.doModifyView(ClientComponent.java:438)

  at com.sap.tc.webdynpro.clientserver.phases.ModifyViewPhase.execute(ModifyViewPhase.java:69)

  at com.sap.tc.webdynpro.clientserver.window.WindowPhaseModel.processRequestPartly(WindowPhaseModel.java:162)

  at com.sap.tc.webdynpro.clientserver.window.WindowPhaseModel.doProcessRequest(WindowPhaseModel.java:110)

  at com.sap.tc.webdynpro.clientserver.window.WindowPhaseModel.processRequest(WindowPhaseModel.java:97)

  at com.sap.tc.webdynpro.clientserver.window.WebDynproWindow.processRequest(WebDynproWindow.java:515)

  at com.sap.tc.webdynpro.clientserver.cal.AbstractClient.executeTasks(AbstractClient.java:58)

  at com.sap.tc.webdynpro.clientserver.cal.ClientApplication.doExecute(ClientApplication.java:1671)

  at com.sap.tc.webdynpro.clientserver.cal.ClientApplication.doProcessing(ClientApplication.java:1485)

  at com.sap.tc.webdynpro.clientserver.session.ApplicationSession.doApplicationProcessingStandalone(ApplicationSession.java:908)

  at com.sap.tc.webdynpro.clientserver.session.ApplicationSession.doApplicationProcessing(ApplicationSession.java:880)

  at com.sap.tc.webdynpro.clientserver.session.ApplicationSession.doProcessing(ApplicationSession.java:357)

  at com.sap.tc.webdynpro.clientserver.session.RequestManager.doProcessing(RequestManager.java:326)

  at com.sap.tc.webdynpro.serverimpl.core.AbstractDispatcherServlet.doContent(AbstractDispatcherServlet.java:87)

  at com.sap.tc.webdynpro.serverimpl.wdc.DispatcherServlet.doContent(DispatcherServlet.java:101)

  at com.sap.tc.webdynpro.serverimpl.core.AbstractDispatcherServlet.doPost(AbstractDispatcherServlet.java:62)

  at javax.servlet.http.HttpServlet.service(HttpServlet.java:754)

  at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)

  at com.sap.engine.services.servlets_jsp.server.Invokable.invoke(Invokable.java:152)

  at com.sap.engine.services.servlets_jsp.server.Invokable.invoke(Invokable.java:38)

  at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:466)

  at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:210)

  at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:441)

  at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:430)

  at com.sap.engine.services.servlets_jsp.filters.DSRWebContainerFilter.process(DSRWebContainerFilter.java:38)

  at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)

  at com.sap.engine.services.servlets_jsp.filters.ServletSelector.process(ServletSelector.java:81)

  at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)

  at com.sap.engine.services.servlets_jsp.filters.ApplicationSelector.process(ApplicationSelector.java:278)

  at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)

  at com.sap.engine.services.httpserver.filters.WebContainerInvoker.process(WebContainerInvoker.java:81)

  at com.sap.engine.services.httpserver.chain.HostFilter.process(HostFilter.java:9)

  at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)

  at com.sap.engine.services.httpserver.filters.ResponseLogWriter.process(ResponseLogWriter.java:60)

  at com.sap.engine.services.httpserver.chain.HostFilter.process(HostFilter.java:9)

  at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)

  at com.sap.engine.services.httpserver.filters.DefineHostFilter.process(DefineHostFilter.java:27)

  at com.sap.engine.services.httpserver.chain.ServerFilter.process(ServerFilter.java:12)

  at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)

  at com.sap.engine.services.httpserver.filters.MonitoringFilter.process(MonitoringFilter.java:29)

  at com.sap.engine.services.httpserver.chain.ServerFilter.process(ServerFilter.java:12)

  at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)

  at com.sap.engine.services.httpserver.filters.SessionSizeFilter.process(SessionSizeFilter.java:26)

  at com.sap.engine.services.httpserver.chain.ServerFilter.process(ServerFilter.java:12)

  at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)

  at com.sap.engine.services.httpserver.filters.MemoryStatisticFilter.process(MemoryStatisticFilter.java:57)

  at com.sap.engine.services.httpserver.chain.ServerFilter.process(ServerFilter.java:12)

  at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)

  at com.sap.engine.services.httpserver.filters.DSRHttpFilter.process(DSRHttpFilter.java:43)

  at com.sap.engine.services.httpserver.chain.ServerFilter.process(ServerFilter.java:12)

  at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)

  at com.sap.engine.services.httpserver.server.Processor.chainedRequest(Processor.java:475)

  at com.sap.engine.services.httpserver.server.Processor$FCAProcessorThread.process(Processor.java:269)

  at com.sap.engine.services.httpserver.server.rcm.RequestProcessorThread.run(RequestProcessorThread.java:56)

  at com.sap.engine.core.thread.execution.Executable.run(Executable.java:122)

  at com.sap.engine.core.thread.execution.Executable.run(Executable.java:101)

  at com.sap.engine.core.thread.execution.CentralExecutor$SingleThread.run(CentralExecutor.java:328)

Caused by: com.sap.tc.webdynpro.progmodel.context.ContextException: NodeInfo(path=FloorPlan.EmbeddedApplicationInst/Step2_1.DynamicParameters, class="com".sap.tc.webdynpro.progmodel.context.DataNodeInfo): unknown child node PASSWORD

  at com.sap.tc.webdynpro.progmodel.context.Paths.followMetaPath(Paths.java:1300)

  at com.sap.tc.webdynpro.progmodel.context.Paths.followMetaPath(Paths.java:1263)

  ... 68 more

Do I need to declare Properties parameters in another way?

Regards.

former_member192892
Active Contributor
0 Kudos

Try using the full String

java.util.Properties


Ref: job-definition.dtd -  Using Central Development Services - SAP Library

Former Member
0 Kudos

I also have tried with java.util.Properties and I got the same error.

Regards.

vadimklimov
Active Contributor
0 Kudos

Hi Peter,

job-definition.xml looks fine and as far as I can see from error details, this is not a deployment error - you actually get it when scheduling a job, not when deploying job definition. The problem you face is related to user interface bug. If you attempt to schedule the job not via NWA, but programmatically (using Java Scheduler API), you shall not come into this kind of issues. Drawback is, you will need to make custom development or get external software in order to do this. Even though Java Scheduler API is exposed and officially documented (for example, Generated Documentation (Untitled)), you still need to get a consumer to call those APIs.

Is it possible to replace properties input parameter with linear types (like string or integer). I realize it is not really a solution for your original problem, but only a workaround.

As for a solution, I may suggest you creating a SAP incident for this.

Regards,

Vadim