Ultimi argomenti attivi
» RENTRI: Dubbi e curiositàDa urgada Ieri alle 10:52 pm
» Rentri: conservazione digitale costi
Da Paolo UD Mer Nov 13, 2024 12:09 pm
» Scheda Materiali
Da MagoMerlino Mer Nov 06, 2024 1:48 pm
» capacità finanziaria dimostrabile con la LIPE ?
Da Sciùr Colombo Lun Nov 04, 2024 5:07 pm
» RENTRI: sistemi di geolocalizzazione per il trasporto di rifiuti pericolosi
Da Paolo UD Gio Ott 31, 2024 11:36 am
» Rientri. Trasporti conto terzi
Da Transporter Mer Ott 16, 2024 7:53 pm
» Rnera fondo giallo sui colli di rifiuti pericolosi - responsabilità condivisa?
Da lotus1 Mar Set 17, 2024 1:23 pm
» Mud - Errore sul civico: E' da reinviare?
Da Paolo UD Lun Ago 05, 2024 10:51 am
» 1263 - curiosità
Da lotus1 Ven Ago 02, 2024 11:59 am
» Ritiro rifiuti da privati - Sentenza CdS 29 Maggio 2023 n. 5257
Da skywalker2016 Mar Lug 30, 2024 10:44 am
Errore axis2 nella chiamata al WS
4 partecipanti
Pagina 1 di 1
Errore axis2 nella chiamata al WS
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?
<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?
riccardock- Membro della community
- Messaggi : 33
Data d'iscrizione : 08.11.13
valorizzazione campo
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.
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.
mant62- Membro della community
- Messaggi : 27
Data d'iscrizione : 26.10.10
Età : 61
Località : aprilia (lt)
Re: Errore axis2 nella chiamata al WS
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!
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.
riccardock- Membro della community
- Messaggi : 33
Data d'iscrizione : 08.11.13
Tutto ok...
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.
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.
mant62- Membro della community
- Messaggi : 27
Data d'iscrizione : 26.10.10
Età : 61
Località : aprilia (lt)
Re: Errore axis2 nella chiamata al WS
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.
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.
riccardock- Membro della community
- Messaggi : 33
Data d'iscrizione : 08.11.13
Re: Errore axis2 nella chiamata al WS
utilizzi softtokenengine.dll? domanda: in caso di token multi identity viene sempre la finestrina che chiede l'identity oppure no?
fabiodafirenze- Utente Attivo
- Messaggi : 424
Data d'iscrizione : 20.01.10
Re: Errore axis2 nella chiamata al WS
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).
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?
riccardock- Membro della community
- Messaggi : 33
Data d'iscrizione : 08.11.13
Re: Errore axis2 nella chiamata al WS
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.
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.
fabiodafirenze- Utente Attivo
- Messaggi : 424
Data d'iscrizione : 20.01.10
Re: Errore axis2 nella chiamata al WS
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...
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.
riccardock- Membro della community
- Messaggi : 33
Data d'iscrizione : 08.11.13
Io ho fatto cosi...
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 ).
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 ).
mant62- Membro della community
- Messaggi : 27
Data d'iscrizione : 26.10.10
Età : 61
Località : aprilia (lt)
Re: Errore axis2 nella chiamata al WS
Ciao,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.
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
Input- Utente Attivo
- Messaggi : 77
Data d'iscrizione : 20.04.11
Re: Errore axis2 nella chiamata al WS
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).
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:Ciao,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.
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
riccardock- Membro della community
- Messaggi : 33
Data d'iscrizione : 08.11.13
Re: Errore axis2 nella chiamata al WS
Grazie mille per la risposta.
Faccio qualche prova..poi vi dico.
Faccio qualche prova..poi vi dico.
Input- Utente Attivo
- Messaggi : 77
Data d'iscrizione : 20.04.11
Re: Errore axis2 nella chiamata al WS
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
grazie
Input
Importando semplicemente il riferimento da errore e purtroppo le mie conoscenze di VS sono ancora troppo limitate visto che abitualmente programmo in altri linguaggi
grazie
Input
Input- Utente Attivo
- Messaggi : 77
Data d'iscrizione : 20.04.11
Argomenti simili
» Errore nella compilazione del MUD
» errore nella procedura iscrizione
» errore nella compilazione della dichiarazione Mud
» ERRORE NELLA COMPILAZIONE DELLA DOMANDA DI ISCRIZIONE
» Errore nella numerazione delle operazioni sul registro C/S: inserisco un numero bis?
» errore nella procedura iscrizione
» errore nella compilazione della dichiarazione Mud
» ERRORE NELLA COMPILAZIONE DELLA DOMANDA DI ISCRIZIONE
» Errore nella numerazione delle operazioni sul registro C/S: inserisco un numero bis?
Pagina 1 di 1
Permessi in questa sezione del forum:
Non puoi rispondere agli argomenti in questo forum.