在java中如何使用jdk web调用webservice接口?用axis1.4怎么做?

BSO 2020-09-02 15:47:26 java常见问答 4641

在java的学习中,我们总是会遇到各式各样的问题,也同时在不断地解决这些问题,学到更多的知识。今天就为大家介绍一下在java中如何使用jdk web调用webservice接口,如果是用axis1.4又应该如何操作。

首先我们来看一下用jdk web调用webservice接口的方法。

1.利用jdk web服务api实现,这里使用基于SOAP message的Web服务:

⑴、首先建立一个Web services EndPoint,代码如下:

package Hello;
import javax.jws.WebService;
import javax.jws.WebMethod;
import javax.xml.ws.Endpoint;
@WebService
public class Hello
{
    @WebMethod
    public String hello(String name)
    {
        return "Hello, " + name + "\n";
    }
    public static void main(String[] args)
    {
        // create and publish an endpoint   
        Hello hello = new Hello();
        Endpoint endpoint = Endpoint.publish("http://localhost:8080/hello", hello);
    }
}

⑵、使用 apt 编译Hello.java ,会生成 jaws目录;

⑶、使用java Hello.Hello运行 ;

⑷、使用wsimport生成客户端;

⑸、客户端程序,代码如下:

class HelloClient
{
    public static void main(String args[])
    {
        HelloService service = new HelloService();
        Hello helloProxy = service.getHelloPort();
        String hello = helloProxy.hello("你好");
        System.out.println(hello);
    }
}

2.使用axis1.4调用webservice方法。要提前下载axis1.4包和tomcat服务器,并将axis文件夹复制到tomcat服务器的webapp文件夹中。简单操作流程:首先建立一个任意的java类,复制到axis文件夹下,将其扩展名改为jws,然后重新启动tomcat,得到一个wsdl文件,其客户端调用方法如下:

import javax.xml.rpc.Service;
import javax.xml.rpc.ServiceException;
import javax.xml.rpc.ServiceFactory;
import java.net.MalformedURLException;
import java.net.URL;
import java.rmi.RemoteException;
import javax.xml.namespace.QName;
public class TestHelloWorld
{
    public static void main(String[] args) throws MalformedURLException, ServiceException, RemoteException
    {
        // TODO Auto-generated method stub
        String wsdlUrl = "http://localhost:8989/axis/HelloWorld.jws?wsdl";
        String nameSpaceUri = "http://localhost:8989/axis/HelloWorld.jws";
        String serviceName = "HelloWorldService";
        String portName = "HelloWorld";
        ServiceFactory serviceFactory = ServiceFactory.newInstance();
        Service afService = serviceFactory.createService(new URL(wsdlUrl), new QName(nameSpaceUri, serviceName));
        HelloWorldInterface proxy = (HelloWorldInterface) afService.getPort(new QName(nameSpaceUri, portName), HelloWorldInterface.class);
        System.out.println("return value is " + proxy.getName("john"));
    }
}

以上就是有关在java中如何使用jdk web调用webservice接口的操作过程以及用axis1.4操作的方法。想要了解更多java程序代码例子以及常见问题,敬请关注奇Q工具网。

推荐阅读:

在java中如何使用axis2调用webservice接口,具体操作展示

在java中怎么用xfire调用webservice接口,操作实例展示

java继承(extends)实例分享