java 用jws发布一个简单的webservice

来源:互联网 发布:什么是域名和网址ppt 编辑:程序博客网 时间:2024/06/05 04:05

 

第一步:

定义一个简单webservice接口

 

package Interface;


import javax.jws.WebParam;
import javax.jws.WebService;


@WebService
public interface PublicInterface
{
     String StartProgram(@WebParam(name="test")String test);
}

 

 

第二步:

定义编写接口实现类:

package InterfaceImp;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

import javax.jws.WebService;

import Interface.PublicInterface;

//endpointInterface  指的是接口的命名空间

//serviceName  接口名称  PublicInterface

@WebService(endpointInterface="Interface.PublicInterface",serviceName="PublicInterface")
public class InterfaceMethodImp implements PublicInterface{


 public String StartProgram(String name){
  // TODO Auto-generated method stub
  String result = "";
  Process ee;
  try {
   ee = Runtime.getRuntime().exec("cmd /c \"C:\\Program Files\\Internet Explorer\\iexplore.exe\"");
   BufferedReader read = new BufferedReader(new InputStreamReader(ee.getInputStream()));
   String tmp = "";
   while((tmp = read.readLine())!= null)
   {
    System.out.println(tmp);
   }
   ee.waitFor();
   result = "Start "+ name+ " success";
  } catch (Exception e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
   result = "Start "+ name+ " fail,msg:执行异常";
  }
  return result;
 }

}

 

第三步:发布webservice接口

package Publish;

import javax.xml.ws.Endpoint;

import InterfaceImp.InterfaceMethodImp;

public class PublishClass 

{
    public static void main(String[] args)
    {
        System.out.println("web service start");
        InterfaceMethodImp implementor= new InterfaceMethodImp();
        String address="http://127.0.0.1:8080/PublicInterface";//端口可任意指定
        Endpoint.publish(address, implementor);
        System.out.println("web service started");
    }

}
 

 

第四步:浏览器输入发布的地址

http://127.0.0.1:8888/PublicInterface?WSDL