Appel du service WCF par VBScript
Il y a un service WCF avec configuration:
<services>
<service name="MyService" behaviorConfiguration="MyServiceBehavior">
<endpoint
binding="basicHttpBinding"
contract="IMyService" />
<host>
<baseAddresses>
<add baseAddress="http://localhost:8001/MyService" />
</baseAddresses>
</host>
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior name="MyServiceBehavior">
<serviceMetadata httpGetEnabled="True" />
</behavior>
</serviceBehaviors>
</behaviors>
Ce script est censé l'appeler:
Option Explicit
Dim soapClient
Dim serviceUri
Dim serviceName
Dim portName
Dim result
serviceUri = "http://localhost:8001/MyService"
serviceName = "MyService"
portName = "BasicHttpBinding_IMyService"
Set soapClient = CreateObject("MSSOAP.soapClient")
soapClient.ClientProperty("ServerHTTPRequest") = True
soapClient.mssoapinit serviceUri & "?WSDL", serviceName, portName
Lors de l'exécution du script, ce message d'erreur s'affiche:
Client: WSDLReader:l'Analyse du fichier WSDL échec de HRESULT=0x8
0004005 - WSDLReader:Initialisation du service n'a pas pu HRESULT=0 x 80004005 - WSDL du Service:Initialisation du port pour le service MyService échec de HRESULT
=0 x 80004005 - WSDLPort:Analyser les informations de liaison pour le port BasicHttpBinding_IMyService échec de HRESULT=0 x 80004005 - WSDLPort:Une opération pour le port BasicHttpBinding_IMyService n'a pas pu être initialisé HRESULT=0x8000
4005 - WSDLOperation:L'opération //def:portType[@name="IMyService"]/
def:le fonctionnement[@name="MyMethod"] n'a pas été trouvé dans la section porttype
HRESULT=0 x 80004005
Ce qui ne va pas? S'il vous plaît, aider.
Edit:
Merci, Cheeso, pour la réponse.
Le problème avec le MSSOAP semble qu'il exige de tous les schémas xsd être inclus en ligne dans le fichier WSDL généré. WCF ne le fait pas par défaut.
source d'informationauteur Alex
Vous devez vous connecter pour publier un commentaire.
Ne pas utiliser MSSOAP. Je pense que c'est de l'appui maintenant, depuis 3 ou 4 ans. Pensez à utiliser le XmlHttp, qui fait partie de MSXML, et est soutenu et continue d'être maintenu. Vous aurez à construire une enveloppe SOAP manuellement. Mais il est plus fiable de cette manière.
exemple de code
Pour info: Voir qui-version de msxml-dois-je utiliser pour savoir comment sélectionner une version de MSXML.