最近学习JAX-WS,平台j2ee自带的JAX-WS,jdk1.7 eclipse4.3,发现一些有趣的事情:
发布一个Webservice,Endpoint.publish(http://localhost:8090/wcs/service/v1, new XServiceImpl());
正常发布,没有抛出异常或警告。服务端调用时,控制台输出:SEVERE: Unsupported Content-Type: application/soap+xml。查看网上知道是服务端是SOAP1.1而客户端是SOAP1.2引起的。不知道JAX-WS是否默认绑定为SOAP1.1,还是编写的wsdl指定,回头有空查资料想想。
将XServiceImpl类增加注释,意思想绑定为SOAP1.2:
@BindingType(SOAPBinding.SOAP12HTTP_BINDING) 或
@BindingType(value = "http://www.w3.org/2003/05/soap/bindings/HTTP/")
结果输出:Exception in thread "main" com.sun.xml.internal.ws.server.ServerRtException: Cannot generate WSDL for binding http://www.w3.org/2003/05/soap/bindings/HTTP/
这有些意外,网上说可能是写jax-ws当时http://www.w3.org/2003/05/soap/bindings/HTTP/未成为w3c标准,我想不一定,也许某个地方有bug。在Java的页面上指出用
@BindingType(value =