Rel*_*ing 9 java web-services jax-ws
我是Java新手并试图跳进WebServices.我在某个地方找到了两个例子,我对可用的选项感到困惑.
首先,javax.jws.WebService注释似乎工作正常,但有大量的材料javax.xml.ws.它似乎javax.jws更新,并没有太多可用的材料.
这两种方法有什么区别?
Pau*_*gas 11
使用JSR 181规范(java.jws.xxx)中的注释,您可以注释Web服务实现类或Web服务接口.
package com.mkyong.ws;
import javax.jws.WebMethod;
import javax.jws.WebService;
import javax.jws.soap.SOAPBinding;
import javax.jws.soap.SOAPBinding.Style;
//Service Endpoint Interface
@WebService
@SOAPBinding(style = Style.RPC)
public interface HelloWorld{
@WebMethod String getHelloWorldAsString();
}
Run Code Online (Sandbox Code Playgroud)
JSR 224规范定义了JAX-WS 2.0(javax.xml.ws.xxx)的注释.
例如,在Java JAX-WS中使用SOAP Faults和Exceptions
@WebFault(name="CheckVerifyFault",
targetNamespace="http://www.example.com")
public class CheckVerifyFault extends Exception {
/**
* Java type that goes as soapenv:Fault detail element.
*/
private CheckFaultBean faultInfo;
public CheckVerifyFault(String message, CheckFaultBean faultInfo) {
super(message);
this.faultInfo = faultInfo;
}
public CheckVerifyFault(String message, CheckFaultBean faultInfo,
Throwable cause) {
super(message, cause);
this.faultInfo = faultInfo;
}
public CheckFaultBean getFaultInfo() {
return faultInfo;
}
}
Run Code Online (Sandbox Code Playgroud)
我的猜测是,BEA想要在Weblogic中投入一些东西来与.NET中的等效功能竞争.(请参阅,在WebLogic中开发Web服务"非常简单").此外,JAX-WS 2.0(JSR-224)中指定的注释
似乎为您提供了更多控制.但是,JSR-224明确支持/包含JSR-181(由JSR-181定义的JSR-224:7.10注释).
有关更完整的讨论,请参阅JSR 181:Java简化请求
也可以看看:
这两个包名称空间不定义不同的方法.
javax.xml.ws和javax.jws包命名空间.