Il y a un service WCF avec la configuration:appel service WCF par VBScript
<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é 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 cette erreur apparaît:
Client: WSDLReader: Échec de l'analyse du fichier WSDL HRESULT = 0x8 0004005 - WSDLReader: Échec de l'initialisation du service HRESULT = 0x80004005 - Service WSDL: Initialisation du p ort pour le service MyService n'a pas HRESULT = 0x80004005 - WSDLPort: Analyser les informations de liaison pour le port BasicHttpBinding_IMyService n'a HRESULT = 0x80004005 - WSDLPort: Une opération pour BasicHttpBinding_IMyService du port n'a pas pu être initialisé HRESULT = 0x8000 4005 - WSDLOperation: L'opération // def: portType [@ name = "IMyService"]/DEF : opération [@ name = "MyMethod"] n'a pas été trouvé dans la section porttype HRESULT = 0x80004005
Qu'est-ce qui ne va pas? S'il vous plaît, aidez.
Edit:
Merci, Cheeso, pour la réponse. Le problème avec MSSOAP semble être que tous les schémas xsd doivent être inclus dans le fichier WSDL généré. WCF ne le fait pas par défaut.
Si vous voulez les XSD dans le WSDL, vous pouvez modifier le service WCF pour "l'aplatir". http://www.bing.com/search?q=Wcf+flatten+wsdl Si vous n'avez aucun contrôle sur la fin de WCF, vous pouvez toujours construire un WSDL qui est monolithique et devrait fonctionner. Mais il y a d'autres problèmes plus sérieux avec MSSOAP. – Cheeso