730 precompilato + di uno snippet

msccmra51

Utente Attivo
9 Set 2017
50
0
6
Nulla, l'output è sempre quello. E' veramente frustrante che SOGEI non spieghi meglio il significato degli errori.
Lo schema a blocchi che mi hai mostrato è generato da un SW o lo fai tu? Se è un programma mi diresti come si chiama?
 

marino51

Utente Attivo
28 Feb 2013
2.874
154
63
Lombardia
è generato da un SW
è generato da visual studio 2005 professional edition (acquistato a suo tempo, viene eseguito su win 10 senza problemi)

upload_2017-10-8_7-1-50.png


doppio click sul file xsd ed esce il grafico con tutte le info
Microsoft mette a disposizione versioni gratuite,
https://docs.microsoft.com/it-it/visualstudio/install/install-visual-studio
non ho idea se la versione gratuita contiene tutte le funzionalità

per quanto riguarda l'errore credo sia un problema del software sogei, prova con una telefonata o manda una mail

fai sapere
 

msccmra51

Utente Attivo
9 Set 2017
50
0
6
Grazie grande capo per tutte le info. Il suggerimento di contattare SOGEI è ottimo. Quando ho implementato l'invio dei certificati di malattia INPS la documentazione era meno lacunosa, a meno che la memoria non mi inganni, e ricordo di non aver avuto le difficoltà come in questa occasione. Stay tuned.
 

marino51

Utente Attivo
28 Feb 2013
2.874
154
63
Lombardia
ps, ho ricordato che le info del grafico, in maniera più "spartana" le puoi leggere anche qui ...
PHP:
List of types described in the WSDL for the Web service

struct interrogazionePuntualeRequest
{
string opzionale1;
string opzionale2;
string opzionale3;
string pincode;
ProprietarioType Proprietario;
IdDocumentoFiscaleType idDocumentoFiscale;
}

struct ProprietarioType
{
String3Type codiceRegione;
String3Type codiceAsl;
String6Type codiceSSA;
CfType cfProprietario;
}

string String3Type
string String6Type
questa la ragione della stampa di quel risultato ...

yes sure ! Stay tuned
 

msccmra51

Utente Attivo
9 Set 2017
50
0
6
Nel kit di sviluppo trovi un file di testo in cui sono elencati tutti gli endpoint. Ma forse non capito la domanda?
 

msccmra51

Utente Attivo
9 Set 2017
50
0
6
Problema risolto. Dopo aver scritto a SOGEI quest'ultima mi ha chiesto l'esito della request invita dal server. Così ho scoperto l'arcano: mancava l'array Proprietario. Riguardando il codice ho visto che avevo erroneamente scritto (e di conseguenza anche tu Marino, ma senza colpa dato che hai copiato il mio post) "datiProprietario" invece di "Proprietario". Mi resta incomprensibile perché per inviare la fattura bisogna usare "datiProprietario" e per interrogare "Proprietario". Ora è tutto ok ed è una buona interrogazione ricca di dati. Ecco cosa riporta

Output stdClass Object ( [esitoChiamata] => 0 [documentoFiscale] => stdClass Object ( [idDocumentoFiscale] => stdClass Object ( [pIva] => 00954290599 [dataEmissione] => 2017-08-29 [numDocumentoFiscale] => stdClass Object ( [dispositivo] => 1 [numDocumento] => 11 ) ) [dataPagamento] => 2017-08-29 [totaliVociSpesa] => stdClass Object ( [tipoSpesa] => SR [importo] => 40 ) [protocollo] => 99170829062273765 [nomeFile] => SERVIZIO SINCRONO [dataInvio] => 2017-08-29 [tipoInvio] => I ) [listaMessaggi] => stdClass Object ( [messaggio] => stdClass Object ( [codice] => 0 [descrizione] => Operazione eseguita correttamente [tipo] => ) ) )

Come sempre un grande grazie per la tua disponibilità. Ora sistemo per bene lo script e lo aggiungo qui, a completezza di questa bellissima e lunga discussione.
Ciao

PS mi dici come hai ottenuto "List of types described in the WSDL for the Web service" ?
 

marino51

Utente Attivo
28 Feb 2013
2.874
154
63
Lombardia
ottimo lavoro !

PS mi dici come hai ottenuto "List of types described in the WSDL for the Web service" ?
PHP:
/* -------------------------------------------------------------------------------- Soap Client */
echo show_var($SoapClientParam); echo "<br /> <br />";
$client = new SoapClient($ws, $SoapClientParam);

echo "<p><h4>List of available SOAP functions</h4></p>";
$output = $client->__getFunctions();
while (list ($key, $val) = each ($output) ) echo $val."<br />"; echo "<p> </p>";

echo "<p><h4>List of types described in the WSDL for the Web service</h4></p>";
$output = $client->__getTypes();
while (list ($key, $val) = each ($output) ) echo $val."<br />"; echo "<p> </p>";
 

