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 :

No SOAPAction header / Tag soap:header


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif
    Profil pro
    Développeur informatique
    Inscrit en
    Mars 2010
    Messages
    336
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2010
    Messages : 336
    Par défaut No SOAPAction header / Tag soap:header
    Bonjour,

    je souhaite envoyer un message soap. Cependant lors de la réponse je reçoit cette erreur :

    "Le serveur distant a retourné une erreur*: (500) Erreur interne du serveur."

    Le type de contenu text/xml; charset=utf-8 du message de réponse ne correspond pas au type de contenu de la liaison (application/soap+xml; charset=utf-8). Si vous utilisez un encodeur personnalisé, vérifiez que la méthode IsContentTypeSupported est implémentée correctement. Les premiers 562 octets de la réponse étaient : '<?xml version="1.0" encoding="utf-8"?><soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlnssd="http://www.w3.org/2001/XMLSchema" xmlnssi="http://www.w3.org/2001/XMLSchema-instance">
    <soapenv:Body>
    <soapenv:Fault>
    <faultcode xmlns:ns1="http://xml.apache.org/axis/">ns1:Client.NoSOAPAction</faultcode>
    <faultstring>no SOAPAction header!</faultstring>
    <detail>
    <ns2:hostname xmlns:ns2="http://xml.apache.org/axis/">xxxxxx</ns2:hostname>
    </detail>
    </soapenv:Fault>
    </soapenv:Body>
    </soapenv:Envelope>'.

    Donc j'essaie d'ajouter la balise SOAPAction dans le soap:header mais je ne trouve aucun exemple de tag soap:soapAction
    Savez-vous comment faire ?

    voici le xml de mon soap :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    "<soapenv:Envelope xmlns:soapenv=""http://schemas.xmlsoap.org/soap/envelope/"" xmlns:xsd=""http://www.w3.org/2001/XMLSchema"" xmlns:xsi=""http://www.w3.org/2001/XMLSchema-instance"">" & _
                                                                       "<soap:Header>" & _
                                                                       "</soap:Header>" & _
                                                                        "<soapenv:Body>" & _
                                                                        "<xmlString xmlns=""xxxxxxx"">" & _
                                                                       "xxxxxx</xmlString></soapenv:Body></soapenv:Envelope"
    D'avance je vous remercie.

  2. #2
    Membre Expert
    Homme Profil pro
    Développeur .Net / Delphi
    Inscrit en
    Juillet 2002
    Messages
    738
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Développeur .Net / Delphi
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2002
    Messages : 738
    Par défaut
    Bonjour,
    Je suppose que tu utilises un HttpWebRequest pour l'envoi de ton message Soap. Tu peux donc ajouter l'action dans le header ce cette façon :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    webRequest.Headers.Add("SOAPAction", action);

  3. #3
    Membre très actif
    Profil pro
    Développeur informatique
    Inscrit en
    Mars 2010
    Messages
    336
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2010
    Messages : 336
    Par défaut
    Citation Envoyé par ebastien Voir le message
    Bonjour,
    Je suppose que tu utilises un HttpWebRequest pour l'envoi de ton message Soap. Tu peux donc ajouter l'action dans le header ce cette façon :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    webRequest.Headers.Add("SOAPAction", action);
    Bonjour,

    non je construit le xml "à la main". Ensuite, je transmet mon xml à mon webservice.

  4. #4
    Membre Expert
    Homme Profil pro
    Développeur .Net / Delphi
    Inscrit en
    Juillet 2002
    Messages
    738
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Développeur .Net / Delphi
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2002
    Messages : 738
    Par défaut
    Tu définis ton webservice comment ? C'est quoi le moyen de communication entre ton client et ton webservice ? Je pense qu'il faudrait un peu de code pour comprendre...

  5. #5
    Membre très actif
    Profil pro
    Développeur informatique
    Inscrit en
    Mars 2010
    Messages
    336
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2010
    Messages : 336
    Par défaut
    Citation Envoyé par ebastien Voir le message
    Tu définis ton webservice comment ? C'est quoi le moyen de communication entre ton client et ton webservice ? Je pense qu'il faudrait un peu de code pour comprendre...
    Ok voici le code que j'utilise :

    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
     Dim myBinding As WSHttpBinding = New WSHttpBinding
            myBinding.Security.Mode = SecurityMode.Transport
            myBinding.Security.Transport.ClientCredentialType = HttpClientCredentialType.Certificate
                 Dim endpointAd As EndpointAddress = New EndpointAddress("https://xxxxx/xxxx/xxxx/xxxx")
     
            Dim xmlRequest As SendXml.xxxxWebServiceConnectorClient = New SendXml.xxxxWebServiceConnectorClient(myBinding, endpointAd)
     
            Dim request As SendXml.requestXML = New SendXml.requestXML("<soapenv:Envelope xmlns:soapenv=""http://schemas.xmlsoap.org/soap/envelope/"" xmlns:xsd=""http://www.w3.org/2001/XMLSchema"" xmlns:xsi=""http://www.w3.org/2001/XMLSchema-instance"">" & _
                                                                       "<soap:Header>" & _
                                                                       "</soap:Header>" & _
                                                                        "<soapenv:Body>" & _
                                                                        "<xmlString xmlns=""xxxxxxx"">" & _
                                                                       "xxxxxx</xmlString></soapenv:Body></soapenv:Envelope")
                  Try
                xmlRequest.ClientCredentials.ClientCertificate.SetCertificate(System.Security.Cryptography.X509Certificates.StoreLocation.CurrentUser, _
                                                                       System.Security.Cryptography.X509Certificates.StoreName.AuthRoot, _
                                                                       System.Security.Cryptography.X509Certificates.X509FindType.FindBySubjectName, _
                                                                       "xxxxx")
                           ' Begin using the client.
                Dim xmlReply As SendXml.replyXML = xmlRequest.SendXml_xxxxWebServiceConnector_sendXML(request)
            Catch ex As Exception
     
            End Try

  6. #6
    Membre Expert
    Homme Profil pro
    Développeur .Net / Delphi
    Inscrit en
    Juillet 2002
    Messages
    738
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Développeur .Net / Delphi
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2002
    Messages : 738
    Par défaut
    Il est étonnant ton webService. Le webService a une méthode SendXml_xxxxWebServiceConnector_sendXML (déjà le nom...) qui attend un message soap ? Tu est sûr de son utilisation ? Si ce n'est pas indiscret , il sert à quoi ce webservice ?

Discussions similaires

  1. SOAP Headers : remove types tag
    Par Dripple dans le forum Services Web
    Réponses: 3
    Dernier message: 16/06/2010, 20h06
  2. [Débutant] Consommation et SOAP Header
    Par sunvialley dans le forum Services Web
    Réponses: 6
    Dernier message: 22/07/2009, 12h02
  3. Soap Header Authentication
    Par theodoric dans le forum Services Web
    Réponses: 1
    Dernier message: 24/04/2009, 23h38
  4. Soap Header dans la réponse
    Par fragmonster dans le forum Services Web
    Réponses: 1
    Dernier message: 15/11/2007, 22h49
  5. [ECLIPSE3.1][WDSL2java] Soap header
    Par cosmos38240 dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 11/02/2005, 14h53

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