Bonjour,

J'ai une documentation et un WSDL, jusqu'ici c'est plutôt des bonnes nouvelles.

J'ai importé le WSDL en référence et je retrouve bien OrderServiceV1_10PortChannel.

La documentation indique que le header doit être envoyé à chaque appelle et donne l'exemple ci-dessous.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
using (new OperationContextScope(api.InnerChannel))
{
    var httpRequestProperty = new HttpRequestMessageProperty();
    httpRequestProperty.Headers[System.Net.HttpRequestHeader.Authorization] = "Basic " + Convert.ToBase64String(Encoding.ASCII.GetBytes("11111111111111:pppppppp"));
    OperationContext.Current.OutgoingMessageProperties[HttpRequestMessageProperty.Name] = httpRequestProperty;
 
    // Appel à une méthode du service    
    api.method(...);
}
J'ai créé une application console pour tester

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
        static void Main(string[] args)
        {
            var api = new apiSp2Web.OrderServiceV1_10PortChannel(); 
 
            using (new OperationContextScope(api))
            {
                var httpRequestProperty = new HttpRequestMessageProperty();
                httpRequestProperty.Headers[System.Net.HttpRequestHeader.Authorization] = "Basic " + Convert.ToBase64String(Encoding.ASCII.GetBytes("11111111111111:pppppppp"));
                OperationContext.Current.OutgoingMessageProperties[HttpRequestMessageProperty.Name] = httpRequestProperty;
 
                // Appel à une méthode du service    
                // api.method(...);
                var response = api.OrderStatus("838-488-931");
            }
        }
Le soucis (ou pas) est que OrderServiceV1_10PortChannel est une interface et que je ne peux pas créer de nouvelle instance.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
public interface OrderServiceV1_10PortChannel : apiSp2Web.OrderServiceV1_10Port, System.ServiceModel.IClientChannel
Pouvez-vous m'expliquer ce que je fais mal ?

Merci par avance.
Gshin