Javax.jws和 javax.xml.ws 有什么区别
2022-09-03 14:18:06
我是Java的新手,并试图跳入WebServices。我在某处找到了两个例子,我对可用的选项感到困惑。
首先,使用注释似乎工作正常,但是 上有大量的材料。它似乎是较新的,并且没有关于它的材料太多。javax.jws.WebService
javax.xml.ws
javax.jws
这两种方法有什么区别?
我是Java的新手,并试图跳入WebServices。我在某处找到了两个例子,我对可用的选项感到困惑。
首先,使用注释似乎工作正常,但是 上有大量的材料。它似乎是较新的,并且没有关于它的材料太多。javax.jws.WebService
javax.xml.ws
javax.jws
这两种方法有什么区别?
使用来自 JSR 181 规范 (java.jws.xxx
),您可以对 Web 服务实现类或 Web 服务接口进行批注。
例如,从 Deploy JAX-WS Web Services On Tomcat
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();
}
JSR 224 规范定义了 JAX-WS 2.0 (javax.xml.ws 的注释。xxx
)。
@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;
}
}
佩尔·雷恩德斯 说:
我的猜测是,BEA希望现在能把一些东西放到Weblogic中,以便与.NET中的等效功能竞争。(请参阅,在 WebLogic 中开发 Web 服务“同样简单”)。此外,JAX-WS 2.0 (JSR-224) 中指定的注释
似乎为您提供了更多的控制。但是,JSR-224 确实显式支持/包含 JSR-181(JSR-224:7.10 由 JSR-181 定义的注释)。
有关更完整的讨论,请参阅 JSR 181:Java 简化请求
另请参阅:
这两个包命名空间不定义不同的方法。
javax.xml.ws
javax.jws