Common Problems and Solutions
Back to Web Services Resources and Tutorials
- ...javax.xml.rpc.soap.SOAPFaultException: Deserializing parameter...could not find deserializer for type...
- You have documents passed in your SOAP Envelope that cannot be deserialized because your
web service is missing a ws4ee-deployment.xml file. See
Packaging and Deploying the Service in the
JBoss 4.0.3 Document/Literal Web Service Tutorial for
information on creating this file and packaging it in the web service.
- WS client error: "Namespace URI cannot be null"
- Axis web services will not accept a SOAP request with null namespace URIs. When you generate a
web service proxy in .NET, the autogenerator sets the namespace annotation for outgoing (request)
parameters to "Unqualified". You need to change these to "Qualified" and rebuild the proxy.
- SEVERE: SAAJ0540: Error during saving a multipart message
SOAPException: 'Error during saving a multipart message'
'javax.activation.UnsupportedDataTypeException': no object DCH for MIME type xxxx
- You have a content type which your DataHandler class does not support ("DCH"
stands for "DataContentHandler"). To see the order in which sources are parsed for supported
data types, see the J2EE Javadoc for javax.activation.MimetypesFileTypeMap. Most likely
you are using the mimetypes.default file from the META-INF directory of the
activation.jar file.
- wscompile: error: modeler error: invalid entity name: "xxxx" (in namespace: "yyyy")
- There are two typical causes for this:
- wscompile legitimately cannot find the entity from the namespace because of a mistake you've made
in the WSDL, for example in the structuring of the "types" element.
- wscompile appears to have a limitation of depth=1 for schema import. In other words, it appears
to be be able to process one schema import within the "schema" element in the "types" element, but
is not able to process an import from within the imported schema. A thread on this problem can be
found at
http://forum.java.sun.com/thread.jspa?threadID=600196&messageID=3286011 (although there appears to
be ongoing debate on the reason for the problem).
- SAAJ Client: caught exception while handling request: unrecognized operation: {someNamespace}xxxx
- When you create the elements of a SOAP message in a SAAJ client for a document/literal
web service, note that the document elements are in the namespace in which you defined your
WSDL types, not the WSDL document namespace itself (Note: depending on how you defined
your WSDL document, these namespaces may be the same). If the service is not
recognizing the operation and the name appears to be correct, ensure that the namespace
in which it is looking corresponds to the namespace in which the element was defined.
- SAAJ Client: caught exception while handling request: no attachment with id "xxxx" found in message
- The Sun Application Server expects message-defined MIME attachment parts to
have the "Content-Id" header field set to a string with the following structure:
- An optional opening bracket "<"
- The name of the document element which corresponds to the message part
- An equals sign "="
- Optionally, a UID of some kind
- An "@" sign
- Optionally, a domain name
- An optional closing bracket ">"
Service-side code generated during the deployment of your web service specifically
looks for "=" and "@" and will throw an exception if it does not find them. The
exception message, unfortunately, does not correctly describe the problem. To
peruse the code that is doing the searching for the attachments, look under the
"generated" directory of your application domain, then "ejb", then "j2ee-modules",
then a directory of the same name as your webapp deployment. In that structure,
you should find the generated class referenced in the server stack trace (the
server log contains the full trace for the error you see in the console). That
class has a private method called getAttachment() which contains the
logic responsible for the exception you see for this problem.
Back to Top
Back to Web Services Resources and Tutorials