在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接口,具体操作展示