TIP JOSIF Main Page |TIP JOSIF Framework | TIP Soap Generator | TIP Soap Generator Mapping Rules - Part IV
...
Every non-abstract session facade artifact is mapped to an XSD file (SOAP message definitions), and two WSDL files (one for HTTP binding, one for JMS binding). The targetNamespace of these files will be the image of package name under mapping rule rule TIP _ Soap _ Generator _ Mapping _ Rules _ - _ Part _ I#Mapping Rule for Namespace.
Example
In SPM model, the session facade artifact org.tmforum.tip.service.problem.ServiceProblemInterface is mapped to
...
Please refer to mapping rules about operations and parameters:
...
...
...
...
...
...
...
...
Rule for Attributes, Association Ends, and Parameters
TIP_Soap_Generator_Mapping_Rules_-_Part_III#Mapping_Rules_for_Operations CANNOT FIND THIS
Service Interface; Inheritance
...
same with mapping rule in TIP _ Soap _ Generator _ Mapping _ Rules _ - _Part_IV#Session Facade___InheritancePart IV#Service Interface; Inheritance
Example
In Test2 model, service interface org.tmforum.tip.test.TestExternalSuperServiceInterface extends external service interface org.tmforum.tip.service.test.ServiceTestProblemInterface. The super interface is defined in Test1 model. Note that the ServiceTestProblemInterface extends interface org.tmforum.tip.cbe.test.TestProblemInterface.
...
Mapping Rules for Parameters
- TIP_Soap_Generator_Mapping_Rules_-_Part_IV#Parameter___message name
- TIP_Soap_Generator_Mapping_Rules_-_Part_IV#Parameter___Parameter; message name
- Parameter; isBulkPotential, the iterator case
- TIP_Soap_Generator_Mapping_Rules_-_Part_IV#Parameter___isBulkPotential, the file case
- TIP_Soap_Generator_Mapping_Rules_-_Part_IV#Parameter___multiplicity
- TIP_Soap_Generator_Mapping_Rules_-_Part_IV#Parameter___direction
- TIP_Soap_Generator_Mapping_Rules_-_Part_IV#Parameter___default value
- TIP_Soap_Generator_Mapping_Rules_-_Part_IV#Parameter___passedbyId
- TIP_Soap_Generator_Mapping_Rules_-_Part_IV#Parameter___isOrdered
- TIP_Soap_Generator_Mapping_Rules_-_Part_IV#Parameter___Parameter; isBulkPotential, the file case (not implemented in JOSIF 1.0)
- Parameter; direction
- Parameter; default value
- Parameter; passedbyId
- Parameter; isOrdered
- Parameter; isUnique
Parameter; message name
Mapping Rule
...
If an operation has tipOperation:bulkTransferPattern=ITERATOR, then the generator knows how to handle the operation's bulkpotential parameters. Please refer to mapping rules related with operations of iterator pattern TIP _ Soap _ Generator _ Mapping _ Rules _ - _Part_VI.Part VI#tipOperation; BulkTransferPattern - Iterator
Parameter; isBulkPotential, the file case (not implemented in JOSIF 1.0)
...
same with the mapping rule in TIP _ Soap _ Generator _ Mapping _ Rules _ - _ Part _ I#Mapping Rule for Attributes, Association Ends, and Parameters
Note (2009, Sept 23) According to TIP Framework Team, there is a problem with passById as the entity ID is replaced by an entityIdentifier with no indication of the entity type. The basic idea is that we need to pass both the entity identifier and the type of the entity. In SOAP generator version 0.0.3, we simply map parameters with 'tipParameter:passedById=true' to sub-element of EntityIdentifier type or of ArrayOfEntityIdentifier type.
...
• ‘Out’ parameters will be put in <OperationName>Response element
also refer to to TIP _ Soap _ Generator _ Mapping _ Rules _ - _ Part _ I#Mapping Rule for Attributes, Association Ends, and Parameters
Example
Refer to previous example
...
Related to issue #80 in Mantis [ Parameter: passedById|https://sourceforge.net/apps/mantisbt/openoss/view.php?id=80]
Mapping Rule
refer to TIP _ Soap _ Generator _ Mapping _ Rules _ - _ Part _ I#Mapping Rule for Attributes, Association Ends, and Parameters
Example
exmple in previous section: parameters of doComplexOperation operation, interface org.tmforum.tip.test.TestExternalInterface, in Test2 model.
...
Mapping Rules for Operations
- TIP_Soap_Generator_Mapping_Rules_-_Part_IV#Operation___bulkTransferPattern Iterator
- TIP_Soap_Generator_Mapping_Rules_-_Part_IV#Operation___Operation; bulkTransferPattern Iterator
- Operation; bulkTransferPattern File (Not implemented in JOSIF 1.0)
- TIP_Soap_Generator_Mapping_Rules_-_Part_IV#Operation emitEvents + emittedEvents (Not implemented in JOSIF 1.0)
- TIP_Soap_Generator_Mapping_Rules_-_Part_IV#Operation___isExtendable
- TIP_Soap_Generator_Mapping_Rules_-_Part_IV#Operation___.0)
- Operation; isExtendable
- Operation; isIdempotent (Not implemented in JOSIF 1.0)
- TIP_Soap_Generator_Mapping_Rules_-_Part_IV#Operation___isOneWay
- TIP_Soap_Generator_Mapping_Rules_-_Part_IV#Operation___specific exceptions
- TIP_Soap_Generator_Mapping_Rules_-_Part_IV#Commonly used directive – Operation; isOneWay
- Operation; specific exceptions
- Commonly used directive – Create (Not implemented in JOSIF 1.0)TIP_Soap_Generator_Mapping_Rules_-_Part_IV#Commonly used directive – )
- Commonly used directive – Delete (Not implemented in JOSIF 1.0)
- TIP_Soap_Generator_Mapping_Rules_-_Part_IV#Commonly used directive – Commonly used directive – Set (Not implemented in JOSIF 1.0)TIP_Soap_Generator_Mapping_Rules_-_Part_IV#Commonly used directive –
- Commonly used directive – Get (Not implemented in JOSIF 1.0)
- TIP_Soap_Generator_Mapping_Rules_-_Part_IV#Common Common exceptions supportTIP_Soap_Generator_Mapping_Rules_-_Part_IV#Pre-
- Pre-defined exception support
Operation; bulkTransferPattern Iterator
...
This covers the use of the bulkTransferPattern on the tipOperation stereotype with the value ITERATOR.
In this case, all the parameters of the operation marked bulkPotential will be transferred using an iterator transfer pattern.
Please refer to to TIP _ Soap _ Generator _ Mapping _ Rules _ - _Part_VI.Part VI#tipOperation; BulkTransferPattern - Iterator
Operation; bulkTransferPattern File (Not implemented in JOSIF 1.0)
...
For the structure of the extensionInfo element, please refer to (TIP _ Soap _ Generator _ Mapping _ Rules _ - _ Part _ I#Mapping Rule for Extendability).
Example
In Test1 model, org.tmforum.tip.service.test.ServiceTestProblemInterface has an extendable operation named acknowledgeTestProblems (inherited from interface TestProblemInterface). We can see a sub-element named 'extensionInfo' is added to both acknowledgeTestProblemsRequest and acknowledgeTestProblemsResponse.
...