MRW.it Forum
  • Home
  • Forum
  • Fare Web
  • Snippet
  • Snippet PHP

730 precompilato + di uno snippet

  • Creatore Discussione Creatore Discussione marino51
  • Data di inizio Data di inizio 9 Gen 2016
Prec.
  • 1
  • …
  • 18
  • 19
  • 20
  • 21
  • 22
  • …
  • 26
Succ.
Primo Prec. 20 di 26 Succ. Ultimo
marino51

marino51

Utente Attivo
28 Feb 2013
3.205
207
63
Lombardia
  • 21 Gen 2020
  • #381
claudio56 ha scritto:
Potresti per caso ripostare il file FattureInviaWsdl.php?
Clicca per allargare...
questa sera lo faccio, nel frattempo guarda l'esecuzione allegata
 

Allegati

  • 20012114040801305.zip
    20012114040801305.zip
    24,7 KB · Visite: 408
Ad
C

claudio56

Utente Attivo
20 Gen 2016
25
0
1
  • 21 Gen 2020
  • #382
marino51 ha scritto:
questa sera lo faccio, nel frattempo guarda l'esecuzione allegata
Clicca per allargare...
Ciao Marino,
è frustrante vedere che a te funziona benissimo e a me no.
Mi sarebbe utile avere un log con la tua stessa esposizione di dati.
Forse riuscirei a capire che cosa c'è che non va.
Comunque grazie. Resto in attesa del tuo post.
Sei sempre grande
Claudio
 
C

claudio56

Utente Attivo
20 Gen 2016
25
0
1
  • 21 Gen 2020
  • #383
marxvilly ha scritto:
Ciao, il documento è del mio cliente, ma fa riferimento a questa informativa:
OBBLIGHI DEI MEDICI E DEGLI ODONTOIATRI DAL 01/01/2020 IN RELAZIONE A QUANTO STABILITO NELLA L. DI BILANCIO 2020

Vedi ad esempio: https://www.ordinemedicifc.it/archivio-news/

Allego lo screenshot.Vedi l'allegato 6911
Clicca per allargare...
 
C

claudio56

Utente Attivo
20 Gen 2016
25
0
1
  • 21 Gen 2020
  • #384
marxvilly ha scritto:
Ciao, il documento è del mio cliente, ma fa riferimento a questa informativa:
OBBLIGHI DEI MEDICI E DEGLI ODONTOIATRI DAL 01/01/2020 IN RELAZIONE A QUANTO STABILITO NELLA L. DI BILANCIO 2020

Vedi ad esempio: https://www.ordinemedicifc.it/archivio-news/

Allego lo screenshot.Vedi l'allegato 6911
Clicca per allargare...
il nuovo valore deve essere esposto tra <cfCittadino> e <voceSpesa> ossia:
<cfCittadino>EvdSXiVCOvd................</cfCittadino>
<pagamentoTracciato>NO</pagamentoTracciato>
<voceSpesa>

Spero di essere stato di aiuto
Claudio
 

marino51

Utente Attivo
28 Feb 2013
3.205
207
63
Lombardia
  • 21 Gen 2020
  • #385
ecco il file, spero di aver messo tutto l'occorrente,
non é molto diverso dalla prima stesura,
controllerei come prima cosa i parametri dell'utente di test (credenziali),
a seguire come viene composta l'array $SoapClientParam (credenziali)
e per ultima la composizione dell'array $SoapRequest (FattureInviaWsdl)
sono i tre elementi fondamentali,
 

Allegati

  • 730_invioFatture.zip
    730_invioFatture.zip
    4,6 KB · Visite: 527
C

claudio56

Utente Attivo
20 Gen 2016
25
0
1
  • 22 Gen 2020
  • #386
marino51 ha scritto:
ecco il file, spero di aver messo tutto l'occorrente,
non é molto diverso dalla prima stesura,
controllerei come prima cosa i parametri dell'utente di test (credenziali),
a seguire come viene composta l'array $SoapClientParam (credenziali)
e per ultima la composizione dell'array $SoapRequest (FattureInviaWsdl)
sono i tre elementi fondamentali,
Clicca per allargare...
Buon giorno Marino
Sto dando uno sguardo ai files che hai allegato.
Mi sono accorto che manca il file specificato alla fine del file credenziali.php
require_once 'myUtils/show_vars.php';
Lo puoi postare.
Grazie
Claudio
 

marino51

Utente Attivo
28 Feb 2013
3.205
207
63
Lombardia
  • 22 Gen 2020
  • #387