msccmra51

Utente Attivo
9 Set 2017
50
0
6
AHHHH, ce l'avevo già sotto il naso, c'è in tutti i tuoi script! Vabbè, erano le 2,26 di notte, un po di rincog....ento è giustificato. Buona giornata!
 

msccmra51

Utente Attivo
9 Set 2017
50
0
6
Magari bastasse cliccarci su. Vai a pagina 1 e vedrai come funziona il giocherello. Non ti scoraggiare, Marino ci ha dato la pappa già bella e pronta, bontà sua.
 

marino51

Utente Attivo
28 Feb 2013
2.874
154
63
Lombardia
per facilitare la vita a me stesso e a chi ha voluto utilizzare gli script,
ho trasferito i dati delle fatture/scontrini ... ad un foglio excel
che viene usato come base dati x gli script
 

msccmra51

Utente Attivo
9 Set 2017
50
0
6
Io ho tutti gli script all'interno di un gestionale che pende ogni tipo di dato da un database. Quindi lavoro prevalentemente con degli array che invio agli script. I dati della risposta li visualizzo o in una tabella html (abbellita con plugin jquery ) se sono multipli o in una finestra di dialogo se sono singoli
 
Ultima modifica:

marino51

Utente Attivo
28 Feb 2013
2.874
154
63
Lombardia
ache se con ritardo, può essere molto utile leggere gli "headers" usando il magico tag <xmp>
che permette la visualizzazione di codice xml nel browser
PHP:
<?php
    $err = "SOAP Fault: (faultcode: {$e->faultcode}, faultstring: {$e->faultstring})";

    echo "<p><h4>RICHIESTA TERMINATA CON ERRORE</h4></p>"."<p>$err</p>";
    error_log("RICHIESTA TERMINATA CON ERRORE", 0);


    print_r($e);       echo "<br /> <br />";
    echo show_var($e); echo "<br /> <br />";


    echo "REQUEST HEADERS ============" . "<br /><xmp>";
    var_dump($client->__getLastRequestHeaders()); echo "</xmp><p> </p>";

    echo "REQUEST ====================" . "<br /><xmp>";
    var_dump($client->__getLastRequest()); echo "</xmp><p> </p>";

    echo "RESPONSE HEADERS ===========" . "<br /><xmp>";
    var_dump($client->__getLastResponseHeaders()); echo "</xmp><p> </p>";

    echo "RESPONSE ===================" . "<br /><xmp>";
    var_dump($client->__getLastResponse()); echo "</xmp><p> </p>";


    trigger_error($err, E_USER_ERROR);
    die;
?>
risultato
Codice:
REQUEST HEADERS ============
string(261) "POST /ReportMensile730Web/ReportMensilePort HTTP/1.1
Host: invioSS730pTest.sanita.finanze.it
Connection: Keep-Alive
User-Agent: PHP-SOAP/5.4.9
Content-Type: text/xml; charset=utf-8
SOAPAction: "reportmensile.p730.sanita.finanze.it"
Content-Length: 857
"

REQUEST ====================
string(857) "<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://reportmensile.p730.sanita.finanze.it"><SOAP-ENV:Body><ns1:reportMensileRequest><ns1:opzionale1>0</ns1:opzionale1><ns1:opzionale2>0</ns1:opzionale2><ns1:opzionale3>0</ns1:opzionale3><ns1:pincode>5485370458</ns1:pincode><ns1:Proprietario><ns1:codiceRegione>604</ns1:codiceRegione><ns1:codiceAsl>120</ns1:codiceAsl><ns1:codiceSSA>010011</ns1:codiceSSA><ns1:cfProprietario>dZ40667PaZkzpW7Up4COEjoHtGTxL62EoOEyaNYvI66yU0mCp21rTcjIHIgQB6gYPZIOSGx+sLIweGhyqNHEjxq5NIlSoym8b5ZjW7+mLFFJHYSO2byPGxzupY4i1BcLSYq6O1o8wK3k/wJAsgfqFpdyyre91O8+d+ncvCIIS18=</ns1:cfProprietario></ns1:Proprietario><ns1:annoMese>201709</ns1:annoMese><ns1:tipoEstrazione>1</ns1:tipoEstrazione></ns1:reportMensileRequest></SOAP-ENV:Body></SOAP-ENV:Envelope>
"

RESPONSE HEADERS ===========
string(112) "HTTP/1.1 500 Internal Server Error
Content-Type: text/xml
X-Backside-Transport: FAIL FAIL
Connection: close
"

RESPONSE ===================
string(255) "<?xml version="1.0" encoding="UTF-8"?>
<env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/">
<env:Body>
<env:Fault>
<faultcode>env:Client</faultcode>
<faultstring>Credenziali non presenti</faultstring></env:Fault></env:Body></env:Envelope>"