IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

WSE Security - usernameToken [Débutant]


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Invité
    Invité(e)
    Par défaut WSE Security - usernameToken
    Bonjour, j'utilise un web service afin d'envoyer un fichier, juste avant, je dois m'identifier à l'aide du WSE Security usernameToken, le problème que j'ai, c'est que " l'entête de sécurité est incorrecte", d'après ce que j'ai compris, mon soucis vient du fait que mon fichier app.config n'est pas formaté comme il le devrait, le mien se présente ainsi:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
     
    <?xml version="1.0"?>
    <configuration>
        <configSections>
        </configSections>
        <system.diagnostics>
            <sources>
                <!-- Cette section définit la configuration de l'enregistrement dans le fichier journal de My.Application.Log -->
                <source name="DefaultSource" switchName="DefaultSwitch">
                    <listeners>
                        <add name="FileLog"/>
                        <!-- Supprimez les marques de commentaire dans la section suivante pour écrire dans le journal des événements de l'application -->
                        <!--<add name="EventLog"/>-->
                    </listeners>
                </source>
            </sources>
            <switches>
                <add name="DefaultSwitch" value="Information"/>
            </switches>
            <sharedListeners>
                <add name="FileLog" type="Microsoft.VisualBasic.Logging.FileLogTraceListener, Microsoft.VisualBasic, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" initializeData="FileLogWriter"/>
                <!-- Supprimez les marques de commentaire dans la section suivante et remplacez APPLICATION_NAME par le nom de votre application à écrire dans le journal des événements de l'application -->
                <!--<add name="EventLog" type="System.Diagnostics.EventLogTraceListener" initializeData="APPLICATION_NAME"/> -->
            </sharedListeners>
        </system.diagnostics>
    <startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/></startup>
        <system.serviceModel>
            <bindings>
                <basicHttpBinding>
                    <binding name="BillServicePortBinding" closeTimeout="00:01:00"
                        openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00"
                        allowCookies="false" bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard"
                        maxBufferSize="65536" maxBufferPoolSize="524288" maxReceivedMessageSize="65536"
                        messageEncoding="Text" textEncoding="utf-8" transferMode="Buffered"
                        useDefaultWebProxy="true">
                        <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384"
                            maxBytesPerRead="4096" maxNameTableCharCount="16384" />
                        <security mode="Transport">
                            <transport clientCredentialType="None" proxyCredentialType="None"
                                realm="" />
                            <message clientCredentialType="UserName" algorithmSuite="Default" />
                        </security>
                    </binding>
     
                </basicHttpBinding>
            </bindings>
            <client>
                <endpoint address="https://www.sunat.gob.pe:443/ol-ti-itcpgem/billService"
                    binding="basicHttpBinding" bindingConfiguration="BillServicePortBinding"
                    contract="Production.billService" name="BillServicePort" />
                        </client>
        </system.serviceModel>
    </configuration>
    2 services sont mis en place, je me sers du 1er uniquement, voici les liens ainsi que les descriptions:

    Pour l'envoi en production : https://www.sunat.gob.pe/ol-ti-itcpgem/billService?wsdl
    Pour l'envoi par homologation : https://www.sunat.gob.pe/ol-ti-itcpg...llService?wsdl

    Et voici mon code VB:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
     
    Dim file As String = "MonFichierAEnvoyer.zip"
     
    Dim userName As String = "IdIdentification"
    Dim pwd As String = "PWDIdentification"
    Dim local_filereceived As String = "R-" & file
    Dim zip As New ICSharpCode.SharpZipLib.Zip.FastZip
     
    System.Net.ServicePointManager.UseNagleAlgorithm = True
    System.Net.ServicePointManager.Expect100Continue = False
    System.Net.ServicePointManager.CheckCertificateRevocationList = True
     
    Try
         Dim data As Byte() = System.IO.File.ReadAllBytes(file)
         Dim ws As New Production.billServiceClient
     
         Dim Retour As Byte()
         ws.ClientCredentials.CreateSecurityTokenManager()
         ws.ClientCredentials.UserName.UserName = userName
         ws.ClientCredentials.UserName.Password = pwd
         ws.Open()
     
         'envoi du fichier ZIP à la SUNAT
         Retour = ws.sendBill(local_filereceived, data)
     
         'la réponse
         System.IO.File.WriteAllBytes(local_filereceived, Retour)
     
         'décompresser
         zip.ExtractZip(local_filereceived, ".", "")
     
         'supprimer les fichiers ZIP ainsi eus
         System.IO.File.Delete(local_filereceived)
         System.IO.File.Delete(local_filereceived)
    Catch ex As Exception
         MsgBox(ex.Message)
     End Try
    Merci

  2. #2
    Invité
    Invité(e)
    Par défaut
    Mon enveloppe SOAP doit être ainsi:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    <soapenv:Header>
       <wsse:Security>
           <wsse:UsernameToken>
              <wsse:Username>MonID</wsse:Username>
              <wsse:Password>MonPWD</wsse:Password>
           </wsse:UsernameToken>
       </wsse:Security>
    </soapenv:Header>

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [VB.NET] System.Security.Permission ....
    Par ludovic85 dans le forum Windows Forms
    Réponses: 8
    Dernier message: 17/10/2006, 11h24
  2. Message: Security Warning
    Par ENIT-Info dans le forum Access
    Réponses: 7
    Dernier message: 31/01/2006, 21h16
  3. [Delphi.NET][SDK] Comment interpréter System.Security.SecurityException?
    Par Laurent Dardenne dans le forum Delphi .NET
    Réponses: 4
    Dernier message: 07/04/2005, 12h43
  4. Security Error :s
    Par aeled dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 20/11/2004, 15h24
  5. [XMLRAD] Security des WebModules et/ou des WebServices
    Par Lux interior dans le forum XMLRAD
    Réponses: 4
    Dernier message: 18/12/2002, 17h09

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo