Troubleshooting
Problem
In the following scenario, you cannot build a project using the serviceDeploy tool: A module, M, defines a dependency on a library, K.The library, K, defines a dependency on another library, L.The module uses an artifact (for example, business object, interface) that is defined in the library, L. The module and each library is packaged as a single compressed (.zip) file that contains only the module, library, and artifacts but no specific metadata.
Symptom
The information contained in this document has been moved to developerWorks Answers located here. This technote will be archived in 60 days. Please bookmark the new location.
You can find more information about the serviceDeploy tool in the information center.
According to this scenario, the following dependencies exist:
Module M <- Library K <- Library L
The library L defines the artifacts that are used by the module M. Each module and library might be packaged manually as a Java™ archive (JAR) file (M.jar, K.jar, and L.jar) and grouped together in a compressed (.zip) file:
Project.zip
|- M.jar
|- K.jar
|- L.jar
When you run the serviceDeploy tool with the project structured as previously illustrated, the following error message is logged if the module M references an artifact in the library L:
C:\wps\bin>serviceDeploy.bat Project.zip
...
Starting workbench in C:\wps\bin\124a5cdfbca
Initializing workspace
Building project K.jar
Building project L.jar
Building project M.jar
...
1 error messages were reported during deployment:
Severity: [error]
Description: XSD: Type reference 'http://sample#MyBusinessObject' is unresolved
Resource: MyInterface.wsdl
Assuming that the artifact MyBusinessObject is located in the library L, the serviceDeploy tool cannot resolve the transient dependencies of the libraries and modules.
Cause
The serviceDeploy tool does not handle or support transient dependencies. In addition, if the project is built with WebSphere Integration Developer, the transient dependencies are not resolved. Both WebSphere Integration Developer and the serviceDeploy tool use the same builders to compile and compose the application. This applies to WebSphere Process Server-related artifacts. However, other resources, such as Java source code or class files, are found even if they have transient dependencies between modules and libraries. This situation occurs because exporting a project from WebSphere Integration Developer re-exports all of the artifacts in their defined order and export list position in the project properties (Java build path). This situation is not the case for WebSphere Integration Developer builders that are responsible for artifacts such as business objects, interfaces, and so on.
Resolving The Problem
To resolve the problem, do not define transient dependencies between modules and libraries. If you do, the WebSphere Integration Developer tools log an error message. In addition, export the project from WebSphere Integration Developer as a project interchange file or integration module. The resulting project can successfully be compiled by the serviceDeploy tool.
Related Information
Product Synonym
WPS
Was this topic helpful?
Document Information
Modified date:
23 June 2018
UID
swg21409034