Errore axis2 nella chiamata al WS

Andare in basso

Errore axis2 nella chiamata al WS

Messaggio  riccardock il Ven Nov 22, 2013 6:53 pm

Quando chiamo alcune funzioni del WS mi viene restituita come faultstring di risposta il messaggio:

<faultstring>org.apache.axis2.databinding.ADBException: Unexpected subelement {elemento} </faultstring>

dove {elemento} è variamente valorizzato con il nome di una delle proprietà dell'oggetto inviato come parametro del metodo. Sto utilizzando il .NET Framework.
A qualcuno è già capitato qualcosa del genere?

avatar
riccardock
Membro della community

Messaggi : 33
Data d'iscrizione : 08.11.13

Torna in alto Andare in basso

valorizzazione campo

Messaggio  mant62 il Ven Nov 22, 2013 7:33 pm

Ciao ,
quel tipo di errore viene fuori quando :
1) è stata omessa la valorizzazione di un campo obbligatorio
2) è stato valorizzato in maniera non adeguata un campo o un sottocoampo
di una struttura XML.

Se vuoi maggiori indicazioni o aiuto
mandami una mail.
avatar
mant62
Membro della community

Messaggi : 27
Data d'iscrizione : 26.10.10
Età : 55
Località : aprilia (lt)

Torna in alto Andare in basso

Re: Errore axis2 nella chiamata al WS

Messaggio  riccardock il Lun Nov 25, 2013 1:05 pm

Era il caso 1)
La causa dell'errore dovrebbe essere l'interpretazione dell'attributo minOccurs=1 da parte dell'XmlSerializer di .Net, in alcuni campi dei tipi xsd definiti nel wsdl tale attribuito è assente e il default è appunto "1", ma se non valorizzo tali campi il serializzatore Xml non genera il tag, e il server restituisce l'errore indicando come inatteso il campo successivo a quello mancante.
Grazie!

mant62 ha scritto:Ciao ,
quel tipo di errore viene fuori quando :
1) è stata omessa la valorizzazione di un campo obbligatorio
2) è stato valorizzato in maniera non adeguata un campo o un sottocoampo
   di una struttura XML.

Se vuoi maggiori indicazioni o aiuto
mandami una mail.
avatar
riccardock
Membro della community

Messaggi : 33
Data d'iscrizione : 08.11.13

Torna in alto Andare in basso

Tutto ok...

Messaggio  mant62 il Lun Nov 25, 2013 4:22 pm

Ok, non mi devi ringraziare, non ho fatto niente , l'importante è che hai risolto..
Sei arrivato a firmare da gestionale?
Piu di qualcuno di noi ha problemi in tal senso.
Vengono restituiti errori del tipo "Impossibile firmare la scheda" etc.
Se hai informazioni condividile , se ti va.
avatar
mant62
Membro della community

Messaggi : 27
Data d'iscrizione : 26.10.10
Età : 55
Località : aprilia (lt)

Torna in alto Andare in basso

Re: Errore axis2 nella chiamata al WS

Messaggio  riccardock il Lun Nov 25, 2013 8:06 pm

Sì, non abbiamo mai avuto problemi di firma, se non quando s'è provato per errore a firmare schede o registrazioni già firmate (l'errore in questi casi non è molto chiaro: "Non sei autorizzato ad eseguire queste operazioni: FIRMA").
Tuttavia la nostra casistica può non essere quella tipica:
1) non abbiamo mai usato il dispositivo unico di interoperabilità (ignoro se ci sia qualche differenza che coinvolga il processo di firma o la sua validazione rispetto alla firma con il token convenzionale)
2) per creare le firme non usiamo la libreria EasySign ma direttamente l'interfaccia PKCS11 del token.

mant62 ha scritto:Ok, non mi devi ringraziare, non ho fatto niente , l'importante è che hai risolto..
Sei arrivato a firmare da gestionale?
Piu di qualcuno di noi ha problemi in tal senso.
Vengono restituiti errori del tipo "Impossibile firmare la scheda" etc.
Se hai informazioni condividile , se ti va.
avatar
riccardock
Membro della community

Messaggi : 33
Data d'iscrizione : 08.11.13

Torna in alto Andare in basso

Re: Errore axis2 nella chiamata al WS

Messaggio  fabiodafirenze il Mar Nov 26, 2013 1:57 pm

utilizzi softtokenengine.dll? domanda: in caso di token multi identity viene sempre la finestrina che chiede l'identity oppure no?
avatar
fabiodafirenze
Utente Attivo

Messaggi : 355
Data d'iscrizione : 20.01.10

