2017-09-11 2 views
-1

Je suis nouveau sur les services Web. J'ai essayé un exemple donné iciComment générer automatiquement un fichier WSDL en utilisant HTTPBinding

https://examples.javacodegeeks.com/enterprise-java/jws/jax-ws-hello-world-example-rpc-style/

Ici quand je Déployez le application web sur tomcat, il ouvre une page Web, en cliquant sur ce qu'il est dirigé vers WSDL. Ici, j'ai créé des classes Java stub et WSDL est créé à la volée. Similaire que j'ai essayé de faire pour un autre service Web Mais ici en utilisant HTTPBinding. Mais je vois WSDL n'est pas publié.

J'ai essayé de plusieurs façons, mais sans succès.

Ci-dessous est la classe Impl que j'ai créé

@WebServiceProvider() 
@ServiceMode(value=Service.Mode.MESSAGE) 
@BindingType(value = HTTPBinding.HTTP_BINDING) 

public class WebServiceImpl implements Provider<Source> { 
public Source invoke(Source source) { 
try { 
    return new StreamSource(new ByteArrayInputStream(printMessage().getBytes())); 
} catch(Exception e) { 
    e.printStackTrace(); 
    throw new RuntimeException("Error in provider endpoint", e); 
} 
} 
public String printMessage() { 
String body= "Hello , Congratulations to learn HTTP Binding .happy learning!"; 
return body; 
} 

Mais je ne n'obtenir le résultat de Webservice sur l'URL localhost:8080/HttpWS/sayhello ni lien WSDL, comme il a été montré dans l'exemple SOAP.

Quelqu'un peut-il s'il vous plaît aidez-moi à comprendre comment utiliser HTTPBinding?

Merci beaucoup à l'avance.

+0

Après avoir modifié tag @WebServiceProvider ( \t \t portName = "WebServiceImplPort", \t serviceName = "WebServiceImplService", \t targetNamespace = "http: //jaxws.webservices.examples/", \t wsdlLocation = "http: // localhost: 8080/HttpWS/sayhello? wsdl") Je reçois ci-dessous XML Bonjour, Félicitations pour apprendre HTTP Liaison .happy learning lors de l'accès à l'URL http: // localhost: 8080/HttpWS/sayhello. Mais qu'est-ce que le WSDL qui en résulte est toujours sans réponse. S'il vous plaît aider. – summary

Répondre

0
  • J'ai essayé d'utiliser l'outil wsgen pour créer le fichier WSDL pour le ci-dessus WebService. Mais il a donné le message "wsgen ne peut pas générer WSDL pour liaison non-SOAP: http://www.w3.org/2004/08/wsdl/http sur la classe com.pkg.WbServeImpl" Je pense que c'est pourquoi Eclipse n'est pas non plus générant WSDL pendant que mon webservice est opérationnel.Pour HTTP Liaison il faut écrire et publier manuellement WSDL. - Merci