Je reçois des erreurs lorsque j'essaie d'ajouter une référence à un service Web dans Visual Studio 2010. Le service Web est implémenté en Java à l'aide de la pile JAX-WS/Metro/GlassFish et contient une politique UsernameToken. Voici un extrait du WSDL:Visual Studio ne peut pas consommer de service Web contenant la règle UsernameToken
<wsp:Policy
xmlns:wsp="http://www.w3.org/ns/ws-policy"
xmlns:sp="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702"
wsu:Id="UsernameToken">
<sp:SupportingTokens>
<wsp:Policy>
<sp:UsernameToken sp:IncludeToken=".../IncludeToken/AlwaysToRecipient" />
</wsp:Policy>
</sp:SupportingTokens>
</wsp:Policy>
Lorsque je tente d'ajouter une référence de service à ce service Web dans Visual Studio, je reçois les avertissements suivants:
Custom tool warning:
The following Policy Assertions were not Imported:
XPath://wsdl:definitions[@targetNamespace='http://archfirst.org/bfoms/tradingservice.wsdl']/wsdl:binding[@name='TradingWebServicePortBinding']
Assertions:
<sp:SupportingTokens xmlns:sp='http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702'>..</sp:SupportingTokens>
Custom tool warning:
Endpoint 'TradingWebServicePort' at address 'http://localhost:8080/bfoms-javaee/TradingService'
is not compatible with Silverlight 4. Skipping...
Custom tool warning:
No endpoints compatible with Silverlight 4 were found. The generated client
class will not be usable unless endpoint information is provided via the
constructor.
Pourquoi Visual Studio ne peut pas importer l'assertion?
P.S. J'ai été capable d'importer et de tester le service Web en utilisant l'outil SoapUI.
Merci Ladislav. Depuis que j'ai le contrôle sur le serveur, je peux le changer à tout ce que je veux. Quel est le mécanisme d'authentification basé sur WS-I le plus simple pris en charge par le client Silverlight? Ma seule exigence du côté Java est d'authentifier l'utilisateur appelant et de déterminer son nom d'utilisateur. Ce serait génial si vous pouviez également me référer à un lien qui explique comment le configurer sur le côté Silverlight. Merci. – Naresh
Je voulais juste ajouter que j'essayais d'éviter HTTPS parce que je ne voulais pas le mal de tête de la mise en place des certificats. Cependant, si cet effort est moins que d'essayer de faire fonctionner l'authentification dans Silverlight, alors je suis prêt à suivre cette voie. – Naresh
@Naresh: Je pense que vous devriez essayer d'utiliser HTTPS. J'espère que ça marchera. –