How to configure destination for multiple OData services? - s4sdk

If I want to access multiple OData services on one system, how can I configure the URL of the destination?
For example, there are two OData services I want to access on the same system(see below),
should I just enter the host https://myxyz.ondemand.com in the URL of the destination?
https://myxyz.ondemand.com/sap/opu/odata/SAP/APS_IAM_SIAG_BROLE_SRV /Aps_Iam_Siag_Br_Dll?$format=json&sap-client=100
https://myxyz.ondemand.com/sap/opu/odata/SAP/APS_IAM_SIAG_USER_SRV/UserSet?sap-client=100

The destination service on SAP Cloudplatform offers the possibility to create multiple destinations. Thus, you can create one destination for each of your systems.
See: https://help.sap.com/viewer/cca91383641e40ffbe03bdc78f00f681/Cloud/en-US/e4f1d97cbb571014a247d10f9f9a685d.html
Also locally you can provide multiple destinations over the environment variable.
Furthermore, each destination has a unique name which you have to provide. The default one for applications built with the SAP S/4HANA Cloud SDK is ErpQueryEndpoint. However, you can also use a custom name.
When using the VDM provided by the SAP S/4HANA Cloud SDK you can select which destination to use by providing a ErpConfigContext with a custom destination name to the execute method:
final List<BusinessPartner> businessPartners = service
.getAllBusinessPartner()
...
.execute(new ErpConfigContext("MyCustomDestination"));

Related

Unable to access H2O Flow using H2O_connection_url

I am using both H2O and Sparkling Water on Amazon Clusters. I have been using Qubole and have been able to access the Flow UI on that platform. I am currently testing Databricks and Sagemaker, but I am unable to access the Flow UI using either platform (using port 54321). I am using H2O_cluster_version: 3.32.1.3. Do I need to use another port?
Getting the right Flow URL can be tricky because of the changes in the base URL at DBC. There were some improvements in more recent releases of SW that give the proper URL within Databricks, so make sure you try the latest version.
You should get it from your print/output, when you create an H2OContext. The port would be 9009. If you want to change it, you can use spark.ext.h2o.client.web.port.
You can also find the link in "Spark UI" -> "Sparkling Water" tab
The format would be something like: https://your-dbc-domain/driver-proxy/o/xxxxxxxx/yyyyyyy/9009/flow/index.html
From the docs for reference:
Flow is accessible via the URL printed out after H2OContext is
started. Internally we use open port 9009. If you have an environment
where a different port is open on your Azure Databricks cluster, you
can configure it via spark.ext.h2o.client.web.port or corresponding
setter on H2OConf.

Create new file transfer configuration using IBM MQMFT

I am using IBM MQMFT hosted on-premise and I have a request to transfer a new file from one server to the other.
Both servers already have MQ agents and are already sending some files across.
I would like to be able to add this new file configuration so that the file can also be picked up.
Please advise the steps required to achieve this. Do I just edit the agent's XML?
If you simply wish to send a file from one agent to another, and those agents are already configured...
Use the fteCreateTransfer command for a 'one off':
https://www.ibm.com/support/knowledgecenter/en/SSFKSJ_8.0.0/com.ibm.wmqfte.doc/start_new_transfer_cmd.htm
Consider a resource monitor (via fteCreateMonitor) or scheduled transfer (via fteCreateTransfer) if you're doing it on a regular basis:
https://www.ibm.com/support/knowledgecenter/en/SSFKSJ_8.0.0/com.ibm.wmqfte.doc/create_monitor_cmd.htm

How to list all Websphere installed applications for a given Middleware server using jython

I have a Websphere 8.5.5.12 installation with multiple applications running on it. For a given Middleware Server, I'd like to be able to list all applications associated with it using Jython.
I have gone as far as writing this code:
wsadmin>print AdminApp.list("WebSphere:cell=myCell,node=myNode")
However this is retrieving applications for a different Dynamic Cluster
If I add a specific server, it errors out
wsadmin>print AdminApp.list("WebSphere:cell=myCell,server=myServer")
ADMA0184E: myServer is not a valid target.
Your query should look like:
wsadmin>AdminApp.list("WebSphere:cell=myCell,node=myNode,server=server1")
It appears you're missing the node identifier in your query. And if wsadmin still returns "myServer is not a valid target", then the server name is wrong, try looking at your app server profile directory structure to double check it.

Using C# Windows service

I would like to create a utility to automatically copy files from one folder to another folder.
• The target and destination folder will be specified as a parameter
• The file type in (i.e. “.csv” or “.txt”) will also be specified as a parameter
How to pass parameters to windows service.. Please reply ..
Set your service to be a web service on some obscure port. Use a REST api (or whatever you like) to put a json/xml (or use get query strings if you like to) post to the service with directory, extension, and whatever else you might need.
The service has the data and can do its thing. You can also define other apis the web server can respond to which can stop the copy process or report status on ongoing copies (10 of 15 files copied, etc). You can enhance and augment it however you like.

what would be the best way to store IBM TAM connection parameters in JAVA?

what would be the best way to store IBM TAM connection parameters in JAVA? My application is built on JAVA spring and uses TAM for access management. Inorder to connect to IBM TAM i have a java file that gets value from property file which stores the following values application name, configuration url, registry suffix,tam admin username and tam admin paswword.I dont want to store all these values in java code or property file. Please suggest me whether i can store it in the web application server like storing connection strings.
You can use the server certificate within the configuration file. You will always need to specify the configuration file at minimum. It should look something like this:
Locale myLocale = new Locale("ENGLISH", "US");
PDContext myContext = new PDContext(myLocale, configFileURL);
You will need to create your configuration file using svrsslcfg:
java com.tivoli.pd.jcfg.SvrSslCfg -action config
-admin_id sec_master-admin_pwd secpw
-appsvr_id PDPermissionjapp -appsvr_pwd pw -host jsys.myco.com
-mode remote -port 999 -policysvr ampolicy.myco.com:7135:1
-authzsvr amazn.myco.com:7136:1 -cfg_file c:/am/config_file.conf
-key_file c:/am/keystore_file.ks -domain mydomain -cfg_action create
-certrefresh true
Typically in the environment I administer our developers use the PDContext method using the username+password+config file. We have never used the certificate method. I believe if you use the certificate method, the application would connect as the server's user account that is created when you use the svrsslcfg command. That account would need appropriate permissions within TAM to achieve what it needs to.
At the minimum, you will need to specify somewhere to store the configuration URL. I would strongly encourage you not to hard code the value as it limits the administrators that must maintain the application long term. You may also need a place to store the username+password if you decide that you need to connect as specific user and not the server's TAM user account.
Refer to this document for svrsslcfg options to create the configuration file: http://publib.boulder.ibm.com/infocenter/tivihelp/v2r1/topic/com.ibm.isam.doc_70/ameb_authJava_guide_pdf.pdf
Look at this reference guide for information on how to use PDContext:
https://publib.boulder.ibm.com/infocenter/tivihelp/v2r1/topic/com.ibm.isam.doc_70/ameb_AdminJava_guide_pdf.pdf

Resources