In SoapUI trying to call Gen Custom Web Service deployed to WebSphere Application Server (WAS) returns "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".
Then 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.
Gen Enterprise Java Beans
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.)
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: Gen EJB Web Service runtimes as WebSphere shared library