Oipa V9500 Webservices - Docs.oracle

Transcription

Oracle Insurance PolicyAdministrationWeb ServicesVersion 9.5.0.0Documentation Part Number: E23638 01June 2012

Copyright 2009, 2012, Oracle and/or its affiliates. All rights reserved.This software and related documentation are provided under a license agreement containing restrictions on use anddisclosure and are protected by intellectual property laws. Except as expressly permitted in your license agreement orallowed by law, you may not use, copy, reproduce, translate, broadcast, modify, license, transmit, distribute, exhibit,perform, publish, or display any part, in any form, or by any means. Reverse engineering, disassembly, or decompilation ofthis software, unless required by law for interoperability, is prohibited.The information contained herein is subject to change without notice and is not warranted to be error-free. If you find anyerrors, please report them to us in writing.If this software or related documentation is delivered to the U.S. Government or anyone licensing it on behalf of the U.S.Government, the following notice is applicable:U.S. GOVERNMENT RIGHTSPrograms, software, databases, and related documentation and technical data delivered to U.S. Government customers are“commercial computer software” or “commercial technical data” pursuant to the applicable Federal Acquisition Regulationand agency-specific supplemental regulations. As such, the use, duplication, disclosure, modification, and adaptation shallbe subject to the restrictions and license terms set forth in the applicable Government contract, and, to the extent applicableby the terms of the Government contract, the additional rights set forth in FAR 52.227-19, Commercial Computer SoftwareLicense (December 2007). Oracle USA, Inc., 500 Oracle Parkway, Redwood City, CA 94065.This software is developed for general use in a variety of information management applications. It is not developed orintended for use in any inherently dangerous applications, including applications that may create a risk of personal injury. Ifyou use this software in dangerous applications, then you shall be responsible to take all appropriate fail-safe, backup,redundancy, and other measures to ensure the safe use of this software. Oracle Corporation and its affiliates disclaim anyliability for any damages caused by use of this software in dangerous applications.Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of theirrespective owners.This software and documentation may provide access to or information on content, products, and services from third parties.Oracle Corporation and its affiliates are not responsible for and expressly disclaim all warranties of any kind with respect tothird-party content, products, and services. Oracle Corporation and its affiliates will not be responsible for any loss, costs, ordamages incurred due to your access to or use of third-party content, products, or services.Where an Oracle offering includes third party content or software, we may be required to include related notices. Forinformation on third party notices and the software and related documentation in connection with which they need to beincluded, please contact the attorney from the Development and Strategic Initiatives Legal Group that supports thedevelopment team for the Oracle offering. Contact information can be found on the Attorney Contact Chart.The information contained in this document is for informational sharing purposes only and should be considered in yourcapacity as a customer advisory board member or pursuant to your beta trial agreement only. It is not a commitment todeliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. The development,release, and timing of any features or functionality described in this document remains at the sole discretion of Oracle.This document in any form, software or printed matter, contains proprietary information that is the exclusive property ofOracle. Your access to and use of this confidential material is subject to the terms and conditions of your Oracle SoftwareLicense and Service Agreement, which has been executed and with which you agree to comply. This document andinformation contained herein may not be disclosed, copied, reproduced, or distributed to anyone outside Oracle without priorwritten consent of Oracle. This document is not part of your license agreement nor can it be incorporated into anycontractual agreement with Oracle or its subsidiaries or affiliates.

Table of ContentsWEB SERVICES OVERVIEW. 4CREATING MESSAGES WITH SOAP . 5SOAP Overview . 5WSDL . 5Security . 6OIPA WEB SERVICES . 7ValuePolicy.7FileReceived .7Introduction . 7High Level Flow Overview . 8AsFile Overview . 9XSLT .12A Transformation Example.15XML Portion of SOAP Request .15XSLT .15Resulting AsXml after transformation: .15AsXml .16Schema.16Examples .16Process Policy .17EXPOSED COMPUTATION.18Overview .18Request Flow .18Exposed Computation Business Rule .19Valuation .20Exposed Computation SOAP Messages .20SOAP Request Input Parameters.20PolicyNumber .20EffectiveDate .20SOAP Response.21ADDITIONAL FILE RECEIVED EXAMPLES USING ACCORD LOMA .22SOAP Request .22Full Request.22XML Message .23SOAP Response .24Successful Response .24SOAP Fault .25XMLDATA .28XSLT .28

