使用AXIS框架
 
idea方式:
创建后 加入axis依赖包到输出目录,idea也会提示你进行这步操作
即可看到对外暴露的web services服务
 
 
编写客户端调用Web Service HelloWorld
需要配置log4j.properties
log4j.rootLogger = debug,stdout,D,E

log4j.appender.stdout = org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target = System.out
log4j.appender.stdout.layout = org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern = [%-5p] %d{yyyy-MM-dd HH:mm:ss,SSS} method:%l%n%m%n log4j.appender.D = org.apache.log4j.DailyRollingFileAppender
log4j.appender.D.File = E://logs/log.log
log4j.appender.D.Append = true
log4j.appender.D.Threshold = DEBUG
log4j.appender.D.layout = org.apache.log4j.PatternLayout
log4j.appender.D.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %m%n log4j.appender.E = org.apache.log4j.DailyRollingFileAppender
log4j.appender.E.File =E://logs/error.log
log4j.appender.E.Append = true
log4j.appender.E.Threshold = ERROR
log4j.appender.E.layout = org.apache.log4j.PatternLayout
log4j.appender.E.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %m%n Client
package example; import org.apache.axis.client.Call;
import org.apache.axis.client.Service; import javax.xml.namespace.QName;
public class Client {
public static void main(String[] args) {
String url = "http://localhost:8080/AxisWebService/services/HelloWorld?wsdl";
String method = "sayHelloWorldFrom"; Service service = new Service();
try {
Call call = (Call) service.createCall();
call.setTargetEndpointAddress(url);
//call.setOperationName(new QName("http://localhost:8080/AxisWebService/services/HelloWorld", method));
call.setOperationName(method);
call.addParameter("param1", org.apache.axis.Constants.XSD_STRING,
javax.xml.rpc.ParameterMode.IN);
call.setReturnType(org.apache.axis.Constants.XSD_STRING); String param1 = "JJ";
// 调用获取返回值
String result = (String) call.invoke(new Object[]{param1});
System.out.println(result);
} catch (Exception e) {
e.printStackTrace();
} }
}
Client.java
package example;

import org.apache.axis.client.Call;
import org.apache.axis.client.Service; import javax.xml.namespace.QName;
public class Client {
public static void main(String[] args) {
String url = "http://localhost:8080/AxisWebService/services/HelloWorld?wsdl";
String method = "sayHelloWorldFrom"; Service service = new Service();
try {
Call call = (Call) service.createCall();
call.setTargetEndpointAddress(url);
//call.setOperationName(new QName("http://localhost:8080/AxisWebService/services/HelloWorld", method));
call.setOperationName(method);
call.addParameter("param1", org.apache.axis.Constants.XSD_STRING,
javax.xml.rpc.ParameterMode.IN);
call.setReturnType(org.apache.axis.Constants.XSD_STRING); String param1 = "JJ";
// 调用获取返回值
String result = (String) call.invoke(new Object[]{param1});
System.out.println(result);
} catch (Exception e) {
e.printStackTrace();
} }
}
 
运行客户端遇到错误: SAXException
找到server-config.wsdd 删掉这部分
 
再次尝试,即可成功获取 服务
 

最新文章

  1. 深入理解IIS的多线程工作机制
  2. [转] - 在mac的终端中使用sublime打开文件
  3. mysql-2 mysql客户端
  4. Linux下Web服务器环境搭建LNMP一键安装包[20130911更新]
  5. 精通Django或Rails框架
  6. Delphi IDHTTP用法详解(六种用法)
  7. CSS初始化-KISSY CSS Reset 1.0
  8. iOS_SN_CoreData数据迁移
  9. SPOJ 220 Relevant Phrases of Annihilation(后缀数组+二分答案)
  10. Delphi 10.1说明
  11. leetcode第一刷_Largest Rectangle in Histogram
  12. 执行 apt-get -f install 提示错误
  13. OpenStack和Hadoop的区别
  14. 用 150 行 Python 代码写的量子计算模拟器
  15. ios的跨站脚本限制
  16. SQL表的自身关联
  17. JavaScript中的函数和C#中的匿名函数(委托、lambda表达式)
  18. [No0000A5]批处理常用命令大全&&21个DOS常用命令
  19. postgresql----COPY之表与文件之间的拷贝
  20. char与CString相互转换

热门文章

  1. FL Studio——电音编曲人的奠基石
  2. mq消息消费,broker选址
  3. python—数据类型和变量
  4. MySQL——事务ACID&隔离级别
  5. moviepy音视频剪辑:TextClip不支持中文字符以及OSError: magick.exe: unable to read font 仿宋_GB2312.ttf的解决办法
  6. PyQt学习随笔:通过自定义类重写QApplication的notify方法捕获应用的所有消息
  7. PyQt(Python+Qt)学习随笔:formLayout的layoutLabelAlignment 属性
  8. buu学习记录(下)(做题是不可能做题的)
  9. hihocoder 1489(微软2017, 数学,模拟)
  10. Python(三) PIL, Image生成验证图片