claudio56 ha scritto:
require_once 'myUtils/show_vars.php
Clicca per allargare...
lo trovi qui
https://forum.mrw.it/threads/show_var-e-log_var.50370/
 
P

perseoclub

Utente Attivo
28 Nov 2015
92
0
6
  • 22 Gen 2020
  • #388
Ciao marino51,

sto cercando di risolvere il problema ma non ne vengo a capo.

Codice:
...
...
[22-Jan-2020 11:03:25 Europe/Berlin] inizio trasferimento del file
[22-Jan-2020 11:03:25 Europe/Berlin] PHP Deprecated:  capture_session_meta is deprecated; its information is now available via stream_get_meta_data() in /var/www/html/730_2019_new/FattureInviaWsdl.php on line 54
[22-Jan-2020 11:03:26 Europe/Berlin] PHP Notice:  Undefined variable: SoapRequest in /var/www/html/730_2019_new/FattureInviaWsdl.php on line 58
[22-Jan-2020 11:03:26 Europe/Berlin] PHP Stack trace:
[22-Jan-2020 11:03:26 Europe/Berlin] PHP   1. {main}() /var/www/html/730_2019_new/FattureInviaWsdl.php:0
[22-Jan-2020 11:03:26 Europe/Berlin] RICHIESTA TERMINATA CON ERRORE
[22-Jan-2020 11:03:26 Europe/Berlin]
output =>object
(
    return => object
    (
        codiceEsito => 200,
        descrizioneEsito => ERRORE NELL'APPLICAZIONE: CONTATTARE L'ASSISTENZA,
    ),
)
[22-Jan-2020 11:03:26 Europe/Berlin]
e =>object
(
    faultstring => MAX-LEN,
    faultcode => env:Client,
    xdebug_message => MAX-LEN,
)
[22-Jan-2020 11:03:26 Europe/Berlin] PHP Fatal error:  SOAP Fault: (faultcode: env:Client, faultstring: cvc-particle 3.1: in element {http://ejb.invioTelematicoSS730p.sanita.finanze.it/}inviaFileMtom of type {http://ejb.invioTelematicoSS730p.sanita.finanze.it/}inviaFileMtom, found </ns1:inviaFileMtom> (in namespace http://ejb.invioTelematicoSS730p.sanita.finanze.it/), but next item should be nomeFileAllegato) in /var/www/html/730_2019_new/SoapFault.php on line 18
[22-Jan-2020 11:03:26 Europe/Berlin] PHP Stack trace:
[22-Jan-2020 11:03:26 Europe/Berlin] PHP   1. {main}() /var/www/html/730_2019_new/FattureInviaWsdl.php:0
[22-Jan-2020 11:03:26 Europe/Berlin] PHP   2. require() /var/www/html/730_2019_new/FattureInviaWsdl.php:61
[22-Jan-2020 11:03:26 Europe/Berlin] PHP   3. trigger_error() /var/www/html/730_2019_new/SoapFault.php:18

La mia versione PHP è la 7.0.33-14 (ubuntu16.04).. Ho controllato online e la funzione capture_session_meta è deprecata, e sostituita da stream_get_meta_data().

Ho trovato online questi due link:

https://doc.bccnsoft.com/docs/php-docs-7-en/migration56.openssl.html

https://doc.bccnsoft.com/docs/php-docs-7-en/function.stream-get-meta-data.html

..ma non capisco come adattare il codice, per migrare dalla versione 5.6 alla 7.0.

Mi potresti aiutare?

Grazie mille
 

marino51

Utente Attivo
28 Feb 2013
3.205
207
63
Lombardia
  • 23 Gen 2020
  • #389
perseoclub ha scritto:
[22-Jan-2020 11:03:26 Europe/Berlin] PHP Notice: Undefined variable: SoapRequest in /var/www/html/730_2019_new/FattureInviaWsdl.php on line 58
Clicca per allargare...
la variabile non definita, deve contenere tutti i dati per trasferire il file, non può essere non definita
 
P

perseoclub

Utente Attivo
28 Nov 2015
92
0
6
  • 25 Gen 2020
  • #390
marino51 ha scritto:
la variabile non definita, deve contenere tutti i dati per trasferire il file, non può essere non definita
Clicca per allargare...

Ciao Marino

Cosa vuol dire? Gli altri anni non mi dava mai questo messaggio di errore.. e il codice (a parte gli aggiornamenti riportati sopra, presi dai post precedenti) non l'ho modificato.

Mi puoi guidare nel capire cosa non va? Sono in grosse difficoltà.

Se occorre ti posto il codice.

Grazie

[EDIT]
Non avevo dichiarato la variabile $SoapRequest.. l'ho fatto così:
PHP:
$SoapRequest = array(
    "nomeFileAllegato"       => _Fatture730,
    "pincodeInvianteCifrato" => $pincodeInvianteCifrato,
    "datiProprietario"       => ( Array
        (
        "codiceRegione"      => $codiceRegione,
        "codiceAsl"          => $codiceAsl,
        "codiceSSA"          => $codiceSSA,
        "cfProprietario"     => $cfProprietario
        )),
    "opzionale1"             => '0',
    "opzionale2"             => '0',
    "opzionale3"             => '0',
    "documento"              => $zipfile
);

error_log("inizio trasferimento del file", 0);
$output = $client->inviaFileMtom($SoapRequest);

try { $output = $client->inviaFileMtom($SoapRequest); }
catch ( SoapFault $e )
{
    require 'SoapFault.php';
}

envelopes();

...
...

Ma mi restituisce un nuovo tipo di errore:
Codice:
[25-Jan-2020 10:47:12 Europe/Berlin] File trattato          : Fatture730_2019_completo.zip
[25-Jan-2020 10:47:12 Europe/Berlin] carico in memoria il file Fatture730_2019_completo.zip
[25-Jan-2020 10:47:12 Europe/Berlin] definisco il file wsdl InvioTelematicoSpeseSanitarie730p.wsdl
[25-Jan-2020 10:47:12 Europe/Berlin] definisco the soap server location https://invioSS730pTest.sanita.finanze.it/InvioTelematicoSS730pMtomWeb/InvioTelematicoSS730pMtomPort
[25-Jan-2020 10:47:12 Europe/Berlin] inizio trasferimento del file
[25-Jan-2020 10:47:13 Europe/Berlin] PHP Deprecated:  capture_session_meta is deprecated; its information is now available via stream_get_meta_data() in /var/www/html/730_2019_new/FattureInviaWsdl.php on line 56
[25-Jan-2020 10:47:16 Europe/Berlin] trasferimento terminato
[25-Jan-2020 10:47:16 Europe/Berlin] PHP Notice:  Undefined property: stdClass::$protocollo in /var/www/html/730_2019_new/FattureInviaWsdl.php on line 80
[25-Jan-2020 10:47:16 Europe/Berlin] PHP Stack trace:
[25-Jan-2020 10:47:16 Europe/Berlin] PHP   1. {main}() /var/www/html/730_2019_new/FattureInviaWsdl.php:0
[25-Jan-2020 10:47:16 Europe/Berlin] done /730_2019_new/FattureInviaWsdl.php

In pratica non mi restituisce il numero di PROTOCOLLO..


[EDIT 2]
Dopo ulteriori tentativi mi ha restituito il numero di PROTOCOLLO..

[EDIT 3]
Il risultato dell'invio è un PDF in cui mi scarta il file.zip inviato, con E015
 

Allegati

  • 20012511043859106.pdf
    20012511043859106.pdf
    28 KB · Visite: 387
Ultima modifica: 25 Gen 2020
P

perseoclub

Utente Attivo
28 Nov 2015
92
0
6
  • 25 Gen 2020
  • #391
Ho provato di nuovo la procedura in area di TEST e di nuovo NON mi restituisce il PROTOCOLLO..

[EDIT]
Il numero di protocollo mi viene restituito correttamente..

ma nuovamente il PDF mi restituisce che "il file NON È STATO ACCOLTO" (Errore: E015 = "IL FILE RISULTA GIA' INVIATO PRECEDENTEMENTE ED ELABORATO")

PS: ho provato a cambiare anche il nome del file.. ma niente.. stesso errore in area di test..

[EDIT 2]
In un ulteriore tentativo mi restituisce che:
Codice:
[25-Jan-2020 11:39:29 Europe/Berlin] Protocollo = 20012511391959355
[25-Jan-2020 11:39:29 Europe/Berlin] PHP Deprecated:  capture_session_meta is deprecated; its information is now available via stream_get_meta_data() in /var/www/html/730_2019_USED/FattureInvioRicevutaPdf.php on line 45
[25-Jan-2020 11:39:29 Europe/Berlin] LA RICHIESTA HA AVUTO RISPOSTA
[25-Jan-2020 11:39:29 Europe/Berlin] ERRORE: NON E' PRESENTE LA RICEVUTA PER IL PROTOCOLLO 20012511391959355
[25-Jan-2020 11:39:29 Europe/Berlin] done /730_2019_USED/FattureInvioRicevutaPdf.php

Mi ci sto impazzendo!
 
Ultima modifica: 25 Gen 2020

marino51

Utente Attivo
28 Feb 2013
3.205
207
63
Lombardia
  • 25 Gen 2020
  • #392
perseoclub ha scritto:
ma nuovamente il PDF mi restituisce che "il file NON È STATO ACCOLTO" (Errore: E015 = "IL FILE RISULTA GIA' INVIATO PRECEDENTEMENTE ED ELABORATO")
Clicca per allargare...

almeno la connessione al webservice funziona,
negli anni passati non poteva funzionare senza la "$SoapRequest",
probabilmente successive modifiche che hai apportato allo script hanno impedito la sua valorizzazione

in ogni caso ora la connessione funziona,
se il file risulta già presente, significa che uno degli invii precedenti ha funzionato, ed il webservice lo ha preso in carico

per fare prove non basta cambiare il nome del file, ma é necessario cambiare il numero di documento di ciascuno dei documenti presenti (se si usa lo stesso file)
 
P

perseoclub

Utente Attivo
28 Nov 2015
92
0
6
  • 26 Gen 2020
  • #393
marino51 ha scritto:
almeno la connessione al webservice funziona,
negli anni passati non poteva funzionare senza la "$SoapRequest",
probabilmente successive modifiche che hai apportato allo script hanno impedito la sua valorizzazione
Clicca per allargare...
Negli scorsi anni avevo inserito la variabile direttamente dentro la funzione, senza dichiarare un $SoapRequest..
Quando ho aggiunto il nuovo codice non avevo fatto caso che eraa il caso di dichiararla a parte.

marino51 ha scritto:
in ogni caso ora la connessione funziona,
se il file risulta già presente, significa che uno degli invii precedenti ha funzionato, ed il webservice lo ha preso in carico

per fare prove non basta cambiare il nome del file, ma é necessario cambiare il numero di documento di ciascuno dei documenti presenti (se si usa lo stesso file)
Clicca per allargare...

Nel codice avevamo aggiunto (per l'area di test) la variabile $time proprio per rendere "univoco" il numero progressivo delle ricevute..
PHP:
$time = ( $TEST ? substr(microtime(true), -3).$my_str : "" );
...
...
$numDocumento = $numDocumentoFiscale->addChild('numDocumento', $col[_ColDocNumber].$time);



Faccio altre prove.. e ti aggiorno.. Intanto grazie mille!
 
Ultima modifica: 26 Gen 2020
P

perseoclub

Utente Attivo
28 Nov 2015
92
0
6
  • 26 Gen 2020
  • #394
AGGIORNAMENTI:

Dopo aver risistemato il codice riesco a dialogare con i webservices.. e ottengo anche il file PDF da "FattureInvioRicevutaPDF", dove in fase di TEST mi risultano ACCOLTE tutte le ricevute fiscali (con i soli 20% di warnings, che di solito in fase EFFETTIVA si riducono notevolmente..).

Riscontro un unico, grande problema:
Al primo invio del file "FattureInviaWsdl.php" non mi restituisce il numero di PROTOCOLLO.. mentre al secondo refresh dello stesso file (usando il medesimo file.ZIP) il numero di protocollo mi viene restituito..

Non vorrei, eseguendo il refresh del file "FattureInviaWsdl.php" in fase EFFETTIVA, incappare in qualche errore critico (essendo un secondo invio, e magari non consentito) e fare un casino totale, non avendo credo in fase EFFETTIVA una seconda possibilità.. Parliamo di oltre 4'000 ricevute fiscali..

Come mai non mi restituisce subito il numero di protocollo (al primo invio di "FattureInviaWsdl.php"), come succedeva gli altri anni?

Marino51, hai qualche suggerimento?



PS: ho provato anche a ridurre il numero delle ricevute fiscali inviate, ma niente.. al primo invio nessun numero di protocollo restituito..

PPS: rispetto agli anni passati ho dovuto attendere almeno 10 minuti prima che il server elaborasse tutte le ricevute fiscali. Per questo motivo non mi restituiva da subito la "ricevutaPDF", ma quando provavo a caricare il file "FattureInvioRicevutaPDF" mi diceva che "ERRORE: NON E' PRESENTE LA RICEVUTA PER IL PROTOCOLLO .....". Finita l'elaborazione è andato tutt'ok!
 

marino51

Utente Attivo
28 Feb 2013
3.205
207
63
Lombardia
  • 27 Gen 2020
  • #395
perseoclub ha scritto:
Al primo invio del file "FattureInviaWsdl.php" non mi restituisce il numero di PROTOCOLLO.. mentre al secondo refresh dello stesso file (usando il medesimo file.ZIP) il numero di protocollo mi viene restituito..
Clicca per allargare...
ogni esecuzione dell'invio registra le operazioni eseguite nel file di log, nel file credenziali é presente,
PHP:
$fileLog = "__TesseraSanitaria.log";  // dettaglio dei passi della lavorazione (log da conservare come ulteriore prova)

ini_set('error_reporting', E_ALL | E_STRICT);
ini_set('display_errors', FALSE);
ini_set('log_errors', TRUE);
ini_set('error_log', $fileLog);

error_log(".", 0);
error_log("Current PHP version     : ".phpversion(), 0);
error_log("main                    : ".$_SERVER['PHP_SELF'], 0);
meglio leggere il log e capire cosa é successo, prima di qualunque refresh / riesecuzione, verificando la conclusione dell'operazione di invio

il log visualizza l' operazione attiva se consultato durante il processo, in caso di durata eccessiva

per quanto riguarda i tempi di attesa, bisognerebbe conoscere il carico dei server e come interagiscono ( ci potrebbero essere anche le fatture elettroniche sugli stessi server, ma chissà ... )

opterei per invii da 1000 ( ma anche 500 ) per evitare possibili timeout o memoria insufficiente
e …. molta calma
 
P

perseoclub

Utente Attivo
28 Nov 2015
92
0
6
  • 27 Gen 2020
  • #396
marino51 ha scritto:
ogni esecuzione dell'invio registra le operazioni eseguite nel file di log, nel file credenziali é presente,
...
meglio leggere il log e capire cosa é successo, prima di qualunque refresh / riesecuzione, verificando la conclusione dell'operazione di invio
...
il log visualizza l' operazione attiva se consultato durante il processo, in caso di durata eccessiva
Clicca per allargare...

Ti mostro un estratto del file di LOG di una delle tante prove (è sempre simile quando NON mi restituisce il num. di protocollo:
Codice:
[26-Jan-2020 11:34:53 Europe/Berlin] File trattato          : Fatture730_2019_completo.zip
[26-Jan-2020 11:34:53 Europe/Berlin] carico in memoria il file Fatture730_2019_completo.zip
[26-Jan-2020 11:34:53 Europe/Berlin] definisco il file wsdl InvioTelematicoSpeseSanitarie730p.wsdl
[26-Jan-2020 11:34:53 Europe/Berlin] definisco the soap server location https://invioSS730pTest.sanita.finanze.it/InvioTelematicoSS730pMtomWeb/InvioTelematicoSS730pMtomPort
[26-Jan-2020 11:34:53 Europe/Berlin] inizio trasferimento del file
[26-Jan-2020 11:34:53 Europe/Berlin] PHP Deprecated:  capture_session_meta is deprecated; its information is now available via stream_get_meta_data() in /var/www/html/730_2019_USED/FattureInviaWsdl.php on line 58
[26-Jan-2020 11:34:54 Europe/Berlin] trasferimento terminato
[26-Jan-2020 11:34:54 Europe/Berlin] PHP Notice:  Undefined property: stdClass::$protocollo in /var/www/html/730_2019_USED/FattureInviaWsdl.php on line 80
[26-Jan-2020 11:34:54 Europe/Berlin] PHP Stack trace:
[26-Jan-2020 11:34:54 Europe/Berlin] PHP   1. {main}() /var/www/html/730_2019_USED/FattureInviaWsdl.php:0
[26-Jan-2020 11:34:54 Europe/Berlin] done /730_2019_USED/FattureInviaWsdl.php

Potrebbe dipendere dalla riga PHP Deprecated: capture_session_meta is deprecated;? Usando la versione php7.0 dove capture_session_meta è deprecato. Al suo posto bisognerebbe utilizzare stream_get_meta_data() ma non so come fare..

Al secondo/terzo invio (nonostante il LOG mi restituisca la stessa riga), il $protocollo viene valorizzato e non da il PHP Notice: Undefined property: stdClass::$protocollo.

Tieni conto che quando il num. di protocollo mi viene restituito, ci mette si e no 2-3 secondi. Il file .ZIP è lo stesso del precedente invio e contiene più di 4'000 ricevute fiscali...

marino51 ha scritto:
per quanto riguarda i tempi di attesa, bisognerebbe conoscere il carico dei server e come interagiscono ( ci potrebbero essere anche le fatture elettroniche sugli stessi server, ma chissà ... )

opterei per invii da 1000 ( ma anche 500 ) per evitare possibili timeout o memoria insufficiente
e …. molta calma
Clicca per allargare...

Ho provato con invii da 1'000 e succede la stessa cosa.
 
P

perseoclub

Utente Attivo
28 Nov 2015
92
0
6
  • 27 Gen 2020
  • #397
AGGIORNAMENTI 2:

Seguendo i suggerimenti di post precedenti, ho modificato nel file credenziali.php la $SoapClientParam

da così:
Codice:
$SoapClientParam = array(
    "useMTOM"        => TRUE,
    "location"       => "x",  // sostituita nello script con l'endpoint specifico
    "login"          => $login,
    "password"       => $password,
    "authentication" => SOAP_AUTHENTICATION_BASIC,
    "keep_alive"     => TRUE,
    "cache_wsdl"     => WSDL_CACHE_NONE,
    "trace"          => TRUE,
    "exceptions"     => TRUE,
    "stream_context" => stream_context_create( array (
        "ssl" => array(
            "verify_peer"          => FALSE,
            "verify_peer_name"     => FALSE,
            "capture_session_meta" => TRUE,
        ),
    )),
);

a così:
Codice:
$SoapClientParam = array(
    "location"            => "x",
    "login"             => $login,
    "password"            => $password,
    "authentication"    => SOAP_AUTHENTICATION_BASIC,
    "trace"             => false,
    "exceptions"        => false,
    "stream_context"    => stream_context_create( array(
      "ssl" => array(
          "verify_peer"       => false,
          "verify_peer_name"  => false
       )
    ))
);


Sono già due tentativi che non mi restituisce correttamente il Num. di PROTOLLO (e nessun alert nel file di LOG).

Faccio altri tentati e vi aggiorno..
Marino51, ho una curiosità: che cosa cambia settando la variabile $SoapClientParam con questi parametri?
 

marino51

Utente Attivo
28 Feb 2013
3.205
207
63
Lombardia
  • 27 Gen 2020
  • #398
perseoclub ha scritto:
[26-Jan-2020 11:34:54 Europe/Berlin] PHP Notice: Undefined property: stdClass::$protocollo in /var/www/html/730_2019_USED/FattureInviaWsdl.php on line 80
Clicca per allargare...
c'é un problema nello script ...
 
P

perseoclub

Utente Attivo
28 Nov 2015
92
0
6
  • 27 Gen 2020
  • #399
marino51 ha scritto:
c'é un problema nello script ...
Clicca per allargare...

Quell'errore me lo da solo quando (terminato l'invio) non restituisce il NUM. di PROTOCOLLO.

Il file "FattureInviaWsdl.php", che mi dovrebbe restituire il $protocollo, è:

PHP:
<?php

require_once 'Credenziali.php';

// invia il file .zip al Ministero delle Finanze

error_log("File trattato          : "._Fatture730 .".zip", 0);


echo "<p><h4>TRASFERIMENTO DELLE FATTURE PER IL 730 PRECOMPILATO AL MINISTERO</h4></p>";

error_log("carico in memoria il file "._Fatture730 .".zip", 0);
$zipfile = implode("", file(_Fatture730 .".zip"));


$ws = _InvioTelematico_WSDL;                        // "InvioTelematicoSpeseSanitarie730p.wsdl"
$SoapClientParam["location"] = $InvioTelematico;    // "https://invioSS730p.sanita.finanze.it/InvioTelematicoSS730pMtomWeb/InvioTelematicoSS730pMtomPort"

error_log("definisco il file wsdl ".$ws, 0);
echo $ws."<p> </p>";

error_log("definisco the soap server location ".$SoapClientParam["location"], 0);
echo $SoapClientParam["location"]."<p> </p>";


$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>";


echo "<p><h4>INIZIO TRASFERIMENTO DEL FILE</h4></p>";

$SoapRequest = array(
    "nomeFileAllegato"       => _Fatture730 .".zip",
    "pincodeInvianteCifrato" => $pincodeInvianteCifrato,
    "datiProprietario"       => ( Array
        (
        "codiceRegione"      => $codiceRegione,
        "codiceAsl"          => $codiceAsl,
        "codiceSSA"          => $codiceSSA,
        "cfProprietario"     => $cfProprietario
        )),
    "opzionale1"             => '0',
    "opzionale2"             => '0',
    "opzionale3"             => '0',
    "documento"              => $zipfile
);

error_log("inizio trasferimento del file", 0);
//$output = $client->inviaFileMtom($SoapRequest);

try { $output = $client->inviaFileMtom($SoapRequest); }
catch ( SoapFault $e )
{
    require 'SoapFault.php';
}

//envelopes();
// END EDIT

if (is_soap_fault($output))
    {
    $err = "SOAP Fault: (faultcode: {$output->faultcode}, faultstring: {$output->faultstring})";
    error_log("trasferimento terminato con errori", 0);
    echo "<p><h4>TRASFERIMENTO TERMINATO CON ERRORI</h4></p>"."<p>$err</p>";
    var_dump($output); echo "<p> </p>";
    trigger_error($err, E_USER_ERROR);
    }
else
    {
    error_log("trasferimento terminato", 0);
    echo "<p><h4>TRASFERIMENTO TERMINATO</h4></p>";

    $protocollo = $output->return->protocollo;
    echo $protocollo."<p> </p>";
    error_log("numero di protocollo: ". $protocollo, 0);

    ReportOutput("protocollo");
    ReportOutput("dataAccoglienza");
    ReportOutput("nomeFileAllegato");
    ReportOutput("dimensioneFileAllegato");
    ReportOutput("codiceEsito");
    ReportOutput("descrizioneEsito");
    ReportOutput("idErrore");
    }

error_log("done ".$_SERVER['PHP_SELF'], 0);
echo "<p><h4>FINE DEL LAVORO</h4></p>";


// ReportOutput per "FattureInviaWsdl.php"
function ReportOutput($var)
{
    global $response;
    if ( !empty($response->{$var}) )
    {
        error_log($var." = ".$response->{$var}, 0);
        echo $var." = ".$response->{$var}."<br />";
    }
}

?>

e la riga 80 è appunto:
$protocollo = $output->return->protocollo;

il $SoapClientParam è nel post precedente, e gli arriva dal file "Credenziali.php"

 

marino51

Utente Attivo
28 Feb 2013
3.205
207
63
Lombardia
  • 27 Gen 2020
  • #400
ci sono due versioni del codice mischiate, farei questa modifica, lasciando tutto quello che precede,
le funzioni chiamate dovresti averle,
se non c'é metti la funzione "envelopes" in "credenziali" perché importante per capire cosa succede nel caso di un mancato collegamento

in ogni caso tieni copia dello script prima delle modifiche
PHP:
$client = new SoapClient($ws, $SoapClientParam);

$SoapRequest = array
(
    "pincodeInvianteCifrato" => $pincodeInvianteCifrato,
    "datiProprietario"       => array
    (
        "codiceRegione"      => $codiceRegione,
        "codiceAsl"          => $codiceAsl,
        "codiceSSA"          => $codiceSSA,
        "cfProprietario"     => $cfProprietario
    ),
    "opzionale1"             => '0',
    "opzionale2"             => '0',
    "opzionale3"             => '0',
    "nomeFileAllegato"       => _Fatture730 .".zip",
    "documento"              => $zipfile
);
echo "SoapRequest<br />".show_var($SoapRequest)."<br /><br />";
error_log(PHP_EOL."SoapRequest => ".log_var($SoapRequest), 0);

echo "<p><h4>INIZIO TRASFERIMENTO DEL FILE</h4></p>";
error_log("inizio trasferimento del file", 0);

try { $output = $client->inviaFileMtom($SoapRequest); }
catch ( SoapFault $e )
{
    require 'SoapFault.php';
}

envelopes();

/* -------------------------------------------------------------------------------- Soap Receipt */
LogTitles("L'INVIO HA AVUTO RISPOSTA");

print_r($output); echo "<br /><br />";
echo "output<br />".show_var($output)."<br /><br />";
error_log(PHP_EOL."output => ".log_var($output), 0);


if ( $output->return->codiceEsito == 0 )
{
    LogTitles("TRASFERIMENTO TERMINATO CON SUCCESSO");
}
else
{
    LogTitles("TRASFERIMENTO TERMINATO CON ERRORE");
}
echo "<p><h4>FINE DEL LAVORO</h4></p>";
error_log("done ".$_SERVER['PHP_SELF'], 0);
?>
 
Prec.
  • 1
  • …
  • 18
  • 19
  • 20
  • 21
  • 22
  • …
  • 26
Succ.
Primo Prec. 20 di 26 Succ. Ultimo
Devi accedere o registrarti per poter rispondere.

Discussioni simili

G
Header spostato con explorer 7.0.5730.11?
  • ghisirds
  • 16 Lug 2007
  • HTML e CSS
Risposte
1
Visite
2K
HTML e CSS 19 Lug 2007
sbobby
campo precompilato
  • pup3770
  • 30 Apr 2015
  • MySQL
Risposte
1
Visite
2K
MySQL 28 Mag 2015
filomeni
[EXCEL] Calendario precompilato
  • novello88
  • 26 Mar 2014
  • Windows e Software
Risposte
1
Visite
3K
Windows e Software 7 Apr 2014
marino51
A
cancellare form precompilato
  • antonietta
  • 31 Lug 2008
  • Classic ASP
Risposte
2
Visite
4K
Classic ASP 1 Ago 2008
antonietta
A
B
Campo form precompilato
  • blasty
  • 3 Lug 2007
  • Classic ASP
Risposte
3
Visite
4K
Classic ASP 3 Lug 2007
PoLe
A
For in uno switch
  • alex12
  • 8 Mar 2023
  • PHP
Risposte
1
Visite
784
PHP 9 Mar 2023
WmbertSea
G
Qualcuno conosce questo software per gestire le telecamere
  • Giovannino60
  • 2 Lug 2022
  • IP Cam e Videosorveglianza
Risposte
0
Visite
1K
IP Cam e Videosorveglianza 2 Lug 2022
Giovannino60
G
A
Riprodurre uno schema colore
  • AiaceT
  • 30 Gen 2022
  • Photoshop
Risposte
15
Visite
2K
Photoshop 3 Feb 2022
WmbertSea
L
Non riesco a riprodurre uno sfondo
  • Lucabigoni
  • 18 Dic 2020
  • Photoshop
Risposte
0
Visite
1K
Photoshop 18 Dic 2020
Lucabigoni
L
R
Distribuire uno Script "Facebook Auto Post"
  • race
  • 15 Nov 2020
  • PHP
Risposte
0
Visite
1K
PHP 15 Nov 2020
race
R
  • Bloccata
Come Unire file PST in Uno?
  • rebeca
  • 14 Ago 2020
  • Windows e Software
Risposte
0
Visite
2K
Windows e Software 14 Ago 2020
rebeca
M
temi premium Shopify da 180$ l'uno a prezzi bassissimi
  • michael9898
  • 13 Ago 2020
  • Altri Annunci
Risposte
0
Visite
2K
Altri Annunci 13 Ago 2020
michael9898
M
A
eliminare caratteri speciali mettendo uno spazio
  • AndreaCerre
  • 5 Ago 2020
  • PHP
Risposte
0
Visite
1K
PHP 5 Ago 2020
AndreaCerre
A
U
Cerco un graphic designer e uno sviluppatore Android
  • username998
  • 6 Lug 2020
  • Offerte e Richieste di Lavoro e/o Collaborazione
Risposte
1
Visite
1K
Offerte e Richieste di Lavoro e/o Collaborazione 7 Lug 2020
Max 1
C
  • Bloccata
Salve a tutti, sono uno studente
  • Carlo Zito
  • 10 Mag 2020
  • Presentati al Forum
Risposte
1
Visite
976
Presentati al Forum 11 Mag 2020
Max 1
G
Fare uno sfondo con il prato e degli alberi
  • Giovannino60
  • 8 Mag 2020
  • Photoshop
Risposte
0
Visite
1K
Photoshop 8 Mag 2020
Giovannino60
G
K
Help: problema con uno script di booking in php!
  • kathe
  • 28 Ott 2019
  • PHP
Risposte
0
Visite
693
PHP 28 Ott 2019
kathe
K
A
Creare con Javascript un percorso all'interno di uno spazio
  • albi64
  • 30 Set 2019
  • Javascript
Risposte
0
Visite
1K
Javascript 30 Set 2019
albi64
A
D
[Javascript] inserire uno script in un file php
  • diabolik71
  • 27 Set 2019
  • Javascript
Risposte
6
Visite
5K
Javascript 27 Set 2019
diabolik71
D
P
[PHP] Contare quante volte uno stesso id si ripete nella tabella
  • Phelps
  • 18 Mar 2019
  • PHP
Risposte
12
Visite
4K
PHP 20 Mar 2019
Phelps
P
Condividi:
Facebook X (Twitter) LinkedIn WhatsApp e-mail Condividi Link
  • Home
  • Forum
  • Fare Web
  • Snippet
  • Snippet PHP
  • Italiano
  • Termini e condizioni d'uso del sito
  • Policy Privacy
  • Aiuto
  • Home
Community platform by XenForo® © 2010-2024 XenForo Ltd. | Traduzione a cura di XenForo Italia
Menu
Accedi

Registrati

  • Home
  • Forum
    • Nuovi Messaggi
    • Cerca...
  • Novità
    • Featured content
    • Nuovi Messaggi
    • Ultime Attività
X

Privacy & Transparency

We use cookies and similar technologies for the following purposes:

  • Personalized ads and content
  • Content measurement and audience insights

Do you accept cookies and these technologies?

X

Privacy & Transparency

We use cookies and similar technologies for the following purposes:

  • Personalized ads and content
  • Content measurement and audience insights

Do you accept cookies and these technologies?