2 messaggi dal 28 dicembre 2020
Buon pomeriggio,

mi chiamo Marco e lavoro per un'azienda che si occupa della distribuzione di un software ERP;
mi trovo di fronte ad un problema mai affrontato, ovvero devo sviluppare una procedura per la telematizzazione
di un eDAS, ovvero un DAS elettronico, che in sostanza è un XML creato in base ad uno schema.
E fin qui nessun problema.

L'azienda che fa da intermediario tra noi e l'agenzia delle dogana ha sviluppato un Web service che espone
dei metodi per:
1. Ottenere un token univoco per l'azienda
2. Effettuare l'upload dei file XML su un loro portale, utilizzando il token ottenuto al punto precedente, per la successiva trasmissione
all'agenzia delle dogane.

Qua iniziano le mie lacune:
Tale azienda mi ha fornito il file WSDL che ho utilizzato per creare un 'riferimento la servizio' nel progetto VB in Visual Studio.
Fatto questo riesco ad accedere ad un interfaccia di programmazione che mi permette di creare una classe che la implementa.
Ma sono fermo in questo punto perché ho dei dubbi esistenziali.... E' giusto che crei una classe che implementi l'interfaccia? in realtà io non devo scrivere un servizio ma dovrei utilizzare delle funzioni per ottenere dei dati necessari alla trasmissione del file xml....

Diciamo che il succo del discorso è che ho questo file WSDL ma di fatto non so bene come utilizzarlo per
accedere ai servizi di cui ho bisogno.
Potete darmi qualche delucidazione a riguardo?

Scusate la poca chiarezza ma purtroppo mi sento un pesce fuor d'acqua in questa situazione e mi resta difficile esporre il problema
in modo più tecnico.

Grazie mille fin da ora a chi vorrà rispondere

Marco
4 messaggi dal 23 settembre 2011
Buongiorno,

Io ho utilizzato qualche riferimento a dei web service in vb.net.
Solitamente ho fatto come hai detto tu il 'riferimento la servizio' e poi ho sfruttato le funzioni che mi metteva a disposizione il servizio in questo modo.

Dim inValue As ServiceRefName.funzioneRequest = New ServiceRefName.funzioneRequest()
inValue.Body = New ServiceRefName.funzioneRequestBody()
inValue.Body.parametro = xxx

Dim retVal As ServiceRefName.funzioneResponse = CType(Me,ServiceRefName.WSSoap).funzione(inValue)
dim note = retVal.Body.note

dove ServiceRefName è il riferimento al servizio

Daniele
2 messaggi dal 28 dicembre 2020
Grazie mille della risposta Daniele!
Credo di aver fatto dei progressi ma ancora ho molti dubbi:
Dopo aver visto il tuo esempio, ho notato che il servizio espone un "client" quindi
ho provato ad istanziarlo ma nel costruttore richiede un oggetto di tipo 'ServiceModel.Channel.Binding' e '
'ServiceModel.EndPointAddress'; cercando degli esempio in rete ho trovato degli utilizzi simili a quello
che ho riportato nel codice sotto solo che mi manca l'url del servizio ,che nella documentazione del fornitore non è riportato,
e mancano anche altre info come le credenziali di accesso per la richista del token, etc. quindi non sono
riuscito a testare perchè sto aspettando risposta dal fornitore.

Dim strToken As String = ""
Dim myBinding As New BasicHttpBinding()
Dim myEndpoint As New EndpointAddress("<url del servizio>")
Dim HiveClient As New SysIntExtSoapClient(myBinding, myEndpoint) <--- CLIENT
Dim result As GetTokenReturnObject = Nothing
Try

HiveClient.Open()
result = HiveClient.GetTokenByIGU("", "", "", "ACCISA", Nothing)
strToken = result.Token

' se ci sono errori li rigiro alla UI
If result.IsErrore Then ThrowRemoteEvent(New NTSEventArgs("", oHiveResult.Errore)) : Return False

Return True
Catch ex As Exception
ThrowRemoteEvent(New NTSEventArgs("", ex.Message))
Finally
HiveClient.Close()
End Try



Comunque ho anche chiesto al fornitore se ha degli esempio di utilizzo del webService.
Grazie di nuovo per l'aiuto.
Marco

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.