CM Operations Web Service API



Comments



Description

NetAct™ 16.8 CM Operations Web Service API DN09147339 Issue: 2-0 CM Operations Web Service API Disclaimer The information in this document applies solely to the hardware/software product (“Product”) specified herein, and only as specified herein. This document is intended for use by Nokia Solutions and Networks' customers (“You”) only, and it may not be used except for the purposes defined in the agreement between You and Nokia Solutions and Networks (“Agreement”) under which this document is distributed. No part of this document may be used, copied, reproduced, modified or transmitted in any form or means without the prior written permission of Nokia Solutions and Networks. If you have not entered into an Agreement applicable to the Product, or if that Agreement has expired or has been terminated, You may not use this document in any manner and You are obliged to return it to Nokia Solutions and Networks and destroy or delete any copies thereof. The document has been prepared to be used by professional and properly trained personnel, and You assume full responsibility when using it. Nokia Solutions and Networks welcome Your comments as part of the process of continuous development and improvement of the documentation. This document and its contents are provided as a convenience to You. Any information or statements concerning the suitability, capacity, fitness for purpose or performance of the Product are given solely on an “as is” and “as available” basis in this document, and Nokia Solutions and Networks reserves the right to change any such information and statements without notice. Nokia Solutions and Networks has made all reasonable efforts to ensure that the content of this document is adequate and free of material errors and omissions, and Nokia Solutions and Networks will correct errors that You identify in this document. But, Nokia Solutions and Networks' total liability for any errors in the document is strictly limited to the correction of such error(s). Nokia Solutions and Networks does not warrant that the use of the software in the Product will be uninterrupted or error-free. N O WA RRAN T Y OF AN Y KI ND , EI T HER E X P R E S S OR I M P L I E D , I N C L U D I N G B U T N O T L I M I T E D TO A NY WAR RA NT Y OF AVAI LABI LIT Y, AC CU RA C Y, R E L I A B I L I T Y, T I T L E , N O N - I N F R I N G E M E N T, M ER C HANTA BI LI T Y OR F IT N ESS F OR A PA RT IC UL A R P U R P O S E , I S M A D E I N R E L AT I O N TO T H E C ONT ENT O F TH IS DO CU M EN T. IN N O E V E N T W I L L N O K I A S O L U T I O N S A N D N E T W O R K S B E L IA BLE F O R AN Y DA M A GES, I NC LUD IN G B U T N OT L I M I T E D TO S P E C I A L , D I R E C T, I N D I R E C T, I NC I DENTAL OR CO NS EQ UEN T IAL OR AN Y L OS S E S , S U C H A S B U T N O T L I M I T E D TO L O S S O F PRO FI T, RE VEN UE , BU SI NESS IN T ER RU P T I ON , B U S I N E S S O P P O RT U N I T Y O R D ATA T H AT M AY ARI SE FRO M T H E US E O F T H IS DO CU M E N T O R T HE I N F O R M AT I O N I N I T, E V E N I N T H E C A S E O F ERR O RS I N OR OM I SSI ON S F RO M T H IS DO CU M E N T O R I T S C O N T E N T. This document is Nokia Solutions and Networks’ proprietary and confidential information, which may not be distributed or disclosed to any third parties without the prior written consent of Nokia Solutions and Networks. Nokia is a registered trademark of Nokia Corporation. Other product names mentioned in this document may be trademarks of their respective owners, and they are mentioned for identification purposes only Copyright © 2016 Nokia Solutions and Networks. All rights reserved. Important Notice on Product Safety This product may present safety risks due to laser, electricity, heat, and other sources of danger. Only trained and qualified personnel may install, operate, maintain or otherwise handle this product and only after having carefully read the safety information applicable to this product. The safety information is provided in the Safety Information section in the “Legal, Safety and Environmental Information” part of this document or documentation set. Nokia Solutions and Networks is continually striving to reduce the adverse environmental effects of its products and services. We would like to encourage you as our customers and users to join us in working towards a cleaner, safer environment. Please recycle product packaging and follow the recommendations for power use and proper disposal of our products and their components. If you should have questions regarding our Environmental Policy or any of the environmental services we offer, please contact us at Nokia Solutions and Networks for any additional information. CM Operations Web Service API Table of Contents Contents 1 About CM Operations web service API........................................................................................................ 4 1.1 Terms......................................................................................................................................................... 5 2 Firewall settings...............................................................................................................................................7 3 Executing operations...................................................................................................................................... 8 3.1 Viewing operation metadata..................................................................................................................... 8 3.2 Scheduling operations.............................................................................................................................10 3.2.1 Date and time formats....................................................................................................................13 3.2.2 Period format.................................................................................................................................. 13 3.3 Starting operations.................................................................................................................................. 14 3.3.1 Requesting change events and feedback...................................................................................... 14 3.3.2 Using required and optional attributes........................................................................................... 17 3.3.3 Executing standard Configurator operations.................................................................................. 18 3.3.4 Executing your own workflow operations....................................................................................... 19 3.4 Interrupting operations............................................................................................................................ 20 4 Appendix: web service definitions.............................................................................................................. 22 4.1 WSDL file defining services.................................................................................................................... 22 4.2 XSD file defining common elements.......................................................................................................25 4.3 XSD file defining data model.................................................................................................................. 27 4.4 XSD file defining notifications................................................................................................................. 32 4.5 XSD file defining operations................................................................................................................... 36 3 CM Operations Web Service API About CM Operations web service API 1 About CM Operations web service API CM Operations web service API is a web service interface towards NetAct Configurator. For information on the Configurator command line interface operations that can be run with the racclimx. CM Operations web service API uses HTTP basic authentication.1 (Simple Object Access Protocol) and it promotes service-oriented architecture (SOA). With CM Operations web service API you can run quickly the same operations as in the racclimx. DN09147339 2-0 © 2016 Nokia Solutions and Networks 4 . The CM Operations web service API interface is based on SOAP 1. By using this interface you can execute all standard Configurator operations as well as your own customized work- flows. you must provide valid NetAct credentials.sh command line interface. To be able to use the interface. In the figure below you can see the overview of the CM Operations web service API interface.sh command line interface. By using the CM Operations web service API in- terface it is possible to integrate Configurator with other tools utilizing SOA principles. see Command Line Operations. DN09147339 2-0 © 2016 Nokia Solutions and Networks 5 . see document CM Data Repository Web Service API.CM Operations Web Service API About CM Operations web service API Figure 1: CM Operations web service API interface overview Note that you can use also the CM Data Repository web service API interface in Configurator.wsdl. CM Operations web service API WSDL document is available under the following path:http://<cluster host name>/netact/cm/open-api/operations/ OpenCmOperationsServiceSOAP/WEB-INF/wsdl/OpenCmOperationsService. For in- formation on this interface. Note: The above entry does not contain any newline characters. 1 Terms The following table lists some terms and concepts specific to this document. Term or abbreviation Description API Application Programming Interface CM Configuration Management CRUD Create.CM Operations Web Service API About CM Operations web service API 1. Read. Update and Delete MO Managed Object MOC Managed Object Class SOA Service Oriented Architecture SOAP Simple Object Access Protocol WSDL Web Services Description Language XSD XML Schema Definitions Table 1: Terms used in this document DN09147339 2-0 © 2016 Nokia Solutions and Networks 6 . Description nodes port protocol object col External NMS ephemeral LB WAS vir. Transport Destination Destination Communication Service Source Source port layer proto. Used only if explicitly cho- sen by external NMS WebSphere ephemeral External External HTTP/HTTPS TCP Port on external NMS NMS NMS de. (External NMS for receiving feedback cides decides) and status notifica- tions from NetAct Table 2: Firewall settings DN09147339 2-0 © 2016 Nokia Solutions and Networks 7 . • Open the firewall of NetAct to enable the connection and triggering operations from external NMS. The required firewall settings are specified in the table below.CM Operations Web Service API Firewall settings 2 Firewall settings Before an external NMS can communicate with NetAct through CM Operations Web Service API. 443 HTTPS TCP httpd Port for secure com- tual IP munication between external NMS and the API endpoint External NMS ephemeral LB WAS vir. you need to perform the following tasks: • Open the firewall of an external NMS. 80 HTTP TCP httpd Port for insecure com- tual IP munication between external NMS and the API endpoint. 1 Viewing operation metadata By using the getMetadata request you can view a list of all the operations that can be run with CM Operations web service API. see the documents under the Configuration Management Operating Procedures category in the NetAct operating documentation.sh command line interface. With the API it is possible to execute all the same operations that are available via the Configurator command line interface and graphical user interface.xmlsoap. you can execute Configurator standard opera- tions and your own customized workflows. for example -fileName). Each definition comprises of an attribute type and its description.CM Operations Web Service API Executing operations 3 Executing operations By using the CM Operations web service API interface. You can execute the following operations with CM Operations web service API: • getMetadata for listing all the operations that can be run with the API and their definitions • startOperation for starting operations and receiving status change events and feedback from your started operations • interruptOperation for sending interrupt requests to Configurator operations. getMetadata does not give information about the mandatory and optional attributes. 3. Here is an example file of a getMetadata request: <soapenv:Envelope xmlns:soapenv="http://schemas.org/soap/ envelope/" xmlns:oper="http://www. For information on the Configurator command line interface operations that can be run with the racclimx. However. see Command Line Operations. the API provides clear error messages if an operation is triggered without the mandatory parameters. for example Import_Export) • Operation definition description • Definitions of attributes used by a particular operation (input parameter used by this operation. The getMetadata response gives information on the following: • Operation definition name (name of the operation command.nsn. For information on the Configurator operations that can be run from the Configurator user interface ap- plications (for example Workflow Engine).com/schemas/public/cm/open-api/ operations/operations"> <soapenv:Header/> <soapenv:Body> <oper:GetMetadataRequest/> </soapenv:Body> </soapenv:Envelope> DN09147339 2-0 © 2016 Nokia Solutions and Networks 8 . CM Operations Web Service API Executing operations Here is an example file of a getMetadata response: <soapenv:Envelope xmlns:soapenv="http://schemas.com/schemas/public/cm/open- api/operations/notification" xmlns:d="http://www.nsn. object operation in auto configuration plan is set like defined in import file.com/schemas/public/cm/open- api/operations/model" xmlns:c="http://www.org/soap/ envelope/"> <soapenv:Body> <d:GetMetadataResponse xmlns:a="http://www.xmlsoap.</b:description> </b:attributeDef> <b:attributeDef name="UIValues" type="Boolean"> <b:description>When UI values is selected on true then importer will use UI values during import. BTS plan will include SC and TRS portions.nsn.com/schemas/public/ cm/open-api/common" xmlns:b="http://www.nsn.Create configuration plan"> <b:description>To create configuration plan for new BTS(s) by importing generic plan import if RAML or CSV plan file. create operation is set.</b:description> </b:attributeDef> </b:attributeDefs> DN09147339 2-0 © 2016 Nokia Solutions and Networks 9 .</b:description> </b:attributeDef> <b:attributeDef name="csvProfileFileChooser" type="String"> <b:description>Browse File System to specify profile file name.</b:description> <b:attributeDefs> <b:attributeDef name="createPlan" type="String"> <b:description>Specifies the name of a plan to be created. object operation is set based on object existence in NetAct database.nsn. Note that only create operation is possible in auto configuration.</b:description> </b:attributeDef> <b:attributeDef name="fileFormat" type="String"> <b:description>Indicate CSV or RAML2 file format</b:description> </b:attributeDef> <b:attributeDef name="useObjectOperationDefinedInImportFile" type="Boolean"> <b:description>When Yes is selected.</b:description> </b:attributeDef> <b:attributeDef name="fileChooser" type="String"> <b:description>Browse File System to specify input file name. If operation is missing from import file. When No is selected.com/schemas/public/ cm/open-api/operations/operations"> <a:errorCode>OK</a:errorCode> <d:result> <b:operationDefs> <b:operationDef defName="BTS . com/schemas/public/cm/open-api/operations/ operations" xmlns:mod="http://www. which may be placed in each StartOperationRequest to define a schedule to be used with the requested operation.com/schemas/public/cm/open-api/operations/ notification"> <soapenv:Header/> <soapenv:Body> <oper:StartOperationRequest> <mod:operation defName="Import_Export"> <mod:attributeBindings> <mod:attributeBinding name="importExportOperation" type="SIMPLE_VALUE">actualExport</mod:attributeBinding> <mod:attributeBinding name="fileName" type="SIMPLE_ VALUE">actual_test_export.CM Operations Web Service API Executing operations </b:operationDef> […] </b:operationDefs> </d:result> </d:GetMetadataResponse> </soapenv:Body> </soapenv:Envelope> 3.2 Scheduling operations There is an optional schedule element.xmlsoap.org/soap/envelope/" DN09147339 2-0 © 2016 Nokia Solutions and Networks 10 .xmlsoap.w3.org/soap/envelope/" xmlns:oper="http://www.com/schemas/public/cm/open-api/operations/ model" xmlns:not="http://www.org/ 2001/XMLSchema-instance"/> </oper:StartOperationRequest> </soapenv:Body> </soapenv:Envelope> • DailySchedule <soapenv:Envelope xmlns:soapenv="http://schemas.nsn.nsn.xml</mod:attributeBinding> <mod:attributeBinding name="DN" type="SIMPLE_ VALUE">PLMN-PLMN/BSC-66117</mod:attributeBinding> </mod:attributeBindings> </mod:operation> <mod:schedule dateTime="2014-07-03T13:38:29" xsi:type="mod:SingleExecutionSchedule" xmlns:xsi="http://www.nsn. Below you can see examples of the available schedule types: • SingleExecutionSchedule <soapenv:Envelope xmlns:soapenv="http://schemas. org/soap/envelope/" xmlns:oper="http://www.nsn.nsn.com/schemas/public/cm/open-api/operations/ model" xmlns:not="http://www.CM Operations Web Service API Executing operations xmlns:oper="http://www.com/schemas/public/cm/open-api/operations/ notification"> <soapenv:Header/> <soapenv:Body> <oper:StartOperationRequest> <mod:operation defName="Import_Export"> <mod:attributeBindings <mod:attributeBinding name="importExportOperation" type="SIMPLE_VALUE">actualExport</mod:attributeBinding> <mod:attributeBinding name="fileName" type="SIMPLE_ VALUE">actual_test_export.org/2001/XMLSchema-instance"> </mod:schedule> </oper:StartOperationRequest> </soapenv:Body> </soapenv:Envelope> • WeeklySchedule <soapenv:Envelope xmlns:soapenv="http://schemas.com/schemas/public/cm/open-api/operations/ notification"> <soapenv:Header/> <soapenv:Body> <oper:StartOperationRequest> <mod:operation defName="Import_Export"> <mod:attributeBindings> <mod:attributeBinding name="importExportOperation" type="SIMPLE_VALUE">actualExport</mod:attributeBinding> <mod:attributeBinding name="fileName" type="SIMPLE_ VALUE">actual_test_export.xml</mod:attributeBinding> <mod:attributeBinding name="DN" type="SIMPLE_ VALUE">PLMN-PLMN/BSC-66117</mod:attributeBinding> </mod:attributeBindings> </mod:operation> DN09147339 2-0 © 2016 Nokia Solutions and Networks 11 .nsn.xmlsoap.com/schemas/public/cm/open-api/operations/ operations" xmlns:mod="http://www.w3.nsn.nsn.com/schemas/public/cm/open-api/operations/ model" xmlns:not="http://www.com/schemas/public/cm/open-api/operations/ operations" xmlns:mod="http://www.xml</mod:attributeBinding> <mod:attributeBinding name="DN" type="SIMPLE_ VALUE">PLMN-PLMN/BSC-66117</mod:attributeBinding> </mod:attributeBindings> </mod:operation> <mod:schedule start="2014-06-25T19:46:49" end="2014-07-25" timeOfDay="17:46:11" xsi:type="mod:DailySchedule" xmlns:xsi="http:// www.nsn. com/schemas/public/cm/open-api/operations/ notification"> <soapenv:Header/> <soapenv:Body> <oper:StartOperationRequest> <mod:operation defName="Import_Export"> <mod:attributeBindings> <mod:attributeBinding name="importExportOperation" type="SIMPLE_VALUE">actualExport</mod:attributeBinding> <mod:attributeBinding name="fileName" type="SIMPLE_ VALUE">actual_test_export.nsn.com/schemas/public/cm/open-api/operations/ operations" xmlns:mod="http://www.nsn.w3.org/soap/envelope/" xmlns:oper="http://www.org/soap/envelope/" xmlns:oper="http://www.org/2001/XMLSchema-instance"> <mod:weekday>Mon</mod:weekday> <mod:weekday>Sun</mod:weekday> </mod:schedule> </oper:StartOperationRequest> </soapenv:Body> </soapenv:Envelope> • MonthlySchedule <soapenv:Envelope xmlns:soapenv="http://schemas.w3.com/schemas/public/cm/open-api/operations/ model" DN09147339 2-0 © 2016 Nokia Solutions and Networks 12 .org/2001/XMLSchema-instance"> </mod:schedule> </oper:StartOperationRequest> </soapenv:Body> </soapenv:Envelope> • IntervalSchedule <soapenv:Envelope xmlns:soapenv="http://schemas.com/schemas/public/cm/open-api/operations/ operations" xmlns:mod="http://www.com/schemas/public/cm/open-api/operations/ model" xmlns:not="http://www.nsn.xml</mod:attributeBinding> <mod:attributeBinding name="DN" type="SIMPLE_ VALUE">PLMN-PLMN/BSC-66117</mod:attributeBinding> </mod:attributeBindings> </mod:operation> <mod:schedule start="2014-06-25T19:46:48" end="2014-07-25" timeOfDay="17:46:59" dayOfMonth="1" xsi:type="mod:MonthlySchedule" xmlns:xsi="http://www.CM Operations Web Service API Executing operations <mod:schedule start="2014-06-25T19:46:49" end="2014-07-25" timeOfDay="17:46:49" xsi:type="mod:WeeklySchedule" xmlns:xsi="http:// www.nsn.xmlsoap.xmlsoap.nsn. Note: The above date and time formats support time zone information.CM Operations Web Service API Executing operations xmlns:not="http://www.nsn.org/2001/XMLSchema-instance"> </mod:schedule> </oper:StartOperationRequest> </soapenv:Body> </soapenv:Envelope> The schedule reflects the types of the schedules available in the racclimx. is compliant with the time type defined in the XML schema specification (which is referred to as xs:time ). if no time zone is specified. 3.w3.2. for example time in the xs:time format is 18:32:00. for example date in the xs:dateTime format is 2011-11-03T18:32:00. then the time is treated as if it was in NetAct server's time zone. the time format which is used to represent a time during a day.2. 3. DN09147339 2-0 © 2016 Nokia Solutions and Networks 13 . For more information on xs:dateTime and xs:dateformat.2 Period format The period format used in IntervalSchedule is also following the duration type definition in the XML Schema language specification (referred to as xs:duration). part 2 of the specification of the XML schema language. Similarly. However. see XML Schema: Datatypes.1 Date and time formats The date format used in schedules is compliant with the dateTime type defined in the XML schema language specification (which is referred to as xs:dateTime).com/schemas/public/cm/open-api/operations/ notification"> <soapenv:Header/> <soapenv:Body> <oper:StartOperationRequest> <mod:operation defName="Import_Export"> <mod:attributeBindings> <mod:attributeBinding name="importExportOperation" type="SIMPLE_VALUE">actualExport</mod:attributeBinding> <mod:attributeBinding name="fileName" type="SIMPLE_ VALUE">actual_test_export.xml</mod:attributeBinding> <mod:attributeBinding name="DN" type="SIMPLE_ VALUE">PLMN-PLMN/BSC-66117</mod:attributeBinding> </mod:attributeBindings> </mod:operation> <mod:schedule start="2014-06-25T19:46:26" end="2014-07-25" interval="P2M10D" xsi:type="mod:IntervalSchedule" xmlns:xsi="http:// www.sh command line interface. xmlsoap.com/schemas/public/ cm/open-api/operations/notification"> <soapenv:Header/> <soapenv:Body> <oper:StartOperationRequest> <mod:operation defName="Import_Export"> <mod:attributeBindings> <mod:attributeBinding name="importExportOperation">planExport</mod:attributeBinding> <mod:attributeBinding name="planName">my plan</ mod:attributeBinding> DN09147339 2-0 © 2016 Nokia Solutions and Networks 14 . In the following file example. For more information on xs:duration.1 Requesting change events and feedback Status change events and feedback can be requested to be sent to a particular callback URL (called notification URL). see the XML Schema: Datatypes.com/schemas/public/cm/ open-api/operations/model" xmlns:not="http://www. This ID can be later used to interrupt the operation. 3.0 version or onwards for the attachments to function properly in the statuses. This ID can be used to distinguish feedback and statuses from different operations even if the client uses the same notification URL for different requests.nsn. you can see the notificationURL and notificationId in the startOperation request: <soapenv:Envelope xmlns:soapenv="http://schemas. Note: If the callback feedback interface is implemented based on Java.nsn. it is recommended to use the Jax-WS 2.nsn. which is provided in the notificationURL parameter. part 2 of the specification of the XML Schema language.org/soap/ envelope/" xmlns:oper="http://www. In the startOperation request you can provide a client-specific ID (notificationId) that is sent back with every status change notification and feedback.3.CM Operations Web Service API Executing operations For example.2. the interval duration of 136 hours and 22 minutes may be expressed in the following form: 136:22 and xs:duration in format: PT136H22M. The client receives a unique execution ID (executionId) assigned by Configurator. 3.com/schemas/public/cm/open-api/ operations/operations" xmlns:mod="http://www. The client needs to implement this callback interface according to the WSDL definition (OpenCmOperationsNotification).3 Starting operations By using the startOperation request you can start operations and receive status change events and feedback from your started operations. operation finished without errors • FAILED .nsn.nsn.com/schemas/public/cm/open-api/ DN09147339 2-0 © 2016 Nokia Solutions and Networks 15 .com/schemas/public/cm/ open-api/common" xmlns:b="http://www.nsn.operation finished with errors (possibly prematurely).org/soap/ envelope/"> <soapenv:Body> <c:FeedbackNotification xmlns:a="http://www. but it was not started • STARTED .573+03:00" c:executionId="2773"/> </c:StatusNotification> </soapenv:Body> </soapenv:Envelope> The following file example shows an ERROR feedback: <soapenv:Envelope xmlns:soapenv="http://schemas.interrupt request was received and acknowledged by Configurator • INTERRUPTED .nsn.com/schemas/public/cm/open-api/ operations/model" xmlns:c="http://www.CM Operations Web Service API Executing operations </mod:attributeBindings> </mod:operation> <not:notificationDescriptor> <not:notificationURL>http://host:8000/ OpenCmOperationsNotificationPortBinding?wsdl</not:notificationURL> <not:notificationId>client_notification_id</ not:notificationId> </not:notificationDescriptor> </oper:StartOperationRequest> </soapenv:Body> </soapenv:Envelope> Each status change event contains one of the following statuses: • CREATED . The following file example shows a STARTED status notification: <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap. as it is not part of this interface con- tract. Config- urator can change the content of the feedback without any notice.nsn.com/schemas/public/cm/ open-api/common" xmlns:b="http://www. Feedback provides only additional information and they should not be used to control the execution flow.operation was started • INTERRUPTING .org/soap/ envelope/"> <soapenv:Body> <c:StatusNotification xmlns:a="http://www.operation was created in Configurator.com/schemas/public/cm/open-api/ operations/notification" xmlns:d="http://www.com/schemas/public/cm/ open-api/operations/operations" c:clientNotificationId="10001"> <c:status type="STARTED" timestamp="2014-04-07T13:50:22.operation was successfully interrupted • FINISHED .nsn. Receiving status change events is a primary way to determine the current operation status.xmlsoap. java:495) at com.WorkProxy$RunWork.com/schemas/public/cm/ open-api/operations/operations" c:clientNotificationId="10001"> <c:feedbacks> <c:feedback type="ERROR" timestamp="2014-04-07T13:50:22.ibm.rac.work.java:1702) </c:textDetail> </c:feedback> </c:feedbacks> </c:FeedbackNotification> DN09147339 2-0 © 2016 Nokia Solutions and Networks 16 .auth. at com.AccessController. dispatch(SibRaDispatcher.ThreadPool$Worker.ejs.lang.WorkProxy$RunWork. java:298) at javax.nokia.ibm.ibm.run(WorkProxy.oss.java:233) at com.util.ws.rac.jmsra.java:95) at com.configurator.SibRaDispatcher.nsn.doAs(Subject.doPrivileged(AccessController.ejs.j2c.configurator.java:260) at com.ibm.oss.ws. startCmdLineOperation(PlanExporter. java:132) at com. java:34) at com.planmanager. PlanExporterArgumentsHandler.ibm.nokia.673+03:00" c:executionId="2773" c:workUnitId="10110" c:workUnitName="importExport"> <c:title>Operation planExport failed</c:title> <c:textDetail>java.inbound.ibm.operationmanager.WSSubject.getPlanId(PlanExporterArgumentsHandler.java:63) at com.impl.websphere. doPrivileged(AccessController.j2c.java:244) at com.impl.MessageEndpointHandler.security.security.ejs.configurator.ejs.CM Operations Web Service API Executing operations operations/model" xmlns:c="http://www.SibRaSingleProcessListener $SibRaWork.MessageEndpointHandler.configurator.sib.j2c.nokia.java:901) at com.ejs.planmanager.ws.$Proxy216.rac. invokeMdbMethod(MessageEndpointHandler.java:552) at com.CMOperationsManagerBean.java:842) at com. planmanager. CMOperationsManagerBean.operationmanager.rac.security.oss.ibm.com/schemas/public/cm/open-api/ operations/notification" xmlns:d="http://www.rac. performOperationAndSendStatusMessage(CMOperationsManagerBean.doAs(WSSubject.work.configurator.ibm.java:216) at com.oss.PlanExporter.oss.oss.work.proxy.container.RuntimeException: error: Specified plan is not found in the database.planmanager.util.ibm.WorkProxy. Please check the plan name.java:606) at com.impl.onMessage(Unknown Source) at com.Subject.run(ThreadPool.auth.ibm. java:364) at com.AccessController.ra.nokia.operationmanager. invoke(MessageEndpointHandler.sun.api.ws. CMOperationsManagerBean.argumentsHandler.planmanager.planmanager.security.ra.inbound.run(WorkProxy.operationmanager. invokeEndpoint(JmsJcaEndpointInvokerImpl.configurator.rac.JmsJcaEndpointInvokerImpl.nokia.run(WorkProxy.container.onMessage(CMOperationsManagerBean.initAndStartOperation(CMOperationsManagerBean.ws.run(SibRaSingleProcessListener.java:1163) at com.ibm.sib.processMessage(CMOperationsManagerBean.nokia.nsn.java:257) at java.java:128) at com. CMOperationsManagerBean.sib. A proper sign- er certificate from the callback server must exist in the local trust store of operations server. see Hardening for NetAct applications and services in the Administering NetAct System Security document. This path is saved in the operation attribute with the INBOUND_ATTACHMENT_REF type. in the request message.2 Using required and optional attributes To start an operation with CM Operations web service API you have to provide an operation definition name in the command. the file is stored in the following shared location: /var/opt/oss/global/racops/work/ (in a virtual machine where the was-<nodename> service is running). The proper attributes for each operation are specified in the metadata. files DN09147339 2-0 © 2016 Nokia Solutions and Networks 17 .CM Operations Web Service API Executing operations </soapenv:Body> </soapenv:Envelope> You can specify notificationURL using HTTPS connection. the file is attached to the last FINISHED status. For more information on managing certificates. For example: <not:notificationURL>https://host:8000/ OpenCmOperationsNotificationPortBinding?wsdl</not:notificationURL> When you use the HTTPS connection. you can provide an operation execution name (client- specific name) and the values bound to the operation attributes (attributeBindings). You can provide one attached file. in the environments with many nodes. The INBOUND_ATTACHMENT_REF and OUTBOUND_ATTACHMENT_REF attributes are functional only when they provide a path to the file. You can get the operation definition names from the metadata by using the getMetadata request. When a file is attached to your request and one OUTBOUND_ATTACHMENT_REF attribute is included in the request. you can save the attachments in advance and give the attachment paths in the proper attributes. The OUTBOUND_ATTACHMENT_REF in the request message is applicable when notifications are enabled. in the request message. in contrast to the INBOUND_ATTACHMENT_REF attribute. an INBOUND_ATTACHMENT_REF type or an OUTBOUND_ATTACHMENT_REF type. If you do not want to attach files to your requests. However.3. INBOUND_ATTACHMENT_REF. the file is stored in the following shared location: /var/opt/oss/global/racops/work/ (in a virtual machine where the was-<nodename> service is running). The server with imple- mented callback interface must authenticate with the server which starts the operations. you need a proper SSL configuration. When a file is attached to your request and one INBOUND_ATTACHMENT_REF attribute is included in the request. If you do not provide the value of a mandatory parameter. Optionally. 3. OUTBOUND_ATTACHMENT_REF. Some attributes are optional. However. you receive a clear message about it. This path is saved in the operation attribute with the OUTBOUND_ATTACHMENT_REF type. You can provide one attached file. Each attribute value can have either a SIMPLE_VALUE . Here is an example on how to execute a plan import operation with the CM Operations web service API interface.xml</ns2:inputContent> </ns2:StartOperationRequest> </ns1:Body> </SOAP-ENV:Envelope> DN09147339 2-0 © 2016 Nokia Solutions and Networks 18 .org/soap/envelope/"> <SOAP-ENV:Header/> <ns1:Body> <ns2:StartOperationRequest> <ns0:operation defName="Import_Export" executionName="Testing"> <ns0:attributeBindings> <ns0:attributeBinding name="importExportOperation" type="SIMPLE_VALUE">planImport</ns0:attributeBinding> <ns0:attributeBinding name="inputFile" type="INBOUND_ ATTACHMENT_REF"></ns0:attributeBinding> <ns0:attributeBinding name="planName" type="SIMPLE_ VALUE">testiplan</ns0:attributeBinding> </ns0:attributeBindings> </ns0:operation> <ns2:inputContent>test.xmlsoap. as a response you re- ceive an OK as acknowledgement and an execution identifier. CM Operations web service API can be accessed at http://<cluster hostname>/netact/cm/ open-api/operations/OpenCmOperationsServiceSOAP.nsn.w3.3. If the operation fails.3 Executing standard Configurator operations You can execute all the Configurator standard operations that can be run with the racclimx.sh command line interface and from the Configurator user interface applications. Web service API validation checks only the format and not the content of the command.com/schemas/public/cm/ open-api/operations/model" xmlns:ns1="http://schemas. since the operation has not even started due to the invalid command in the web service API validation. so that they would be available under the same path in each node.nsn. If the format of the command is not valid.org/soap/ envelope/" xmlns:ns2="http://www. you can get output ERR_ILLEGAL_ARGUMENT. In this example a plan is attached in the command. and that is why the INBOUND_ATTACHMENT_REF type is used with the fileName attribute binding name.com/schemas/public/cm/open-api/ operations/operations" xmlns:xsi="http://www. You have to use the correct NetAct credentials.CM Operations Web Service API Executing operations should be stored in a shared location. 3. you receive a different error code and a Java stack trace describing the cause of the failure. for example a wrong argument name.org/2001/XMLSchema- instance" xmlns:SOAP-ENV="http://schemas. If an operation is created successfully and the starting command format is valid. This is still not a FAILED status notification. <SOAP-ENV:Envelope xmlns:ns0="http://www.xmlsoap. org/2001/XMLSchema- instance" xmlns:SOAP-ENV="http://schemas. For information on creating customized workflow operations. see Creating a customized operation list."/> DN09147339 2-0 © 2016 Nokia Solutions and Networks 19 ."/> <variable name="feedbackLevel" datatype="String" mandatory="false" default="summaryLevel" uiname="Level of Feedback" desc="Specify the level of feedback.nsn.com/schemas/public/cm/ open-api/operations/model" xmlns:ns1="http://schemas. These instructions are related to Rehosting Tool.nsn."> <variable name="DN" datatype="String[]" mandatory="false" desc="Specify the scope of the operation.org/soap/envelope/"> <SOAP-ENV:Header/> <ns1:Body> <ns2:StartOperationRequest> <ns0:operation defName="Policy_Based_Compare" executionName="Testing"> <ns0:attributeBindings> <ns0:attributeBinding name="DN" type="SIMPLE_VALUE">PLMN- region1</ns0:attributeBinding> </ns0:attributeBindings> </ns0:operation> </ns2:StartOperationRequest> </ns1:Body> </SOAP-ENV:Envelope> 3.w3.3.com/schemas/public/cm/open-api/ operations/operations" xmlns:xsi="http://www. <SOAP-ENV:Envelope xmlns:ns0="http://www.xmlsoap.xmlsoap. You can define your customized workflow operation in the /etc/opt/oss/global/custom/conf/ rac/opdefs/ops/operations/ folder.4 Executing your own workflow operations You can execute your own workflow operations with the CM Operations web service API interface.CM Operations Web Service API Executing operations The following example shows how to to execute a standard Policy-based compare workflow operation with the CM Operations web service API interface. <ops> <operationInfo type="CMPlanImport" name="PlanImport" description="PlanImport. Here you can see an example file where the importExportOperation is hardcoded to be planImport. but you can use them as a basis for creating your own workflows.org/soap/ envelope/" xmlns:ns2="http://www."/> <variable name="planName" datatype="String" mandatory="false" uiname="Plan Name" desc="Specifies a plan name. CM Operations Web Service API Executing operations <variable name="inputFile" mandatory="false" datatype="String" uiname="File Name" desc="Specifies a file name.org/soap/ envelope/" xmlns:ns2="http://www.org/soap/envelope/"> <SOAP-ENV:Header/> <ns1:Body> <ns2:StartOperationRequest> <ns0:operation defName="CMPlanImport" executionName="Testing"> <ns0:attributeBindings> <ns0:attributeBinding name="inputFile" type="INBOUND_ ATTACHMENT_REF"></ns0:attributeBinding> <ns0:attributeBinding name="planName" type="SIMPLE_ VALUE">testiplani</ns0:attributeBinding> </ns0:attributeBindings> </ns0:operation> <ns2:inputContent>test."/> <operationDef type="Import Export" operation="importExport" scope="${DN}"> <attr name="feedbackLevel">${feedbackLevel}</attr> <attr name="planName">${planName}</attr> <attr name="importExportOperation">planImport</attr> <attr name="inputFile">${inputFile}</attr> </operationDef> </operationInfo> </ops> Here is an example of a customized plan import workflow operation.com/schemas/public/cm/open-api/ operations/operations" xmlns:xsi="http://www. since it is up to Configurator when and if the operation is interrupted.nsn. The client should listen to state change events to determine what is happening with the operation.nsn.org/2001/XMLSchema- instance" xmlns:SOAP-ENV="http://schemas.xmlsoap.xmlsoap. However. <SOAP-ENV:Envelope xmlns:ns0="http://www.w3. With the interrupt request the client needs to send the execution ID (executionId) which is assigned by Configurator and received at the operation start. In case of planImport or templateImport this parameter or inputFile must be specified.com/schemas/public/cm/ open-api/operations/model" xmlns:ns1="http://schemas. If sending the execution ID finishes normally it DN09147339 2-0 © 2016 Nokia Solutions and Networks 20 . A plan is attached in the command. an interrupt is not always guaranteed by this request.4 Interrupting operations By using the interruptOperation request you can send interrupt requests to Configurator operations by using the CM Operations web service API interface. and that is why the INBOUND_ATTACHMENT_REF type is used with the inputFile attribute binding name.xml</ns2:inputContent> </ns2:StartOperationRequest> </ns1:Body> </SOAP-ENV:Envelope> 3. nsn.xmlsoap. If there are some problems during the interrupt request an exception is thrown.org/soap/ envelope/" xmlns:oper="http://www.CM Operations Web Service API Executing operations means that the interrupt request was accepted by Configurator.nsn.com/schemas/public/cm/open-api/ operations/operations" xmlns:mod="http://www. Here is an example of an interrupt operation executed with the CM Operations web service API interface: <soapenv:Envelope xmlns:soapenv="http://schemas.com/schemas/public/cm/ open-api/operations/model"> <soapenv:Header/> <soapenv:Body> <oper:InterruptOperationRequest> <mod:executionId>72855</mod:executionId> </oper:InterruptOperationRequest> </soapenv:Body> </soapenv:Envelope> DN09147339 2-0 © 2016 Nokia Solutions and Networks 21 . com/schemas/public/cm/open- api/operations/model" schemaLocation="OpenCmOperations_model. xsd"/> </xsd:schema> DN09147339 2-0 © 2016 Nokia Solutions and Networks 22 .1/xsd" schemaLocation="swaref.interfaces.nsn.com/schemas/public/cm/open-api/ operations/notification" name="OpenCmOperationsService" targetNamespace="http://www.org/profiles/basic/1.nsn.1 WSDL file defining services <wsdl:definitions xmlns:soap="http://schemas. 4.CM Operations Web Service API Appendix: web service definitions 4 Appendix: web service definitions The following file examples show WSDL and XSD file examples.com/schemas/public/cm/open-api/ operations/OpenCmOperationsService/"> <jaxws:bindings xmlns:jaxws="http://java.xsd"/> </xsd:schema> <xsd:schema> <xsd:import namespace="http://www.cm.com/schemas/public/cm/open- api/common" schemaLocation="OpenCm_common.com/schemas/public/cm/open-api/ operations/OpenCmOperationsService/" xmlns:wsdl="http://schemas.nsn.org/2001/XMLSchema" xmlns:ns1="http://www.xmlsoap.nsn.xsd"/> </xsd:schema> <xsd:schema> <xsd:import namespace="http://www.operations"/> </jaxws:bindings> <wsdl:types> <xsd:schema> <xsd:import namespace="http://ws-i.nsn.w3.nsn.nsn.open.com/xml/ns/jaxws"> <jaxws:package name="com.sun.xsd"/> </xsd:schema> <xsd:schema> <xsd:import namespace="http://www.com/schemas/public/cm/ open-api/operations/notification" schemaLocation="OpenCmOperations_ notification.org/wsdl/soap/" xmlns:tns="http://www.com/schemas/public/cm/open- api/operations/operations" schemaLocation="OpenCmOperations_operations.xsd"/> </xsd:schema> <xsd:schema> <xsd:import namespace="http://www.nsn.org/wsdl/" xmlns:xsd="http://www.nsn.xmlsoap.com/schemas/public/cm/open-api/ operations/operations" xmlns:ns2="http://www. using the provided attribute bindings.CM Operations Web Service API Appendix: web service definitions </wsdl:types> <wsdl:message name="getMetadataRequest"> <wsdl:part name="parameters" element="ns1:GetMetadataRequest"></ wsdl:part> </wsdl:message> <wsdl:message name="getMetadataResponse"> <wsdl:part name="parameters" element="ns1:GetMetadataResponse"></ wsdl:part> </wsdl:message> <wsdl:message name="startOperationRequest"> <wsdl:part name="parameters" element="ns1:StartOperationRequest"> <wsdl:documentation>Issues a request to start an new operation.</wsdl:documentation> <wsdl:input message="tns:startOperationRequest"></wsdl:input> <wsdl:output message="tns:startOperationResponse"></ wsdl:output> </wsdl:operation> DN09147339 2-0 © 2016 Nokia Solutions and Networks 23 .</ wsdl:documentation></wsdl:part> </wsdl:message> <wsdl:message name="startOperationResponse"> <wsdl:part name="parameters" element="ns1:StartOperationResponse"></ wsdl:part> </wsdl:message> <wsdl:message name="statusNotification"> <wsdl:part name="parameters" element="ns2:StatusNotification"></ wsdl:part> </wsdl:message> <wsdl:message name="feedbackNotification"> <wsdl:part name="parameters" element="ns2:FeedbackNotification"></ wsdl:part> </wsdl:message> <wsdl:message name="interruptOperationRequest"> <wsdl:part name="parameters" element="ns1:InterruptOperationRequest"> <wsdl:documentation>Issues a request to interrupt an ongoing operation.</wsdl:documentation></wsdl:part> </wsdl:message> <wsdl:message name="interruptOperationResponse"> <wsdl:part name="parameters" element="ns1:InterruptOperationResponse"></wsdl:part> </wsdl:message> <wsdl:portType name="OpenCmOperationsPortType"> <wsdl:operation name="getMetadata"> <wsdl:documentation>Returns metadata of available operations. </wsdl:documentation> <wsdl:input message="tns:getMetadataRequest"></wsdl:input> <wsdl:output message="tns:getMetadataResponse"></wsdl:output> </wsdl:operation> <wsdl:operation name="startOperation"> <wsdl:documentation>Issues a request to start an new operation. com/schemas/public/cm/open-api/ operations/OpenCmOperationsService/interruptOperation" /> <wsdl:input> <soap:body use="literal" /> DN09147339 2-0 © 2016 Nokia Solutions and Networks 24 .</wsdl:documentation> <wsdl:input message="tns:interruptOperationRequest"></ wsdl:input> <wsdl:output message="tns:interruptOperationResponse"></ wsdl:output> </wsdl:operation> </wsdl:portType> <wsdl:portType name="OpenCmOperationsNotificationPortType"> <wsdl:operation name="statusNotification"> <wsdl:input message="tns:statusNotification"></wsdl:input> </wsdl:operation> <wsdl:operation name="feedbackNotification"> <wsdl:input message="tns:feedbackNotification"></wsdl:input> </wsdl:operation> </wsdl:portType> <wsdl:binding name="OpenCmOperationsPortBinding" type="tns:OpenCmOperationsPortType"> <soap:binding style="document" transport="http://schemas.org/soap/http" /> <wsdl:operation name="getMetadata"> <soap:operation soapAction="http://www.nsn.xmlsoap.nsn.com/schemas/public/cm/open-api/ operations/OpenCmOperationsService/startOperation" /> <wsdl:input> <soap:body use="literal" /> </wsdl:input> <wsdl:output> <soap:body use="literal" /> </wsdl:output> </wsdl:operation> <wsdl:operation name="interruptOperation"> <soap:operation soapAction="http://www.nsn.com/schemas/public/cm/open-api/ operations/OpenCmOperationsService/getMetadata" /> <wsdl:input> <soap:body use="literal" /> </wsdl:input> <wsdl:output> <soap:body use="literal" /> </wsdl:output> </wsdl:operation> <wsdl:operation name="startOperation"> <soap:operation soapAction="http://www.CM Operations Web Service API Appendix: web service definitions <wsdl:operation name="interruptOperation"> <wsdl:documentation>Issues a request to interrupt an ongoing operation. com/schemas/public/cm/open-api/ operations/OpenCmOperationsService/statusNotification" /> <wsdl:input> <soap:body use="literal" /> </wsdl:input> </wsdl:operation> <wsdl:operation name="feedbackNotification"> <soap:operation soapAction="http://www.CM Operations Web Service API Appendix: web service definitions </wsdl:input> <wsdl:output> <soap:body use="literal" /> </wsdl:output> </wsdl:operation> </wsdl:binding> <wsdl:binding name="OpenCmOperationsNotificationPortBinding" type="tns:OpenCmOperationsNotificationPortType"> <soap:binding style="document" transport="http://schemas.nsn.nsn.xmlsoap.org/soap/http" /> <wsdl:operation name="statusNotification"> <soap:operation soapAction="http://www.com/schemas/public/cm/open-api/ operations/OpenCmOperationsService/feedbackNotification" /> <wsdl:input> <soap:body use="literal" /> </wsdl:input> </wsdl:operation> </wsdl:binding> <wsdl:service name="OpenCmOperationsServiceSOAP"> <wsdl:documentation>Operations service</wsdl:documentation> <wsdl:port binding="tns:OpenCmOperationsPortBinding" name="OpenCmOperationsPort"> <soap:address location="http://SERVER_NAME/netact/cm/open-api/ operations/OpenCmOperationsServiceSOAP"/> </wsdl:port> </wsdl:service> <wsdl:service name="OpenCmOperationsNotificationServiceSOAP"> <wsdl:documentation>Optional service provided by client to receive notifications about execution progress.</wsdl:documentation> <wsdl:port name="OpenCmOperationsNotificationPort" binding="tns:OpenCmOperationsNotificationPortBinding"> <soap:address location="http://SERVER_NAME/netact/cm/open-api/ operations/OpenCmOperationsNotificationServiceSOAP" /> </wsdl:port> </wsdl:service> </wsdl:definitions> DN09147339 2-0 © 2016 Nokia Solutions and Networks 25 . com/schemas/public/cm/ open-api/common" xmlns:xs="http://www. providing fields for error code and error cause.nsn.2 XSD file defining common elements <xs:schema xmlns:tns="http://www.nsn.CM Operations Web Service API Appendix: web service definitions 4.org/2001/XMLSchema" targetNamespace="http://www.com/schemas/public/cm/open-api/common" elementFormDefault="qualified" version="1.w3.</xs:documentation></xs:annotation> <xs:sequence> <xs:element name="errorCode" type="xs:token"/> <xs:element name="cause" type="xs:string" minOccurs="0"/> </xs:sequence> </xs:complexType> <xs:complexType name="BatchOperationResponse" abstract="true"> <xs:complexContent> <xs:extension base="tns:BaseResponse"> <xs:sequence> <xs:element name="results" minOccurs="0"> <xs:complexType> <xs:sequence> <xs:element name="batchItemResult" type="tns:BaseBatchItemResult" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> </xs:element> </xs:sequence> </xs:extension> </xs:complexContent> </xs:complexType> <xs:complexType name="BaseBatchItemResult" abstract="true"> <xs:sequence> <xs:element name="errorCode" type="xs:token"></xs:element> <xs:element name="errorCause" type="xs:string" minOccurs="0" maxOccurs="1"></xs:element> </xs:sequence> </xs:complexType> <xs:simpleType name="ErrorCodes"> DN09147339 2-0 © 2016 Nokia Solutions and Networks 26 .0"> <xs:complexType name="ClientCredentials"> <xs:sequence> <xs:element name="clientId" type="xs:token"/> <xs:element name="clientPassword" type="xs:string" minOccurs="0"/> </xs:sequence> </xs:complexType> <xs:complexType name="BaseRequest" abstract="true"> <xs:sequence/> </xs:complexType> <xs:complexType name="BaseResponse" abstract="true"> <xs:annotation> <xs:documentation>Base type for a response. </xs:documentation> </xs:annotation></xs:attribute> </xs:complexType> <xs:simpleType name="Description"> <xs:restriction base="xs:string"></xs:restriction> </xs:simpleType> DN09147339 2-0 © 2016 Nokia Solutions and Networks 27 .org/2001/XMLSchema" xmlns:tns="http://www.3 XSD file defining data model <xs:schema targetNamespace="http://www.w3.CM Operations Web Service API Appendix: web service definitions <xs:annotation> <xs:documentation>Predefined error codes for response.</ xs:documentation> </xs:annotation> <xs:restriction base="xs:string"> <xs:enumeration value="OK"></xs:enumeration> <xs:enumeration value="ERR_GENERAL_FAILURE"></xs:enumeration> <xs:enumeration value="ERR_ILLEGAL_ARGUMENT"></xs:enumeration> <xs:enumeration value="ERR_SECURITY"></xs:enumeration> <xs:enumeration value="ERR_LICENSE"></xs:enumeration> </xs:restriction> </xs:simpleType> </xs:schema> 4.com/schemas/public/cm/open-api/ operations/model"> <xs:annotation> <xs:documentation>This schema defines datatypes for operations handling.</xs:documentation></xs:annotation> <xs:complexType name="OperationDef"> <xs:sequence> <xs:element ref="tns:description" maxOccurs="1" minOccurs="0"> </xs:element> <xs:element ref="tns:attributeDefs" maxOccurs="1" minOccurs="0"> </xs:element> </xs:sequence> <xs:attribute name="defName" type="xs:string" use="required"> <xs:annotation> <xs:documentation>Name identifying of the OperationDef.nsn.com/schemas/public/cm/open-api/ operations/model" elementFormDefault="qualified" xmlns:xs="http://www.nsn. CM Operations Web Service API Appendix: web service definitions <xs:simpleType name="ValueType"> <xs:annotation> <xs:documentation>Represents an enumeration of supported datatypes for attribute values. standard marshalling and unmarshalling routine for the given type must succeed on attribute value without errors. Attribute value must be compatible with datatype that is defined for it .in other words.</xs:documentation> DN09147339 2-0 © 2016 Nokia Solutions and Networks 28 .</ xs:documentation> </xs:annotation> <xs:restriction base="xs:string"> <xs:enumeration value="Integer"></xs:enumeration> <xs:enumeration value="String"></xs:enumeration> <xs:enumeration value="Boolean"></xs:enumeration> <xs:enumeration value="Long"></xs:enumeration> </xs:restriction> </xs:simpleType> <xs:element name="description" type="tns:Description"></xs:element> <xs:complexType name="AttributeDef"> <xs:sequence> <xs:element ref="tns:description"></xs:element> </xs:sequence> <xs:attribute name="name" type="xs:string"></xs:attribute> <xs:attribute name="type" type="tns:ValueType"></xs:attribute> </xs:complexType> <xs:complexType name="AttributeDefs"> <xs:sequence> <xs:element ref="tns:attributeDef" maxOccurs="unbounded" minOccurs="0"></xs:element> </xs:sequence> </xs:complexType> <xs:element name="attributeDef" type="tns:AttributeDef"></ xs:element> <xs:element name="attributeDefs" type="tns:AttributeDefs"></ xs:element> <xs:element name="operationDef" type="tns:OperationDef"></ xs:element> <xs:complexType name="OperationDefs"> <xs:sequence> <xs:element ref="tns:operationDef" maxOccurs="unbounded" minOccurs="0"></xs:element> </xs:sequence> </xs:complexType> <xs:element name="operationDefs" type="tns:OperationDefs"></ xs:element> <xs:complexType name="AttributeBinding" abstract="false"> <xs:annotation> <xs:documentation>Name-value pair for attributes defined in the metadata of the operation. Notice that it only makes sense to use this binding type when also the operation implementation understands the attribute as a reference to output data.CM Operations Web Service API Appendix: web service definitions </xs:annotation> <xs:simpleContent> <xs:extension base="xs:string"> <xs:attribute name="name" type="xs:string" use="required"> <xs:annotation> <xs:documentation>Attribute name defined in the metadata of the operation. SIMPLE_VALUE: This is the default (same as not specified). OUTBOUND_ATTACHMENT_REF: This allows to specify output data reference that is produced by the operation implementation and that the client is interested in receiving once the operation is completed. Attribute value is used as-is.</xs:documentation> </xs:annotation></xs:attribute> <xs:attribute name="type" type="tns:BindingType" use="optional"> <xs:annotation> <xs:documentation>Semantics of the attribute value. Notice that it only makes sense to use this binding type when also the operation implementation understands the attribute as a reference to input data. INBOUND_ATTACHMENT_REF: This allows to specify input data reference that is needed by the operation implementation and that the client provides as an attachment of a start request.</xs:documentation> </xs:annotation></xs:attribute> </xs:extension> </xs:simpleContent> </xs:complexType> <xs:element name="attributeBinding" type="tns:AttributeBinding"></ xs:element> <xs:complexType name="AttributeBindings"> <xs:sequence> <xs:element ref="tns:attributeBinding" maxOccurs="unbounded" minOccurs="0"></xs:element> </xs:sequence> </xs:complexType> <xs:element name="attributeBindings" type="tns:AttributeBindings"></xs:element> <xs:complexType name="Operation"> <xs:sequence> <xs:element ref="tns:attributeBindings" maxOccurs="1" minOccurs="0"> </xs:element> </xs:sequence> <xs:attribute name="defName" type="xs:string" use="required"> <xs:annotation> DN09147339 2-0 © 2016 Nokia Solutions and Networks 29 . CM Operations Web Service API Appendix: web service definitions <xs:documentation>Name identifying OperationDef that contains the execution definition of this operation.</xs:documentation> </xs:annotation></xs:attribute> <xs:attribute name="executionName" type="xs:string" use="optional"> <xs:annotation> <xs:documentation>User-defined name of this operation execution.</xs:documentation> </xs:annotation></xs:attribute> </xs:complexType> <xs:element name="operation" type="tns:Operation"></xs:element> <xs:element name="schedule" type="tns:Schedule" /> <xs:complexType name="Schedule" abstract="true" /> <xs:simpleType name="Weekday"> <xs:restriction base="xs:string"> <xs:enumeration value="Mon"/> <xs:enumeration value="Tue"/> <xs:enumeration value="Wed"/> <xs:enumeration value="Thu"/> <xs:enumeration value="Fri"/> <xs:enumeration value="Sat"/> <xs:enumeration value="Sun"/> </xs:restriction> </xs:simpleType> <xs:complexType name="SingleExecutionSchedule"> <xs:annotation> <xs:documentation>Schedule used to express a single operation execution in a given point of time.</xs:documentation> </xs:annotation> <xs:complexContent> <xs:extension base="tns:Schedule"> <xs:attribute name="dateTime" type="xs:dateTime" use="required" /> </xs:extension> </xs:complexContent> </xs:complexType> <xs:complexType name="IntervalSchedule"> <xs:annotation> <xs:documentation>Schedule used to express executing an operation at specified interval.</xs:documentation> </xs:annotation> <xs:complexContent> <xs:extension base="tns:Schedule"> <xs:attribute name="start" type="xs:dateTime" use="optional" /> <xs:attribute name="end" type="xs:dateTime" use="optional" /> DN09147339 2-0 © 2016 Nokia Solutions and Networks 30 . </ xs:documentation> </xs:annotation> <xs:complexContent> <xs:extension base="tns:Schedule"> <xs:attribute name="start" type="xs:dateTime" use="optional" /> <xs:attribute name="end" type="xs:dateTime" use="optional" /> <xs:attribute name="timeOfDay" type="xs:time" use="required" /> <xs:attribute name="dayOfMonth" type="xs:unsignedInt" use="required" /> </xs:extension> </xs:complexContent> </xs:complexType> <xs:complexType name="WeeklySchedule"> <xs:annotation> <xs:documentation>Schedule used to express executing an operation once on each given weekday at the given hour.</ xs:documentation> </xs:annotation> <xs:complexContent> <xs:extension base="tns:Schedule"> DN09147339 2-0 © 2016 Nokia Solutions and Networks 31 .</xs:documentation> </xs:annotation> <xs:complexContent> <xs:extension base="tns:Schedule"> <xs:attribute name="start" type="xs:dateTime" use="optional" /> <xs:attribute name="end" type="xs:dateTime" use="optional" /> <xs:attribute name="timeOfDay" type="xs:time" use="required" /> </xs:extension> </xs:complexContent> </xs:complexType> <xs:complexType name="MonthlySchedule"> <xs:annotation> <xs:documentation>Schedule used to express executing an operation once per month on the given calendar day at the given hour.CM Operations Web Service API Appendix: web service definitions <xs:attribute name="interval" type="xs:duration" use="required" /> </xs:extension> </xs:complexContent> </xs:complexType> <xs:complexType name="DailySchedule"> <xs:annotation> <xs:documentation>Schedule used to express executing an operation once per each day at the given hour. CM Operations Web Service API Appendix: web service definitions <xs:sequence> <xs:element name="weekday" minOccurs="1" maxOccurs="7" type="tns:Weekday" /> </xs:sequence> <xs:attribute name="start" type="xs:dateTime" use="optional" /> <xs:attribute name="end" type="xs:dateTime" use="optional" /> <xs:attribute name="timeOfDay" type="xs:time" use="required" /> </xs:extension> </xs:complexContent> </xs:complexType> <xs:simpleType name="BindingType"> <xs:restriction base="xs:string"> <xs:enumeration value="SIMPLE_VALUE"></xs:enumeration> <xs:enumeration value="INBOUND_ATTACHMENT_REF"></ xs:enumeration> <xs:enumeration value="OUTBOUND_ATTACHMENT_REF"></ xs:enumeration> </xs:restriction> </xs:simpleType> <xs:element name="executionId" type="tns:ExecutionId"></xs:element> <xs:simpleType name="ExecutionId"> <xs:annotation> <xs:documentation>Identification of an operation in the system.xsd" DN09147339 2-0 © 2016 Nokia Solutions and Networks 32 .org/profiles/basic/1.com/schemas/public/cm/open-api/operations/ notification" xmlns:Q1="http://ws-i.w3.nsn.</xs:documentation> </xs:annotation> <xs:restriction base="xs:string"></xs:restriction> </xs:simpleType> </xs:schema> 4.1/xsd"> <xs:import schemaLocation="swaref.4 XSD file defining notifications <schema targetNamespace="http://www.org/2001/XMLSchema" xmlns:tns="http://www.nsn.w3.com/schemas/public/cm/open-api/ operations/notification" elementFormDefault="qualified" xmlns="http://www.org/2001/ XMLSchema" xmlns:xs="http://www. </documentation> </annotation> <complexType name="Feedback"> <sequence> <element name="title" type="string" maxOccurs="1" minOccurs="0"> </element> <element name="textDetail" type="string" maxOccurs="1" minOccurs="0"> </element> <element name="errorDetail" type="string" maxOccurs="1" minOccurs="0"> </element> </sequence> <attribute name="type" type="tns:OperationFeedbackType" use="required"> </attribute> <attribute name="timestamp" type="dateTime" use="required"></ attribute> <attribute ref="tns:executionId" use="required"></attribute> <attribute ref="tns:executionName"></attribute> <attribute ref="tns:workUnitId"></attribute> <attribute ref="tns:workUnitName"></attribute> <attribute name="moId" type="string"> <annotation> <documentation> Optional managed object identification if the feedback is related to a particular Managed Object. </documentation> </annotation></attribute> </complexType> <simpleType name="OperationFeedbackType"> <restriction base="string"> <enumeration value="INFO"></enumeration> <enumeration value="WARNING"></enumeration> <enumeration value="ERROR"></enumeration> </restriction> </simpleType> <simpleType name="OperationStatusType"> <annotation> <documentation> The state diagram with allowed transitions is as follows: o -> CREATED CREATED -> STARTED STARTED -> INTERRUPTING DN09147339 2-0 © 2016 Nokia Solutions and Networks 33 .1/xsd"> </xs:import> <annotation> <documentation> This schema defines datatypes for notification handling.CM Operations Web Service API Appendix: web service definitions namespace="http://ws-i.org/profiles/basic/1. e.CM Operations Web Service API Appendix: web service definitions | FINISHED | FAILED INTERRUPTING -> FINISHED | FAILED | INTERRUPTED State is set to "INTERRUPTING" immediately after a request to interrupt the execution. Notice that the operation may still end up in FAILED or FINISHED state despite the interrupt request . Refer to the integration manual for more information. NOTE: The format and the content of this attachment is not part of this interface contract . not failed and not interrupted).e.it is defined by the underlaying system and the operation implementation. if operation does not support interrupts or if the timing was such that an end-state was reached before the interrupt request could have been processed.and output data can only be expected for operations completed succesfully (i. Binding must be done accordingly (in the start request) for attributes that refer to the output data to be attached . </documentation> </annotation> <restriction base="string"> <enumeration value="CREATED"></enumeration> <enumeration value="STARTED"></enumeration> <enumeration value="INTERRUPTING"></enumeration> <enumeration value="INTERRUPTED"></enumeration> <enumeration value="FINISHED"></enumeration> <enumeration value="FAILED"></enumeration> </restriction> </simpleType> <complexType name="StatusNotification"> <sequence> <element ref="tns:status" maxOccurs="1" minOccurs="1"></ element> <element name="outputContent" type="Q1:swaRef" maxOccurs="1" minOccurs="0"> <annotation> <documentation> An optional attachment representing the output data of the operation.g. </documentation> </annotation> </element> </sequence> <attribute ref="tns:clientNotificationId"></attribute> </complexType> <element name="StatusNotification" type="tns:StatusNotification"></ element> <complexType name="FeedbackNotification"> DN09147339 2-0 © 2016 Nokia Solutions and Networks 34 . CM Operations Web Service API Appendix: web service definitions <sequence> <element ref="tns:feedbacks" maxOccurs="1" minOccurs="1"></element> </sequence> <attribute ref="tns:clientNotificationId"></attribute> </complexType> <element name="FeedbackNotification" type="tns:FeedbackNotification"> </element> <complexType name="Feedbacks"> <sequence> <element ref="tns:feedback" maxOccurs="unbounded" minOccurs="1"> </element> </sequence> </complexType> <element name="feedbacks" type="tns:Feedbacks"></element> <element name="feedback" type="tns:Feedback"></element> <attribute name="executionId" type="string"> <annotation> <documentation>Unique identification of the operation execution. The attribute only has a value if it was specified in the start request. The URL must be accessible without explicit authentication .</documentation> </annotation></attribute> <attribute name="workUnitId" type="string"></attribute> <attribute name="workUnitName" type="string"></attribute> <complexType name="NotificationDescriptor"> <sequence> <element name="notificationURL" type="string" maxOccurs="1" minOccurs="1"> <annotation> <documentation>URL of a client service receiving notifications about the operation execution. </documentation> </annotation> </attribute> <attribute name="clientNotificationId" type="string"> <annotation> <documentation>Client-provided identifier of notifications for a given operation execution. The attribute only has a value if it was specified in the start request. DN09147339 2-0 © 2016 Nokia Solutions and Networks 35 .for added security. </documentation> </annotation> </attribute> <attribute name="executionName" type="string"> <annotation> <documentation>Client-provided name for a given operation execution. see the notification ID attribute. </documentation> </annotation> </element> <element name="notificationId" type="string" maxOccurs="1" minOccurs="0"> <annotation> <documentation>Optional.client's business logic can rely on them (e. once one of the end-states is reached. there will be no further notifications related to this operation). the invocation should be ignored). This attribute allows the client to provide a single notification URL (service) for multiple operation requests .CM Operations Web Service API Appendix: web service definitions Status notifications (such as start.com/schemas/public/cm/open-api/ operations/operations" DN09147339 2-0 © 2016 Nokia Solutions and Networks 36 .nsn. The content and number of feedback notifications depends entirely on implementation details of the operations . a generic client must not tie any business logic to feedback notifications.g. follow predefined state diagram and are guaranteed by this service . interrupt) have predefined values. </documentation></annotation></element> </sequence> </complexType> <element name="notificationDescriptor" type="tns:NotificationDescriptor"> </element> <complexType name="Status"> <attribute name="type" type="tns:OperationStatusType" use="required"> </attribute> <attribute name="timestamp" type="dateTime" use="required"></ attribute> <attribute ref="tns:executionId" use="required"></attribute> <attribute ref="tns:executionName"></attribute> </complexType> <element name="status" type="tns:Status"></element> </schema> 4. end. failure. Client may also use the value of this attribute to distinguish fake invocations (if notification contains ID that is not recognized as operation started by the client.5 XSD file defining operations <xs:schema targetNamespace="http://www.while all such feedbacks are forwarded.and correlate invocations of the service with the operations it has started. client-generated ID to be used in notification related to this operation. nsn.1/xsd"></xs:import> <xs:import schemaLocation="OpenCm_common.xsd" namespace="http://ws-i.org/2001/XMLSchema" xmlns:tns="http://www.nsn.xsd" namespace="http://www.com/schemas/public/cm/open-api/ operations/operations" xmlns:Q1="http://www.com/schemas/public/cm/open-api/operations/ model" xmlns:Q2="http://www.nsn.nsn.com/schemas/public/cm/open-api/common" xmlns:Q3="http://ws-i.nsn.CM Operations Web Service API Appendix: web service definitions elementFormDefault="qualified" xmlns:xs="http://www.1/xsd" xmlns:Q4="http://www.xsd" namespace="http://www.com/schemas/public/cm/open-api/common"></xs:import> <xs:import schemaLocation="OpenCmOperations_model.org/ profiles/basic/1.com/schemas/public/cm/open-api/operations/ notification"> <xs:import schemaLocation="swaref.org/profiles/basic/1.nsn.w3.nsn.xsd" namespace="http:// www.com/schemas/public/cm/open-api/operations/ model"></xs:import> <xs:import schemaLocation="OpenCmOperations_notification.com/schemas/public/cm/open-api/operations/ notification"></xs:import> <xs:complexType name="GetMetadataRequest"></xs:complexType> <xs:element name="GetMetadataRequest" type="tns:GetMetadataRequest"> </xs:element> <xs:complexType name="GetMetadataResponse"> <xs:complexContent> <xs:extension base="Q2:BaseResponse"> <xs:sequence> <xs:element name="result" maxOccurs="1" minOccurs="0"> <xs:complexType> <xs:sequence> <xs:element ref="Q1:operationDefs" maxOccurs="1" minOccurs="0"></xs:element> </xs:sequence> </xs:complexType> </xs:element> </xs:sequence> </xs:extension> </xs:complexContent> </xs:complexType> <xs:element name="GetMetadataResponse" type="tns:GetMetadataResponse"> </xs:element> <xs:complexType name="StartOperationRequest"> <xs:annotation> <xs:documentation></xs:documentation> </xs:annotation> <xs:sequence> <xs:element ref="Q1:operation" maxOccurs="1" minOccurs="1"> DN09147339 2-0 © 2016 Nokia Solutions and Networks 37 . </xs:documentation> </xs:annotation> </xs:element> <xs:element ref="Q4:notificationDescriptor" maxOccurs="1" minOccurs="0"> <xs:annotation> <xs:documentation>Client's listener to be notified about the progress of the operation execution. Refer to the integration manual for more information. NOTE: The format and the content of this attachment is not part of this interface contract . Binding must be done accordingly for attributes that refer to the attached input data.it is defined by the underlaying system and the operation implementation.CM Operations Web Service API Appendix: web service definitions </xs:element> <xs:element ref="Q1:schedule" minOccurs="0" maxOccurs="1" /> <xs:element name="inputContent" type="Q3:swaRef" maxOccurs="1" minOccurs="0"> <xs:annotation> <xs:documentation> An optional attachment representing the input data of the operation. Optional.</xs:documentation> </xs:annotation></xs:element> </xs:sequence> </xs:complexType> <xs:complexType name="StartOperationResponse"> <xs:complexContent> <xs:extension base="Q2:BaseResponse"> <xs:sequence> <xs:element name="result" maxOccurs="1" minOccurs="0"> <xs:complexType> <xs:sequence> <xs:element ref="Q1:executionId" maxOccurs="1" minOccurs="1"></xs:element> </xs:sequence> </xs:complexType> </xs:element> </xs:sequence> </xs:extension> </xs:complexContent> </xs:complexType> <xs:element name="StartOperationRequest" type="tns:StartOperationRequest"> </xs:element> <xs:element name="StartOperationResponse" type="tns:StartOperationResponse"> </xs:element> <xs:complexType name="InterruptOperationRequest"> DN09147339 2-0 © 2016 Nokia Solutions and Networks 38 . the details of interrupt request handling may depend on the operation implementation.it only means that an ongoing operation has been succesfully notified about such an interrupt request.</xs:documentation> </xs:annotation> <xs:complexContent> <xs:extension base="Q2:BaseResponse"></xs:extension> </xs:complexContent> </xs:complexType> <xs:element name="InterruptOperationRequest" type="tns:InterruptOperationRequest"> </xs:element> <xs:element name="InterruptOperationResponse" type="tns:InterruptOperationResponse"> </xs:element> </xs:schema> DN09147339 2-0 © 2016 Nokia Solutions and Networks 39 .CM Operations Web Service API Appendix: web service definitions <xs:annotation> <xs:documentation></xs:documentation> </xs:annotation> <xs:sequence> <xs:element ref="Q1:executionId" maxOccurs="1" minOccurs="1"></ xs:element> </xs:sequence> </xs:complexType> <xs:complexType name="InterruptOperationResponse"> <xs:annotation> <xs:documentation>Notice that OK response for an operation interrupt does not guarantee an operation to be interrupted .
Copyright © 2024 DOKUMEN.SITE Inc.