我是 web 服务世界的新手,我有一个疑问,因为我正在开发 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());
}
}
Java Web 服务客户端通过 Wsimport 工具
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"));
}
}