Je dois masquer l'URL WSDL ou la rendre disponible uniquement pour les utilisateurs authentifiés. Je ne veux pas exposer http://localhost:8080/services/Application?wsdl.Authentifier l'URL WSDL ou la désactiver
Tomcat version 8.5.11, java 8, Axis 1.4 (je sais la version Axis est trop vieux, mais c'est ce que je dois travailler avec pour l'instant)
Je pensais que je pourrais ajouter une contrainte de sécurité Web .xml comme expliqué ici http://docs.oracle.com/cd/E19798-01/821-1841/bncbk/index.html comme suit:
<security-constraint>
<web-resource-collection>
<web-resource-name>WSDL</web-resource-name>
<description>WSDL Files</description>
<url-pattern>*?wsdl</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>*</role-name>
</auth-constraint>
</security-constraint>
également trouvé ce fil qui suggère de faire la même chose, mais ne fonctionne pas pour moi Hiding WSDL in JAX-WS
Tomcat jette l'erreur suivante:
org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[]]
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:167)
at org.apache.catalina.core.StandardContext.reload(StandardContext.java:3782)
at org.apache.catalina.startup.HostConfig.reload(HostConfig.java:1377)
at org.apache.catalina.startup.HostConfig.checkResources(HostConfig.java:1350)
at org.apache.catalina.startup.HostConfig.check(HostConfig.java:1586)
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:280)
at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:94)
at org.apache.catalina.core.ContainerBase.backgroundProcess(ContainerBase.java:1164)
at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1388)
at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1392)
at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1360)
at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.IllegalArgumentException: Invalid <url-pattern> *?wsdl in security constraint
at org.apache.catalina.core.StandardContext.addConstraint(StandardContext.java:2827)
at org.apache.catalina.startup.ContextConfig.configureContext(ContextConfig.java:1317)
at org.apache.catalina.startup.ContextConfig.webConfig(ContextConfig.java:1190)
at org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:775)
at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:299)
at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:94)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5087)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
... 11 more
Une idée de ce que je fais mal? ou comment je peux réaliser ce qui précède?
Un grand merci à l'avance
Ceci est un mauvais modèle ' *? Wsdl url-pattern>', utilisez plutôt '' * .wsdl url-pattern> 'et votre exception disparaîtra. –
hagrawal
Voir [ici] (http: // stackoverflow.com/questions/14018215/what-is-url-pattern-in-web-xml-and-how-to-configure-servlet) pour les modèles d'URL valides. –
Je suis d'accord * .wsdl va se débarrasser de l'exception, mais cela ne résoudra pas le problème. J'ai? Wsdl à la fin de l'URL pas .wsdl. – justMe