WEB SERVICES OVERVIEWThe Oracle Insurance Policy Administration (OIPA) system exposes many of its system’s functionalities toexternal applications through Web Services. The available exposed services are as follows: FileReceived – Service for inserting data and providing quote details. ExposedComputation – Service for exposing OIPA’s math engine. ValuePolicy – Service for running valuations on a policy. ProcessPolicy – Service for processing all pernding activities on an exisiting policy.This document not only discusses the available Web Services, but also gives basic overviews of protocols anddemonstrates the process for creating messages needed by the Web Services for a more holistic explanation ofthe available functionality.Note:This documentation uses SOAP messages as a means to explain functionality.

CREATING MESSAGES WITH SOAPSOAP OverviewSOAP (Simple Object Access Protocol) is an XML-based language used for the transport of structuredinformation from a requester to a provider. A SOAP message is sent from the requesting application to an OIPAWeb Service. The Web Service will interpret the data and write it to the database as specified in the message.A SOAP response message including the outcome is then returned to the requester. In the context of OIPA, aSOAP message can be sent using HTTP or HTTPS, for added security. Proper authentication information mustbe included in the security portion of the header. The body, explained in detail later in this document, simplyconsists of the processFileReceivedRequest message, as defined by the service’s WSDL.WSDLWSDL (Web Service Definition Language) is an XML-based language used to describe Web Services. In thecase of OIPA, the WSDL for each available Web Service defines the message format, data type, and transportprotocols that should be used between the requester and OIPA, the provider.A list of all available Web Services and their associated WSDL are listed below, where the server name“server.domain.tld” and the port number “9080” are specific to each deployment of OIPA.Note:This document assumes the OIPA war name is PASJava.war. FileReceived: ?wsdl ExposedComputation: tation?wsdl ValuePolicy: wsdl ProcessPolicy: y?wsdl

SecurityOIPA adheres to the WS-Security standards for the authentication of SOAP messages. The standards, asdeveloped by the OASIS Open committee, can be referenced username-token-profile-1.0.pdfUTUTThe wsse:UsernameToken element is used to contain the authentication information. The username andpassword are specified inside of the wsse:Username , and wsse:Password elements, respectively.It is suggested that SSL (Secure Socket Layer) be used as a method of encryption for all SOAP messages.The optional wsse:Nonce element allows for the usage of a nonce as added security. A nonce is a randomnumber, in this case represented in base 64, which is embedded in the security header to aid in preventing oldcommunications from being reused. This number is newly generated for each request on the client side and isreturned along with the SOAP response from OIPA. The wsu:Created element must contain the timestampof the creation time of the nonce. soapenv:Header wsse:Securitysoapenv:mustUnderstand "1"xmlns:wsse 01-wss-wssecurity-secext1.0.xsd" wsse:UsernameTokenwsu:Id "UsernameToken-1"xmlns:wsu 01-wss-wssecurityutility-1.0.xsd" wsse:Username username /wsse:Username wsse:PasswordType 01-wss-username-tokenprofile-1.0#PasswordDigest" EncryptedPassword /wsse:Password wsse:NonceEncodingType 01-wss-soapmessage-security-1.0#Base64Binary" OUtRdmO7dLg/v 0DI04/DA /wsse:Nonce wsu:Created 2009-09-28T17:43:02.546Z /wsu:Created /wsse:UsernameToken /wsse:Security /soapenv:Header

OIPA WEB SERVICESValuePolicyThe ValuePolicy Web Service allows valuation to be run on an already existing policy. An inputXml will bepassed in with values for PolicyNumber, PolicyValuesFlag, EffectiveDate, and Nearest. Below is a sampleinputXml. Parameters Parameter Parameter Parameter Parameter /Parameters NAME ”PolicyNumber” PolicyNumber /Parameter NAME "PolicyValuesFlag" Yes No /Parameter NAME "Nearest" Yes No /Parameter NAME "EffectiveDate" [Date] /Parameter FileReceivedIntroductionThe OIPA FileReceived Web Service allows an application to send data in XML format and run applicationagainst it. Based on the presence and functionality of extensions, this data can be modified, validated, and/orinserted in the OIPA database. A SOAP message is sent by a client application to the FileReceived WebService. The SOAP message includes two parameters: FileID and XML. FileID identifies the configuration touse from the AsFile table for processing and transforming inbound XML into OIPA’s AsXml. The XML elementrepresents data to be sent to the OIPA for creating objects.Once the SOAP message is received by the FileReceived Web Service, AsFile entry is extracted from databaseand AsFile XMLData is processed (i.e., math is executed and attributes are assigned values). Data in therequest XML is then transformed into AsXml using AsFile XSLT and assigned attributes.A SOAP message is sent back to the requestor, or caller, including the result of the request. If the request wassuccessful, the message will consist of the transformed AsXml. This AsXml can also be transformed usingXSLT picked from the AsFileOutput table indicated by Output AssignAttribute. If the request was not successful,the Web Service response will consist of a SOAP Fault detailing the errors.The WSDL for the FileReceived service is located here: TUhttp:/ /OIPA-SERVER:8080 /PASJava/FileReceived?wsdl (for JBoss)UThttp:// OIPA-SERVER:8080 /pas.web/FileReceived?wsdl (for Tomcat)

