Consultor Eletrônico



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