Torna in alto Andare in basso

Re: Errore axis2 nella chiamata al WS

Messaggio  riccardock il Mar Nov 26, 2013 8:07 pm

Sì, noi si carica il SoftTokenEngine.dll e si usa l'interfaccia PKCS11.

Nel caso di token multi identity, al momento dell'invocazione C_Login viene mostrata la dialog di richiesta dell'identity (se hai notato è sempre non modale perché proviene dalla dll stessa, che non ha alcun handle di finestra).

fabiodafirenze ha scritto:utilizzi softtokenengine.dll? domanda: in caso di token multi identity viene sempre la finestrina che chiede l'identity oppure no?
avatar
riccardock
Membro della community

Messaggi : 33
Data d'iscrizione : 08.11.13

Torna in alto Andare in basso

Re: Errore axis2 nella chiamata al WS

Messaggio  fabiodafirenze il Mer Nov 27, 2013 1:45 pm

mi confermi quanto riportato anche nel vecchio doc sul sito del sistri..

I token multi identity ho il sospetto siano la maggioranza, o gli utenti passano al token unico, oppure si tengono la finestrina. Io come palliativo metto l'identity opzionalmente negli appunti e dico di dare ctrl-v, però in certe situazioni la firma da interoperabilità è impossibile in pratica. Teoricamente dovrebbe essere possibile agganciare la finestrina e buttarci dentro i caratteri, usando direttamente win32 e con i giusti permessi, almeno.
avatar
fabiodafirenze
Utente Attivo

Messaggi : 355
Data d'iscrizione : 20.01.10

Torna in alto Andare in basso

Re: Errore axis2 nella chiamata al WS

Messaggio  riccardock il Mer Nov 27, 2013 3:39 pm

Sì, penso anche io che la finestra per l'inserimento dell'identity nei token multi-identity sia ineludibile.
In pratica rappresenta la richiesta di un input non previsto dall'interfaccia PKCS11, la quale presuppone che tutti gli oggetti contenuti nel token (chiavi private, certificati, etc) siano riferiti alla stessa persona.
Sarebbe stato comodo poter fornire l'identity alla SoftTokenEngine.dll anche attraverso una apposita funzione recuperabile attraverso la "GetProcAddress" e invocabile, ad esempio, prima della C_Login, o dopo l'inizializzazione. Tra le funzioni non-PKCS11 esportate dall .dll non sembra esserci niente del genere.

Ma la cosa veramente opportuna, anche sotto l'aspetto non prettamente tecnico, sarebbe stato consentire la firma dei documenti SISTRI anche tramite i token di firma digitale rilasciati dalle CA riconosciute, peraltro già in possesso della maggior parte dei soggetti coinvolti...

fabiodafirenze ha scritto:mi confermi quanto riportato anche nel vecchio doc sul sito del sistri..

I token multi identity ho il sospetto siano la maggioranza, o gli utenti passano al token unico, oppure si tengono la finestrina. Io come palliativo metto l'identity opzionalmente negli appunti e dico di dare ctrl-v, però in certe situazioni la firma da interoperabilità è impossibile in pratica. Teoricamente dovrebbe essere possibile agganciare la finestrina e buttarci dentro i caratteri, usando direttamente win32 e con i giusti permessi, almeno.
avatar
riccardock
Membro della community

Messaggi : 33
Data d'iscrizione : 08.11.13

Torna in alto Andare in basso

Io ho fatto cosi...

Messaggio  mant62 il Mer Nov 27, 2013 5:26 pm

Salve,
io ho risolto , in VB .net , usando la funzione SendKeys prima dell' apertura
della sessione di interfaccia al token (opensession) , dato che la simulazione dei
tasti rimane nel buffer di tastiera. Quindi non mi apre la finestrella , o meglio si apreù
e si chiude in automatico.

Sendkeys("identity.identityxxxx")
Sendkeys(chr(13))

e funziona perfettamente ( su sistemi windows ).
avatar
mant62
Membro della community

Messaggi : 27
Data d'iscrizione : 26.10.10
Età : 55
Località : aprilia (lt)

Torna in alto Andare in basso

Re: Errore axis2 nella chiamata al WS

Messaggio  Input il Mer Dic 04, 2013 5:16 pm

mant62 ha scritto:Ciao ,
quel tipo di errore viene fuori quando :
1) è stata omessa la valorizzazione di un campo obbligatorio
2) è stato valorizzato in maniera non adeguata un campo o un sottocoampo
   di una struttura XML.

Se vuoi maggiori indicazioni o aiuto
mandami una mail.
Ciao,

