CA Gen Custom Web Service deployed to WebSphere fails in SoapUI with "Internal Error" (java.io.IOException: Properties file not found)

book

Article ID: 205915

calendar_today

Updated On:

Products

CA Gen

Issue/Introduction

When try to use Custom Web Service deployed to WebSphere Application Server (WAS), SoapUI shows "Internal Error".
To see the actual error message from web services, add property "webservices.unify.faults=false" to WebSphere server "Java and Process Management > Process Definition > Java Virtual Machine > Custom Properties" and instead of "Internal Error" see error "Properties file not found" i.e.
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:gen="http://tempuri.org" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
   <soapenv:Body>
      <soapenv:Fault>
         <faultcode>soapenv:Server</faultcode>
         <faultstring>[Properties file not found]
Unable to read SOAP message. Please see server logs for more information.</faultstring>
      </soapenv:Fault>
   </soapenv:Body>
</soapenv:Envelope> 

The WAS SystemErr.log file will also show this exception:
[12/21/20 14:51:53:996 PST] 0000016b SystemErr     R java.io.IOException: Properties file not found
[12/21/20 14:51:53:996 PST] 0000016b SystemErr     R  at com.ca.gen85.wsrt.router.GenServiceRouter.readPropertyFile(Unknown Source)
[12/21/20 14:51:53:996 PST] 0000016b SystemErr    R  at com.ca.gen85.wsrt.router.GenServiceRouter.getSOAPInfo(Unknown Source)
[12/21/20 14:51:53:996 PST] 0000016b SystemErr    R  at com.ca.gen85.wsrt.router.GenServiceRouter.invoke(Unknown Source)
...
 
ADDITIONAL INFORMATION:
The Gen java runtime has not been included in the Assemble step i.e. "Package runtime in EAR" was not selected and instead the Gen java runtime .jar file is included in a WAS shared library that was assigned to the application at deployment time.
Under the WAS Admin Console section for the deployed application, only the Custom Web Service displays under "Web Services Properties > Service providers" and the default EJB Web Service is missing.

Cause

The fundamental problem is that although the Gen java runtime is available in the shared library which is assigned to the deployed application, the default EJB Web Service has failed to deploy successfully because of a failure to resolve those runtime classes at deployment time.
The Custom Web Service is dependent on the default EJB Web Service and will not function without it. (Note that requirement is also enforced during the Assemble step where the Custom Web Service can only be assembled if the default EJB Web Service is also selected with it.)

Environment

Release : 8.5, 8.6
Component : CA Gen Enterprise Java Beans

Resolution

Trying to get the default EJB Web Service to deploy successfully under WAS when "Package runtime in EAR" is not selected at Assemble time i.e. .ear file contains no Gen java runtime .jar file, has been found to be a problem even though a shared library for the Gen java runtime .jar file is assigned to the application at deployment time. This KB article covers a workaround of temporarily adding the Gen java runtime .jar file to the WAS JVM Classpath just for the deployment step, then removing it and using the shared library for the Gen java runtime .jar file at execution time:
Does CA Gen EJB Web Service and Custom Web Service deployment require "Package runtime in EAR" at Assemble time