2010-09-30 21 views
11

Che cosa significa il seguente AxisFault?AxisFault: cosa significa Server.userException?

Vuol dire che:

  • La richiesta che viene emesso e ricevuto dal server e il server genera un'eccezione (non rilevato), e, pertanto, l'eccezione viene restituita al client.

o

  • mio web app non riesce a creare la richiesta SOAP (quindi la richiesta non viene anche inviato dalla applicazione client)

NB. Sono nuovo di servizi 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

Se non hai mai utilizzato i servizi Web, * vuoi * davvero evitare Axis. È antico, obsoleto e spazzatura. – skaffman

+0

Questo, sfortunatamente, non è un'opzione :(È già nella base di codice, non sto costruendo nulla di nuovo Sto solo cercando di capire cosa c'è che non va – ryanprayogo

+1

@skaffman: A parte questo, quale libreria suggeriresti? – ryanprayogo

risposta

10

Se l'applicazione rispetta l'estensibilità dei codici di errore SOAP, allora significa che il server ha ricevuto un messaggio SOAP, ma era in grado di analizzarlo.

Il messaggio invalid XML character (Unicode: 0x1c) was found in the element content of the document dovrebbe essere un buon indicatore di ciò che è sbagliato.

Il server genera un'eccezione, che Axis invia al client come errore SOAP. Il codice difetto indica un errore del server. Si noti che il codice di errore Server.userException non è un valore standard, è solo un tipo più specifico di codice di errore del server.

I valori dei codici di errore SOAP predefiniti sono definiti in modo estensibile che consente di definire nuovi valori del codice di errore SOAP. Il meccanismo utilizza un punto (.) Per definire tipi più specifici di errori. Indica che ciò che è a sinistra del punto è un valore di codice di errore più generico rispetto al valore a destra. Vedi le specifiche here.

Quindi immagino che Server.userException sia un modo pertinente per dire che l'eccezione si è verificata sul server ma non è qualcosa strettamente correlato al server ma correlato a ciò che il client ha inviato (.userException). Almeno questo è quello che penso che gli autori avessero in mente. Questo è per voi da scoprire: D.

+0

Perfetto, grazie – ryanprayogo