idea+axis建立webservice服务以及客服端调用

1 idea新建webservice项目,加入依赖包和tomcat

2 新建服务类以及方法,并生成wsdl文件

3 编写客服端,用axis框架调用即可,代码如下:(注意:当客服端调用服务的时候,在总wsdd文件中,service中属性style=“”document“”要去掉。否则报错 axis包可以在我博客下载

package test;
import org.apache.axis.client.Service;
import org.apache.axis.client.Call;
import javax.xml.namespace.QName;
public class TestWebService {
/**
* @param args
*/
public static void main(String[] args) {
Service service = new Service();
   String url = "http://localhost:8080/services/HelloWorld?wsdl";//调用的服务地址
   try {
     Call call = (Call)service.createCall();//创建工具call
     call.setTargetEndpointAddress(new java.net.URL(url));//设置地址
     call.setOperationName(new QName("http://example","sayHelloWorldFrom"));//与服务器端保持一致
            call.addParameter(new QName("from"),org.apache.axis.encoding.XMLType.XSD_STRING, javax.xml.rpc.ParameterMode.IN);//  //“from”是接口服务端方法体中的实体类所声明的变量名称
     call.setUseSOAPAction(true);//是否是soapaction这里需要看webservice是否要求如下格式,如果没有要求可以不添加此设置
     call.setReturnType(org.apache.axis.encoding.XMLType.SOAP_STRING);
     String result = (String)call.invoke(new Object[]{"Tom"});
     System.out.println(result);


   } catch (Exception e) {
     e.printStackTrace();
   }
}


}

 

源码下载https://git.coding.net/helloxiansen/WebServiceProject.git

你可能感兴趣的:(javaweb开发遇到问题总结)