设为首页 收藏本站
查看: 2193|回复: 0

[经验分享] tomcat配置Soap

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2015-8-7 10:40:57 | 显示全部楼层 |阅读模式
  材料:java sdk、Tomcat、mail.jar、soap.jar、activation.jar、xerces.jar、soap.war
  安装java sdk,
  环境变量:
  变量:JAVAHOME=C:\Program Files\Java\jdk1.6.0_22
  path=%JAVAHOME%\bin;%JAVAHOME%\jre\bin;
  classpath=.;%JAVAHOME%\lib\dt.jar;%JAVAHOME%\lib\tools.jar;
  Path使得系统可以在任何路径下识别java命令,编译相关!
  classpath只跟java运行有关,跟编译无关,
  ?java 中的tools.jar和dt.jar分别是干什么的  ?
  rt.jar是JAVA基础类库,dt.jar是关于运行环境的类库,tools.jar是工具类库
  设置在classpath里是为了让你 import *
  rt.jar 默认就在 根classloader的加载路径里面 放在claspath是多此一举
  不光rt.jar jre\lib下面的大部分jar 都在这个路径里
  tools.jar 是系统用来编译一个类的时候用到的 也就是javac的时候用到
  javac XXX.java
  实际上就是运行
  java -Calsspath=%JAVA_HOME%\lib\tools.jar xx.xxx.Main XXX.java
  javac就是对上面命令的封装 所以tools.jar 也不用加到classpath里面
  dt.jar是关于运行环境的类库,主要是swing的包   你要用到swing时最好加上
  安装Tomcat(不赘述)
  将mail.jar、soap.jar、activation.jar、xerces.jar放到tomcat/lib下面,
  tomcat运行时会自动加载tomcat/lib下的所有类库
  将soap.war放到tomcat/webapps下,重启tomcat。
  会看到tomcat已经解压soap.war
  到此搭建好了tomcat下的soap协议服务
  测试:
  输入:http://localhost:8080/soap/servlet/rpcrouter
成功则输出:

         SOAP RPC Router
  Sorry, I don't speak via HTTP GET- you have to use HTTP POST to talk to me.
  简单的soap程序
  SOAPService.java



1 package HelloWorld;
2  public class SOAPService {
3    public String sayHi(String x) {
4      return("Hello my friend, " + x + "! Glad to see you!");
5    }
6  }
  编译SOAPService.java。将目录 HelloWorld/拷贝到tomcat/webapps/soap/WEB-INF/classes/目录下  
  用SOAP Service Manager来部署
  访问http://localhost:8080/soap/admin/点Deploy
  填入

ID: urn:HelloWorld_SOAPService
Scope: Application
Methods: sayHi
Provider Type: java
Java Provider - Provider Class:      HelloWorld.SOAPService
Java Provider - Static? No
  部署成功,点点击 List ,将会看见你的服务urn:HelloWorld_SOAPService已经被部署进来。点击urn:HelloWorld_SOAPService,会出现
  

Deployed Service Information
  


'urn:HelloWorld_SOAPService' Service Deployment Descriptor


PropertyDetails

ID
urn:HelloWorld_SOAPService


Scope
Application


Provider Type
java


Provider Class
HelloWorld.SOAPService


Use Static Class
false


Methods
sayHi


Type Mappings



Default Mapping Registry Class

  则说明部署成功,否则检查(填写是否正确、有没有多填上了空格等),
  soap客服端:
  



1 import java.net.*;
2 import java.util.*;
3 import org.apache.soap.*;
4 import org.apache.soap.rpc.*;
5 public class HelloWorldClient {
6    public static void main(String[] arg) throws Exception {
7     Call c = null;
8      URL url = null;
9      Vector params = null;
10    Response rep = null;
11    String ourName = "Superman";
12      String ourUrn = "urn:HelloWorld_SOAPService";
13     String ourMethod = "sayHi";
14     url = new URL("http://localhost:8080/soap/servlet/rpcrouter");
15     System.out.println("Passing to our deployed "+ourUrn+"our name ("+ourName+"): ");
16      c = new Call();
17      c.setTargetObjectURI(ourUrn);
18      c.setMethodName(ourMethod);
19     c.setEncodingStyleURI(Constants.NS_URI_SOAP_ENC);
20     params = new Vector();
21      params.addElement(new Parameter("ourName", String.class,ourName, null));
22      c.setParams(params);
23      System.out.print("and its answer is: ");
24     rep = c.invoke(url, "");
25      if (rep.generatedFault()) {
26        Fault fault = rep.getFault();
27        System.out.println("\nCall failed!");
28        System.out.println("Code = " + fault.getFaultCode());
29       System.out.println("String = " + fault.getFaultString());
30     } else {
31        Parameter result = rep.getReturnValue();
32       System.out.print(result.getValue());
33       System.out.println();
34      }
35    }
36 }
  注:需要引入mail.jar和soap.jar
  运行客服端将会出现:
  Passing to our deployed urn:HelloWorld_SOAPServiceour name (Superman):
and its answer is: Hello my friend, Superman! Glad to see you!
  则整个soap通信圆满完成
参考:http://www.iyunv.com/mingzi/archive/2009/03/23/1419385.html

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-95109-1-1.html 上篇帖子: Eclipse下启动tomcat报错:/bin/bootstrap.jar which is referenced by the classpath, does 下篇帖子: JDK与Tomcat的环境变量配置
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表