Troubleshooting
Problem
If you use "tns" in the XSD schema package stereotype property "TargetNamespacePrefix", the UML to WSDL transformation fails silently resulting in an "Unhandled event loop exception during blocked modal context" entry added to the .log.
Symptom
Steps to reproduce:
- Create a model called TestXSDModel into which you import the XSD Model library
- Add a package called "test" to the model
- Apply the XSD transformation profile to the model
- Apply to the package "testSchema" the stereotype <<schema>>
- Add to the package "testschema" a class "testComplexType" which you stereotype as
<<complexType>> and add an attribute test of type XSDDataTypes::XSDDataTypes::string - Add to the package "testschema" a class "testSimpleType" with an attribute "test" of type XSDDataTypes::XSDDataTypes::string
- Look at the Properties of the package "testSchema", select Stereotypes, identify the schema stereotype property "TargetNamespacePrefix" and set its value to "tns".
- Save the model
- Create a model package called "TestService". Apply the Software Services Profile.
- Add to the model a package called "com"
- Add an interface called "phonebookInterface" with the stereotype <<serviceSpecification>>
- Add an operation "testOp" to the interface with an in parameter "aParam" of type testComplexType and an out parameter "aParam2" of type testSimpleType
- Create a UML to WSDL transformation with the default options selecting PhonebookInterfaceModel as the source and a project where resides the model as the target.
- Run the transformation.
Actual Result:
Nothing is generated and no message is given to the user about the failure.
The error below is added to the .log, and can be seen if opening the Error Log View:
!ENTRY org.eclipse.jface 4 0 2009-06-18 15:43:06.828
!MESSAGE Unhandled event loop exception during blocked modal context.
!STACK 0
org.eclipse.swt.SWTException: Failed to execute runnable (java.lang.NullPointerException)
[..]
Caused by: java.lang.NullPointerException
at org.eclipse.xsd.util.XSDConstants.lookupQualifier(Unknown Source)
at org.eclipse.xsd.impl.XSDConcreteComponentImpl.niceSetAttributeURIValue(Unknown Source)
at org.eclipse.xsd.impl.XSDElementDeclarationImpl.changeReference(Unknown Source)
at org.eclipse.xsd.impl.XSDConcreteComponentImpl.updateElement(Unknown Source)
at org.eclipse.xsd.impl.XSDConcreteComponentImpl.updateElement(Unknown Source)
at org.eclipse.xsd.impl.XSDConcreteComponentImpl.updateElement(Unknown Source)
at org.eclipse.wst.wsdl.internal.impl.XSDSchemaExtensibilityElementImpl.createElement(Unknown Source)
at org.eclipse.wst.wsdl.internal.impl.TypesImpl.createElement(Unknown Source)
at org.eclipse.wst.wsdl.internal.impl.DefinitionImpl.createElement(Unknown Source)
at org.eclipse.wst.wsdl.internal.impl.WSDLElementImpl.updateElement(Unknown Source)
at org.eclipse.wst.wsdl.util.WSDLResourceImpl.doSave(Unknown Source)
at org.eclipse.emf.ecore.resource.impl.ResourceImpl.save(Unknown Source)
at com.ibm.xtools.transform.merge.internal.helper.ResourceFileAdaptor.getContents(Unknown Source)
at com.ibm.xtools.transform.merge.internal.helper.ResourceFileAdaptor.getContents(Unknown Source)
at com.ibm.xtools.transform.merge.internal.model.ModelElement$EditableResource.createContenAccessor(Unknown Source)
at com.ibm.xtools.transform.merge.internal.model.ModelElement$EditableResource.<init>(Unknown Source)
at com.ibm.xtools.transform.merge.internal.model.ModelElement.init(Unknown Source)
at com.ibm.xtools.transform.merge.internal.model.AbstractModelElement.<init>(Unknown Source)
at com.ibm.xtools.transform.merge.internal.model.ModelElement.<init>(Unknown Source)
at com.ibm.xtools.transform.merge.internal.model.ContainerModelElement.createChildren(Unknown Source)
at com.ibm.xtools.transform.merge.internal.model.ContainerModelElement.getChildren(Unknown Source)
at com.ibm.xtools.transform.merge.internal.model.ContainerModelElement.init(Unknown Source)
at com.ibm.xtools.transform.merge.internal.model.AbstractModelElement.<init>(Unknown Source)
at com.ibm.xtools.transform.merge.internal.model.ContainerModelElement.<init>(Unknown Source)
at com.ibm.xtools.transform.merge.internal.model.ContainerModelElement.createChildren(Unknown Source)
at com.ibm.xtools.transform.merge.internal.model.ContainerModelElement.getChildren(Unknown Source)
at com.ibm.xtools.transform.merge.internal.model.ContainerModelElement.init(Unknown Source)
at com.ibm.xtools.transform.merge.internal.model.AbstractModelElement.<init>(Unknown Source)
at com.ibm.xtools.transform.merge.internal.model.ContainerModelElement.<init>(Unknown Source)
at com.ibm.xtools.transform.merge.internal.model.TransformMergeModelImpl.initialize(Unknown Source)
at com.ibm.xtools.transform.merge.internal.model.TransformMergeModelImpl.<init>(Unknown Source)
at com.ibm.xtools.transform.merge.internal.rules.MergeRule.createTransformMergeModel(Unknown Source)
... 37 more
Cause
This issue has been identified as a product defect and has been logged as a Authorized Program Analysis Report (APAR) PK89279.
Resolving The Problem
WORKAROUNDS:
- Remove or change the XSD Model schema package property "TargetNamespacePrefix" to use another prefix than "tns"
- Stereotype the classes in the XSD model (testSimpleType and testComplexType) as <<global>>
[{"Product":{"code":"SS4JCV","label":"Rational Software Architect for WebSphere Software"},"Business Unit":{"code":"BU053","label":"Cloud & Data Platform"},"Component":"Web Services Development","Platform":[{"code":"PF033","label":"Windows"}],"Version":"7.5;7.5.1;7.5.2;7.5.3","Edition":"","Line of Business":{"code":"LOB15","label":"Integration"}}]
Was this topic helpful?
Document Information
Modified date:
16 June 2018
UID
swg21390925