WSDL第一个使用Maven的Web服务,JBoss下的CXF

时间:2011-09-09 08:02:00

标签: java web-services jboss cxf

如果这些问题看起来微不足道,我很抱歉,但我已经谷歌了几天没有成功。

我是WebServices的新手,我被指派为Java中的Web服务开发服务器部分。我得到了一个WSDL和maven和cxf我用两个模块构建了一个项目。我编写业务代码并打算执行Web服务服务器部分的核心模块和从WSDL生成类的wsdl模块。

现在,在编写业务代码并对其进行测试之后,我必须在JBoss下部署​​Web服务服务器,以便使用soapUI进行进一步测试。我从来没有这样做过,尝试谷歌一个教程让我真的很困惑,因为我似乎无法找到一个好的例子/教程 - 大多数使用不同的技术。

我认为我必须配置web.xml和cxf.xml并创建指向我的服务实现的端点 - 一个实现从WSDL创建的服务接口的类;但我不知道该怎么做。

我还注意到WSDL创建了一个扩展Service的Service_service类。 这堂课看起来像这样。 (为了保密起见,有些事情已被删除)

import javax.xml.ws.WebServiceClient;
import javax.xml.ws.WebServiceFeature;
import javax.xml.ws.Service;


@WebServiceClient(name = "Service", 
              wsdlLocation = "file:/C:/dev/ws/ems/APP/wsdl/src/main/resources/wsdl/Service.wsdl",
              targetNamespace = "http://smth.com/smth/smth/smth") 
public class Service_Service extends Service {

public final static URL WSDL_LOCATION;

public final static QName SERVICE = new QName("http://smth.com/smth/smth/smth", "Service");
public final static QName ServicePort = new QName("http://smth.com/smth/smth/smth", "ServicePort");
static {
    URL url = null;
    try {
        url = new URL("file:/C:/dev/ws/ems/Service/wsdl/src/main/resources/wsdl/Service.wsdl");
    } catch (MalformedURLException e) {
        System.err.println("Can not initialize the default wsdl from file:/C:/dev/ws/ems/Service/wsdl/src/main/resources/wsdl/Service.wsdl");
        // e.printStackTrace();
    }
    WSDL_LOCATION = url;
}

public Service_Service(URL wsdlLocation) {
    super(wsdlLocation, SERVICE);
}

public Service_Service(URL wsdlLocation, QName serviceName) {
    super(wsdlLocation, serviceName);
}

public Service_Service() {
    super(WSDL_LOCATION, SERVICE);
}


/**
 * 
 * @return
 *     returns Service
 */
@WebEndpoint(name = "ServicePort")
public Service getServicePort() {
    return super.getPort(ServicePort, Service.class);
}

/**
 * 
 * @param features
 *     A list of {@link javax.xml.ws.WebServiceFeature} to configure on the proxy.  Supported features not in the <code>features</code> parameter will have their default values.
 * @return
 *     returns Service
 */
@WebEndpoint(name = "ServicePort")
public Service getServicePort(WebServiceFeature... features) {
    return super.getPort(ServicePort, Service.class, features);
}}

我应该用它做什么?它做了什么?

任何人都可以帮我一个教程或类似的例子吗?目前我真的不知道如何继续......

谢谢,

后来编辑:我刚注意到Service_service用于客户端,所以我想我不需要它,因为我没有开发客户端。

WSDL生成的服务包含

@WebService(targetNamespace = "http://smth.com/smth/smth/smth", name = "Service")

我猜我需要在我的web.xml中使用它。

我可以使用任何输入... 再次感谢,

0 个答案:

没有答案