none
Web Service WCF personnalisé et URL interne dans WSDL RRS feed

  • Question

  • Bonjour,

    j'ai déployé un web service WCF personnalisé en suivant la méthodologie suivante : http://msdn.microsoft.com/fr-fr/library/ff521581.aspx

    Mon application SharePoint est publiée sur une URL publique de la manière suivante :

    - Web App avec URL interne sur le port 80 (authent NTLM)

    - Extension de webapp sur le port 82 (Basic auth)

    - Alternate access mapping configurés pour publier l'extension en https avec une URL différente

    - Gestion de cette publication via un reverse proxy

    Cette publication fonctionne très bien pour tous les webservices SharePoint que j'utilise (en l’occurrence copy.asmx et listadata.svc), chaque service met à dispo son wsdl et est interrogeable depuis l'extérieur.

    Par contre celui que j'ai déployé génère un WSDL automatiquement et celui-ci comprend des URLs absolues vers le XSD qui correspondent à des URLs interne (sur le port 82).

    Comment faire en sorte que mon WSDL génère automatiquement des URLs publiques ? je pense qu'il y a quelque chose à paramétrer dans le web.config de mon webservice mais impossible de trouver la réponse sur le net.

    Je peux donc interroger sans soucis mon WS en interne mais depuis l'extérieur ces fameuses URLs comprises dans mon fichier WSDL posent problème.

    Merci par avance de votre aide.

    Cordialement,


    Alexandre DAVID

    vendredi 8 juin 2012 11:57

Réponses

  • Dans ce cas vous devriez plutôt faire une extension supplémentaire de votre webapp qui est sur le port 82, pour l'ouvrir en SSL, port 443, et hostheader différent (plutot que juste des aternate access mappings).

    Manifestement le service wsdl se "génère" par rapport au site IIS qui le fait tourner....


    Blog Sharepoint : www.paslatek.net Twitter : @LimozinLionel

    vendredi 15 juin 2012 06:41

Toutes les réponses

  • Re,

    Je n'arrive pas à reproduire le pbm :

    - J'ai une webapp sur le port 80 en http

    - J'ai étendu cette webapp sur le port 443 et en SSL (ce qui a aussi pour effet de configurer les alternate access mapping)

    - J'ai suivi globalement la même méthode pour intégrer un service wcf custom (j'ai suivi mon article http://paslatek.net/2011/01/sharepoint/deployer-un-service-wcf-custom-sur-sharepoint-2010/)

    - suivant que j'accède au wsdl en http ou https, le wsdl généré contient aussi des liens vers les xsd mais sur l'url adéquate :

    ou

    Je vois 2 explications :

    - il manque un truc dans la solution de votre service pour que ça se déploie comme il faut

    - le coup du reverse proxy y est pour quelque chose. J'avoue que ça ne me parle pas, quel est son  rôle dans l'histoire ?


    Blog Sharepoint : www.paslatek.net Twitter : @LimozinLionel


    mercredi 13 juin 2012 20:21
  • Bonjour Lionel,

    en fait j'ai étendu mon application web sur le port 82 (en basic auth) et non 443.

    Les AAM me permettent de l'interroger sur le port 443 via le reverse proxy.

    Mon hostheader interne est aussi différent de celui utilisé sur l'URL externe.

    Merci en tout cas pour ce test !



    Alexandre DAVID

    jeudi 14 juin 2012 07:46
  • Dans ce cas vous devriez plutôt faire une extension supplémentaire de votre webapp qui est sur le port 82, pour l'ouvrir en SSL, port 443, et hostheader différent (plutot que juste des aternate access mappings).

    Manifestement le service wsdl se "génère" par rapport au site IIS qui le fait tourner....


    Blog Sharepoint : www.paslatek.net Twitter : @LimozinLionel

    vendredi 15 juin 2012 06:41