2010-07-21 8 views
0

Je souhaite créer une application en C# qui se connecte à un service Web Apache AXIS et effectue les opérations suivantes via SOAP.Connexion au service Web SOAP inconnu

  1. Connectez-vous au serveur.
  2. POST chaîne de données vers le serveur
  3. Recevoir et de réponse du serveur d'affichage

Voici la partie difficile. Je n'ai pas accès au serveur et je ne sais pas non plus où se trouve le fichier .JWS sur le serveur. J'ai été en mesure d'accéder au fichier WSDL dans mon navigateur Web, donc je sais qu'une opération de "connexion" existe aussi bien qu'une opération pour prendre des données.

J'ai essayé d'accéder au service Web via l'URL, mais je continue à recevoir ce message:

Salut, c'est un service AXIS!

Peut-être il y aura une forme pour appeler le service ici ...

En résumé, est-il que je peux quand même se connecter à ce service Web lorsque j'ai est l'URL du fichier WSDL? Les services Web sont-ils accessibles via une URL?

Merci

Répondre

1

Utilisez WCF, et de générer des proxies client au service Web en utilisant l'outil svcutil.exe.

en cours d'exécution svcutil.exe http://url.to/webservice?WSDL the_wsdl.wsdl /language:C# doit générer des classes proxy que vous pouvez utiliser dans votre projet C#, et vous appelez le service par ex. comme

BasicHttpBinding myBinding = new BasicHttpBinding(); //might not even need these 
        // 2 lines if you ran svcutil.exe directly on the web service URL 
    EndpointAddress myEndpoint = new EndpointAddress("http://url.to/webservice"); 
    TestClient client = new TestClient(myBinding,myEndpoint); //the generated classes 
                  // svcutil.exe created 
    client.SomeOperation(42); // call an SomeOperation of the web service 
1

Merci pour l'aide de tout le monde. En revenant sur cette question, je peux voir à quel point j'étais confus. Voici la solution que j'ai suivie.

En supposant que vous connaissiez l'URL du fichier WSDL du service auquel vous souhaitez vous connecter, procédez comme suit.

  1. Démarrez Visual Studio
  2. Sur la barre d'outils naviguer aux données -> Ajouter nouvelle source de données, puis choisissez Service dans la nouvelle boîte de dialogue
  3. Dans la barre d'adresse, entrez l'URL du fichier WSDL (EXEMPLE : http://server.com/services/displayName?wsdl)
  4. Près du bas de la boîte de dialogue, modifiez l'espace de noms à quelque chose de pertinent au projet (Exemple: sampleService)
  5. maintenant Visual studio devrait compiler les proxies du client pour vous que vous pouvez utiliser pour accéder aux services Web sur votre serveur. Pour accéder à l'un des services, tout ce que vous devez faire est de créer un nouvel objet à partir de la classe.

    //Example 
        sampleService.ClassName test = new sampleService.ClassName(); 
    
         test.displayName("Jack"); 
    
Questions connexes