如何使用HTTPBinding

时间:2017-09-11 10:56:29

标签: java http binding wsdl

我是Web服务的新手。我在这里尝试了一个例子

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

当我在tomcat上部署Web应用程序时,它会打开一个网页,点击该网页会将其定向到WSDL。在这里,我创建了Java存根类,并且即时创建了WSDL。类似的事情,我试图为另一个Web服务但在这里使用HTTPBinding。但我发现WSDL未发布。

我在很多方面都尝试过,但没有成功。

下面是我创建的Impl类

@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;
}

但我既没有在URL localhost:8080/HttpWS/sayhello上获得Webservice结果也没有WSDL链接,就像它在SOAP示例中所示。

有人可以帮助我了解如何使用HTTPBinding吗?

非常感谢。

1 个答案:

答案 0 :(得分:0)

  • 我尝试使用wsgen工具为上面创建WSDL文件 网络服务 。但它给出了消息“wsgen无法生成WSDL 非SOAP绑定:Class上的http://www.w3.org/2004/08/wsdl / http com.pkg.WbServeImpl“我认为这也是为什么Eclipse也不是 在我的webservice启动并运行时生成WSDL。用于HTTP绑定 必须手动编写和发布WSDL。 - 谢谢