High Level Flow OverviewHigh Level Flow DiagramInbound Flow1. FileReceived Web Service receives a request via a SOAP message.2. AsFile entry is looked up using FileID specified in the request.3. Math in AsFile entry’s XMLData is processed.4. AssignAttributes in AsFile entry’s XMLData are processed.5. The XSLT maps the request XML to AsXml.6. The transformed AsXml is mapped to data objects.7. PreInsert operations are performed on the objects.8. Objects are inserted into the database.9. PostInsert operations are performed on the objects.10. Load output XSLT from AsFileOutput based on assign attributes.11. Build response Xml.12. If ValidationError section is configured in the XSLT then SOAP fault is created (with embeddedresponse xml) and sent to the caller. Otherwise response AsXml is returned.

Note:Any of the above steps can be skipped if client extensions direct so. Additionalfunctionality can also be performed in the beginning or end of every step.An example of this inbound message would be the addition of an activity to a policy in the OIPA system. Sucha need might arise in the case of integration with a new business system. When approved, a message mightbe sent to the OIPA system to create a new copy of a policy.AsFile OverviewThe AsFile database table stores a user-configurable portion of the FileReceived Web Service. This tablecontains a separate record for each type of file OIPA has been configured to receive. It has following columns: FileGUID – unique identifier for each entry in this table. CompanyGUID – unique identifier for a company. FileNameFormat – stores a descriptive name of the file format type. FileID – stores a unique three-character ID used to describe file format. An inbound SOAP message willinclude a FileID element specifying the format of the file to be used for processing. XMLData – specifies details about request type, math, assign attributes, pre-insert and post-insert. XSLT – XSLT for transforming inbound XML into AsXml.XMLDataAsFile entry allows values to be assigned to various attributes before inbound XML undergoes thetransformation process into AsXml. This is configured by using Attribute the element inside the AssignAttributes element. By assigning values at this stage of the process, pre-existing data from OIPA canbe used to populate the AsXml. RequestType This optional section specifies the type of operation like Insert, Quote, etc. If this is missing then the defaultrequest type is Insert.

Math This is an optional section that can run math on the values in the incoming XML. This behaves the same as theMath section of a normal business rule. Math variables in this section will have a prefix specified by the IDattribute of the Math tag. These variables can then be used in the AssignAttributes section.Example: File Math ID "Math" MathVariables MathVariable VARIABLENAME "Number" TYPE "VALUE" DATATYPE "TEXT" 31ALIC010801 /MathVariable MathVariable VARIABLENAME "Prefix" TYPE "VALUE" DATATYPE "TEXT" AVA /MathVariable MathVariable VARIABLENAME "PolicyNumber" TYPE "EXPRESSION"DATATYPE "TEXT" Prefix Number /MathVariable MathVariable VARIABLENAME "State" TYPE "VALUE"DATATYPE "TEXT" /NewPolicy/PolicyIssueState /MathVariable /MathVariables /Math AssignAttributes Attribute NAME "TestValue" TYPE "VALUE" Math:PolicyNumber /Attribute Attribute NAME "PolicyState" TYPE "XPATH" Math:State /Attribute /AssignAttributes /File AssignAttributes This is the parent eleme

represents data to be sent to the OIPA for creating objects. Once the SOAP message is received by the FileReceived Web Service, AsFile entry is extracted from database and AsFile XMLData is processed (i.e., math is executed and attributes are assigned values). Data in the