2017-09-04 3 views
0

Ici, j'utilise java première approche pour créer un service web.Comment changer l'emplacement de l'adresse du soap WSDL, en particulier la partie contextuelle de l'url?

J'ai exposé un service Web utilisant JAX-WS en utilisant l'API d'extrémité Endpoint Endpoint.publish(address,SampleWebService) dans JBOSS EAP 6.0. Quelle que soit la valeur que je fournis pour le champ d'adresse dans la méthode de publication ci-dessus, cela n'a pas d'importance, c'est-à-dire que je n'en ai pas vu l'impact. SampleWebService ci-dessus est ma classe d'implémentation de service Web. Après avoir déployé le fichier war, j'obtiendrai un fichier WSDL généré à l'emplacement suivant.

% JBOSS_HOME%/autonome/data/WSDL/MyProjectName-1,0-SNAPSHOT.war

Le fichier WSDL généré ci-dessus contient du savon: adresse location = "http://localhost:8080/MyProjectName-1.0-SNAPSHOT/SampleWebService?wsdl" />

@webService(serviceName="SampleWebService") 
public class SampleWebService { 
    //Implementation specific logic 
} 

Y at-il une façon que je peux changer le contexte, c'est-à-dire, dans l'adresse de savon pour avoir MyProjectName au lieu de MyProjectName-1.0-SNAPSHOT de sorte que l'adresse finale du savon ressemblera

soap: address location = "http://localhost:8080/MyProjectName-1.0-SNAPSHOT/SampleWebService?wsdl" />

Répondre

0

répondre à ma propre question.

Tout ce que je voulais est de changer le nom du contexte racine afin que je puisse fournir mon propre nom au lieu du nom de fichier de guerre par défaut (le nom complet du fichier guerre excluant l'extension .war)

Afin de changer le contexte racine du fichier de guerre, c'est-à-dire mon nom de fichier de guerre, j'avais besoin du fichier jboss-web.xml dans mon dossier WEB-INF de l'application web dans lequel je peux spécifier le nom que je veux.

Merci à ce poste changing context root name qui m'a aidé à trouver la solution pour mon cas. Maintenant, jboss-webapp.xml

contient le contenu suivant:

<?xml version="1.0" encoding="UTF-8"?> 
<jboss-web xmlns="http://www.jboss.com/xml/ns/javaee" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation=" 
     http://www.jboss.com/xml/ns/javaee 
     http://www.jboss.org/j2ee/schema/jboss-web_5_1.xsd"> 
    <context-root>MyProjectName</context-root> 
</jboss-web> 

Le changement ci-dessus m'a aidé à obtenir l'emplacement d'adresse du savon nécessaire URL. c.-à-d., & ltsoap: adresse location = "http: // localhost: 8080/MyProjectName/SampleWebService? Wsdl" />