Hola.
Tengo un problema para obtener una excepción personalizada de un webservice de terceros. El método funciona bien, pero cuando hay una excepción, no he podido cacharla correctamente.
Me mandaron este ejemplo. Se supone que así debería funcionar. Pero no me reconoce "exampleException " como un objeto de tipo excepción.
Código:
public byte[] getexample(String user, String pass, byte[] file) {
try {
exampleService.getexample(user, pass, file);
} catch (exampleException examplee) {
examplee.printStackTrace(); System.out.println("exampleExcepcion: " + examplee.getText());
} catch (RemoteException Re) {
Re.printStackTrace(); System.out.println("RemoteExcepcion: " + Re.toString());
} catch (Exception e) {
e.printStackTrace(); System.out.println("Exception: " + e.toString());
} }
Revisé el código que se genera con la implementación del webService y encuentro esto:
Código:
<System.Diagnostics.DebuggerStepThroughAttribute(), _
System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "3.0.0.0"), _
System.Runtime.Serialization.DataContractAttribute(Name:="exampleException", [Namespace]:="http://example.service.ejemplo.company.com"), _
System.SerializableAttribute()> _
Partial Public Class exampleException
Inherits Object
Implements System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged
<System.NonSerializedAttribute()> _
Private extensionDataField As System.Runtime.Serialization.ExtensionDataObject
Private codField As Integer
Private textField As String
Le cambié "Inherits Object" a "Inherits Exception" de esta manera ya me reconoce el objeto "exampleException ". Pero no funciona, me marca el siguiente error:
"el tipo exampleException no puede ser Iserializable y tener el atributo dataContractAttribute"
No se qué me falta por hacer, o cómo implementar este tipo de excepciones.
Les agradezco de antemano por su tiempo.
Saludos...