2010-09-30 16 views
11

¿Qué significa la siguiente AxisFault?AxisFault: ¿Qué significa Server.userException?

¿Quiere decir que:

  • La solicitud que se emite y recibida por el servidor y el servidor inicia una excepción (no detectada), y por lo tanto la excepción se devuelve de nuevo al cliente.

o

  • Mi aplicación web no puede crear la solicitud SOAP (lo que la solicitud no es ni siquiera envió desde la aplicación cliente)

NB. Soy nuevo en servicios web

AxisFault 
faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.userException 
faultSubcode: 
faultString: org.xml.sax.SAXParseException: An invalid XML character (Unicode: 0x1c) was found in the element content of the document. 
faultActor: 
faultNode: 
faultDetail: 
     {http://xml.apache.org/axis/}stackTrace:org.xml.sax.SAXParseException: An invalid XML character (Unicode: 0x1c) was found in the element content of the document. 
     at org.apache.xerces.util.ErrorHandlerWrapper.createSAXParseException(Unknown Source) 
     at org.apache.xerces.util.ErrorHandlerWrapper.fatalError(Unknown Source) 
     at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source) 
     at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source) 
     at org.apache.xerces.impl.XMLScanner.reportFatalError(Unknown Source) 
     at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source) 
     at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source) 
     at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source) 
     at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source) 
     at org.apache.xerces.parsers.XMLParser.parse(Unknown Source) 
     at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source) 
     at org.apache.xerces.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source) 
     at org.apache.xerces.jaxp.SAXParserImpl.parse(Unknown Source) 
     at org.apache.axis.encoding.DeserializationContext.parse(DeserializationContext.java:227) 
     at org.apache.axis.SOAPPart.getAsSOAPEnvelope(SOAPPart.java:696) 
     at org.apache.axis.Message.getSOAPEnvelope(Message.java:435) 
+1

Si es nuevo en los servicios web, * realmente * desea evitar Axis. Es antiguo, obsoleto y basura. – skaffman

+0

Eso, desafortunadamente, no es una opción :(Ya está en la base de código, no estoy construyendo nada nuevo. Estoy tratando de descubrir qué está mal. – ryanprayogo

+1

@skaffman: Dejando eso de lado, ¿qué biblioteca sugerirías? – ryanprayogo

Respuesta

10

Si la aplicación está respetando la extensibilidad de los códigos de error de SOAP, entonces significa que el servidor recibe un mensaje SOAP, pero no fue capaz de analizarlo. El mensaje invalid XML character (Unicode: 0x1c) was found in the element content of the document debe ser un buen indicador de lo que está mal.

Su servidor está arrojando una excepción, que Axis envía al cliente como una falla SOAP. El código de falla indica un error del servidor. Tenga en cuenta que el código de error Server.userException no es un valor estándar, simplemente es un tipo más específico de código de error del servidor.

Los valores de código de error SOAP predeterminados se definen de forma extensible, lo que permite definir nuevos valores de código de error SOAP. El mecanismo usa un punto (.) Para definir tipos de errores más específicos. Indica que lo que está a la izquierda del punto es un valor de código de falla más genérico que el valor a la derecha. Ver las especificaciones here.

Supongo que Server.userException es una forma pertinente de decir que la excepción se produjo en el servidor pero no es algo estrictamente relacionado con el servidor sino relacionado con lo que el cliente envió (.userException). Al menos eso es lo que creo que los autores tenían en mente. Esto es para que descubras: D.

+0

Perfecto, gracias – ryanprayogo