2010-09-10 3 views
1

J'utilise une référence de service à un service Web et j'en ai créé une nouvelle instance. J'ai créé un message et essayé d'envoyer à webservice mais je reçois cette erreur:WCF n'a pas pu trouver le point de terminaison par défaut

Could not find default endpoint element that references contract 'receivePortService.ITwoWayAsyncVoid' in the ServiceModel client configuration section. This might be because no configuration file was found for your application, or because no endpoint element matching this contract could be found in the client element.

Maintenant, je suis le déploiement de cette application à sharepoint, donc je viens de le fichier dll. Est-il possible de définir manuellement les propriétés à partir du fichier de configuration dans le code?

receivePortService.TwoWayAsyncVoidClient client = new TaskCompletedHandler.receivePortService.TwoWayAsyncVoidClient(); 
Message msg = Message.CreateMessage(MessageVersion.Default,"*",XmlTextReader.Create(xmlMessage)); 
client.BizTalkSubmit(msg); 

Comment puis-je définir l'adresse de point de terminaison et d'autres éléments sans app.config?

Répondre

0

Typiquement, votre classe TwoWayAsyncVoidClient devrait avoir plusieurs constructeurs surchargés - l'un en particulier devrait prendre un Binding et un EndpointAddress comme paramètres.

Donc, dans le code, vous pouvez créer par ex.

WSDualHttpBinding myBinding = new WSDualHttpBinding(); 
EndpointAddress epa = new EndpointAddress(new Uri("http://yourserver:7777/YourService/TheService.svc")); 

receivePortService.TwoWayAsyncVoidClient client = new TaskCompletedHandler.receivePortService.TwoWayAsyncVoidClient(myBinding, epa); 

Avec WSDualHttpBinding étant un double/deux voies de liaison (qui je suppose que vous voulez utiliser, en fonction du nom de votre classe client), vous pourriez avoir besoin aussi de mettre des choses supplémentaires comme le contrat de rappel interface et l'adresse de rappel - mais ce code devrait au moins vous aider à démarrer, j'espère!

Questions connexes