在开发JAX-WS Web服务中删除注释并添加xml

时间:2012-08-12 17:45:44

标签: java web-services jax-ws

我是webservices世界的新bie,我有一个查询,因为我正在开发JAX-WS下面的Web服务生产者和客户端但是我正在使用注释请你告诉我如何开发相同的程序没有使用使用XML的注释..自己..

创建Web服务端点接口

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(String name);

}

创建Web服务端点实施

import javax.jws.WebService;

//Service Implementation
@WebService(endpointInterface = "com.mkyong.ws.HelloWorld")
public class HelloWorldImpl implements HelloWorld{

    @Override
    public String getHelloWorldAsString(String name) {
        return "Hello World JAX-WS " + name;
    }

}

创建端点发布者

import javax.xml.ws.Endpoint;
import com.mkyong.ws.HelloWorldImpl;

//Endpoint publisher
public class HelloWorldPublisher{

    public static void main(String[] args) {
       Endpoint.publish("http://localhost:9999/ws/hello", new HelloWorldImpl());
    }

}

通过Wsimport工具的Java Web服务客户端

wsimport -keep http://localhost:9999/ws/hello?wsdl

它将生成必要的客户端文件,这取决于提供的wsdl文件。在这种情况下,它将生成一个接口和一个服务实现文件。

最后使用生成的存根类的主类..

package com.mkyong.client;

import com.mkyong.ws.HelloWorld;
import com.mkyong.ws.HelloWorldImplService;

public class HelloWorldClient{

    public static void main(String[] args) {

        HelloWorldImplService helloService = new HelloWorldImplService();
        HelloWorld hello = helloService.getHelloWorldImplPort();

        System.out.println(hello.getHelloWorldAsString("mkyong"));

    }

}

1 个答案:

答案 0 :(得分:2)

我遇到同样的问题时遇到了这个问题......

终于在这里找到了所需的解释:http://jonas.ow2.org/JONAS_5_1_1/doc/doc-en/pdf/jaxws_developer_guide.pdf

寻找:覆盖注释