sto iniziando anche io il discorso interoperabilità...connessione ok, interrogazioni più o meno ok..
adesso stavo iniziando a provare la creazione di una registrazione e sono incorso anche io nel problema qui segnalato..mi chiedevo se e dove è possibile reperire l'elenco dei campi che obbligatoriamente devono essere compilati. qualcuno che ne sa di più può aiutarmi?
Grazie
avatar
Input
Utente Attivo

Messaggi : 72
Data d'iscrizione : 20.04.11

Torna in alto Andare in basso

Re: Errore axis2 nella chiamata al WS

Messaggio  riccardock il Mer Dic 04, 2013 7:56 pm

Non so se esista un documento specifico, io al momento controllo direttamente il WSDL del servizio: gli elementi dei tipi che non hanno l'attributo minOccurs="0" sono sempre necessari, altrimenti fallisce il binding lato server, mentre l'assenza di un valore (o meglio la presenza di stringhe vuote o campi numerici a 0 dove non sono ritenuti validi tali valori), viene segnalata da un faultMsg esplicito del servizio stesso.

Ad esempio, nel caso della RegisrtazioneCrono_Base, se non valorizzi la proprietà "codiceCerIIILivello" con un'istanza della classe Catalogo, ti viene segnalato un errore del primo tipo ("org.apache.axis2.databinding.ADBException") che ti segnala il tag che segue come "unexpected", stessa cosa se nell'oggetto Catalogo non valorizzi il campo idCatalogo con una stringa, mentre se la stringa che indichi come CER è una string vuota (""), l'errore che viene segnalato è un faultMsg del tipo:

[requestId=...]: Errore in Fase di Validazione dei Dati di Input: i campi della Scheda di seguito elencati presentano i seguenti errori:
(field:<cer.id>, <validation_field_error_item_selection_required>)

Nel primo caso, alcuni framework per client Web service, come ad esempio Axis2 stesso, effettuano una validazione degli oggetti verso il WSDL anche prima dell'invio, e ti segnalano in modo esplicito l'assenza dei campi necessari (io l'ho usato per testare alcune invocazioni in cui non valorizzavo quasi nulla di quello che realmente serviva per rendere la richiesta conforme al WSDL).


Input ha scritto:
mant62 ha scritto:Ciao ,
quel tipo di errore viene fuori quando :
1) è stata omessa la valorizzazione di un campo obbligatorio
2) è stato valorizzato in maniera non adeguata un campo o un sottocoampo
   di una struttura XML.

Se vuoi maggiori indicazioni o aiuto
mandami una mail.
Ciao,

sto iniziando anche io il discorso interoperabilità...connessione ok, interrogazioni più o meno ok..
adesso stavo iniziando a provare la creazione di una registrazione e sono incorso anche io nel problema qui segnalato..mi chiedevo se e dove è possibile reperire l'elenco dei campi che obbligatoriamente devono essere compilati. qualcuno che ne sa di più può aiutarmi?
Grazie
avatar
riccardock
Membro della community

Messaggi : 33
Data d'iscrizione : 08.11.13

Torna in alto Andare in basso

Re: Errore axis2 nella chiamata al WS

Messaggio  Input il Gio Dic 05, 2013 4:36 pm

Grazie mille per la risposta.

Faccio qualche prova..poi vi dico.
avatar
Input
Utente Attivo

Messaggi : 72
Data d'iscrizione : 20.04.11

Torna in alto Andare in basso

Re: Errore axis2 nella chiamata al WS

Messaggio  Input il Ven Dic 06, 2013 3:38 pm

Volevo ringraziare riccardock e mant62 che mi hanno permesso, grazie ai loro consigli di arrivare ad interrogare il sistri tramite interoperabilità ed anche ad inserire dati (vedi ad esempio una registrazione cronologica)... adesso aimè avrei nuovamente bisogno di qualche imbeccata... come si carica il SoftTokenEngine.dll in visual studio??
Importando semplicemente il riferimento da errore e purtroppo le mie conoscenze di VS sono ancora troppo limitate visto che abitualmente programmo in altri linguaggi dho dho dho 

grazie
Input
avatar
Input
Utente Attivo

Messaggi : 72
Data d'iscrizione : 20.04.11

Torna in alto Andare in basso

Re: Errore axis2 nella chiamata al WS

Messaggio  Contenuto sponsorizzato


Contenuto sponsorizzato


Torna in alto Andare in basso

Torna in alto

- Argomenti simili

 
Permessi di questa sezione del forum:
Non puoi rispondere agli argomenti in questo forum