Kbase P101149: Getting error "No Deserializer found to deserialize" when deploying Web Service
Autor |
  Progress Software Corporation - Progress |
Acesso |
  Público |
Publicação |
  04/05/2007 |
|
Status: Verified
FACT(s) (Environment):
OpenEdge 10.x
Web Services
Tomcat
SYMPTOM(s):
Getting error "No Deserializer found to deserialize" when deploying a Web Service.
WSA request error: Error in SOAP body: No Deserializer found to deserialize a '''''''' ''''urn:schemas-progress-com:WSAD:<nnnn>:WSADType'''''''''''''''' using encoding style '' '''''''''''http://schemas.xmlsoap.org/soap/encoding/''''''''''''''''. (10915)
<nnnn> is a four-digit number.
The file 'wsad<nnnn>.xsd' exists in the servlets\wsa subdirectory of the OpenEdge installation directory.
It is possible to return the status of the WSA without any problem.
When executing 'http://hostname:8080/wsa" from a web browser, the file 'wsad<nnnn>.xsd' is not listed.
Used to work with a previous OpenEdge installation and the same Java Servlet Engine (e.g. Tomcat).
CAUSE:
The 'wsa' directory copied into the Tomcat's 'webapps' directory is coming from the previous OpenEdge installation.
The XML schema definition files may not be compatible across OpenEdge sub-releases, and/or new files may be introduced with newer releases of OpenEdge.
For example, moving from 10.0B to 10.1A, you may see the following error message:
WSA request error: Error in SOAP body: No Deserializer found to deserialize a '''''''' ''''urn:schemas-progress-com:WSAD:0005:WSADType'''''''''''''''' using encoding style '' '''''''''''http://schemas.xmlsoap.org/soap/encoding/''''''''''''''''. (10915)
The reason is OpenEdge 10.1A includes file wsad0005.xsd in the servlets\wsa subdirectory, but that file does not exist in 10.0B.
FIX:
Follow the steps below:
1- Stop Tomcat
2- Backup the 'wsa' directory located in [Tomcat directory]\webapps
3- Copy the directory 'wsa' located in [OpenEdge directory]\servlets and place it into [Tomcat directory]\webapps (overwriting all files except for the web.xml file)
4- Restart Tomcat