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.
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 ns: printMessageResponse> 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