前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Apache SOAP的Web Services在Tomcat上的初体验:安装和测试

Apache SOAP的Web Services在Tomcat上的初体验:安装和测试

作者头像
阿敏总司令
发布2019-02-28 11:51:55
1.2K0
发布2019-02-28 11:51:55
举报
文章被收录于专栏:简单就是美!

阅读更多

原来发贴在CJSDN,后转载到Matrix,还是自己收集到Blog里来,由于SOAP停止开,接下来准备写个AXIS的开发。

http://www.cjsdn.net/post/view?bid=5&id=133408&sty=2

http://www.matrix.org.cn/thread.shtml?topicId=16780&forumId=13

Apache SOAP的Web Services在Tomcat上的初体验:安装和测试 下载: Apache SOAP  http://xml.apache.org/soap/index.html Tomcat    http://jakarta.apache.org/ 1、解压Apache SOAP到%ApacheSOAP%,如:F:\OpenSource\SOAP 2、安装Tomcat到%Tomcat%,如:F:\Program Files\Apache Group\Tomcat 3、复制%ApacheSOAP%\webapps\soap.war文件到%Tomcat%\webapps目录下 4、启动Tomcat,此时Tomcat自动将soap.war解压了 5、在%Tomcat%\webapps\soap\WEB-INF\classes建立测试文件HelloSOAPClient.java、HelloSOAP.java,源码附后 6、编译,进入%Tomcat%\webapps\soap\WEB-INF\classes目录   javac -classpath .;%classpath%;F:\OpenSource\SOAP\lib\soap.jar *.java 7、SOAP服务的发布   使用IE浏览器浏览http://localhost:8080/soap/admin/index.html,进入Deploy,填写如下信息:   ID: urn:hello.hellosoap   Scope: Request   Methods getWelcomeValue   Provider Type: Java   Java Provider Provider Class: HelloSOAP   Java Provider Static: NO   确认发布,可以点List查看已发布服务 Service Listing Here are the deployed services (select one to see details) urn:hello.hellosoap 8、运行,java -classpath .;%classpath%;F:\OpenSource\SOAP\lib\soap.jar HelloSOAPClient   可以看到返回值信息如下: SOAP调用测试开始。。。 Name:俞黎敏 Result:欢迎光临SOAP:俞黎敏 SOAP调用测试结束。。。 则证明配置和测试成功,以后就可以发布自己的SOAP服务了! 9、删除服务Un-deploy之即可 Un-Deploy a Service Select the service to be undeployed: urn:hello.hellosoap public class HelloSOAP { public String getWelcomeValue(String name) { String strResult = "欢迎光临SOAP:" + name; return strResult; } } import java.net.URL; import java.util.Vector; import org.apache.soap.Constants; import org.apache.soap.Fault; import org.apache.soap.rpc.Call; import org.apache.soap.rpc.Parameter; import org.apache.soap.rpc.Response; public class HelloSOAPClient { public static void main(String[] args) throws Exception { System.out.println("SOAP调用测试开始。。。"); String name = "俞黎敏"; HelloSOAPClient helloSOAPClient = new HelloSOAPClient(); //调用远程的SOAP服务 String resultValue = helloSOAPClient.doSOAPRequest("hello.hellosoap","getWelcomeValue","name",name); System.out.println("Name:" + name); System.out.println("Result:" + resultValue); System.out.println("SOAP调用测试结束。。。"); } public String doSOAPRequest(String _strURI,String _strMethodName,String _strName,String _strValue) throws Exception { //创建一个远程调用 Call call = new Call(); //设置远程对象的URI call.setTargetObjectURI("urn:" + _strURI); //设置调用的方法名 call.setMethodName(_strMethodName); //设置编码风格 call.setEncodingStyleURI(Constants.NS_URI_SOAP_ENC); //设置方法调用的参数 Vector params = new Vector(); params.addElement(new Parameter(_strName,String.class,_strValue,null)); call.setParams(params); //发送RPC请求,请查看webapps\soap\web.xm,就知道rpcrouter是映射到org.apache.soap.server.http.RPCRouterServlet这个类 Response resp = call.invoke(new URL("http://localhost:8080/soap/servlet/rpcrouter"),""); if(resp.generatedFault()) { //远程调用出错处理 Fault fault = resp.getFault(); System.out.println("调用失败!"); System.out.println("错误代号:" + fault.getFaultCode()); System.out.println("错误信息:" + fault.getFaultString()); return "调用失败!"; } else { //调用成功,获取返回值 Parameter result = resp.getReturnValue(); return result.getValue().toString(); } } }

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2005-08-01 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档