java + soap 环境配置
来源:互联网 发布:object数组怎么调用 编辑:程序博客网 时间:2024/06/03 15:32
一、搭建环境
工具:tomcat6.0 + jdk1.6
activation.jar -- jaf-1.1
mail.jar -- javamail-1.4
soap.jar -- soap-bin-2.3.1
xerces.jar -- xerces-J-bin.1.2.3
将soap.jar、mail.jar、xerces.jar、activation.jar、tools.jar(Java的)拷贝到 %CATALINA_HOME%/lib下
将soap.war拷贝到%CATALINA%webapps下, 也可以将soap解压
添加环境变量:%CATALINA_HOME%/lib/XXXX.jar; ( XXXX.jar )指的是上面工具中提到四个.jar包
二、测试环境
2.1启动Firefox
输入: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.
否则检查classpath等。
2.2 命令行
java org.apache.soap.server.ServiceManagerClient http://127.0.0.1:8080/soap/servlet/rpcrouter list
成功则输出:
Deployed Services:
三、测试程序
3.1服务器程序
HelloWorldService.java
------------------------------------------
package cn.com.test.soap.hello;
public class HelloWorldService {
public String getMessage() {
return "Hello World!";
}
}
------------------------------------------
编译后,将目录 cn.com.test.soap.hello拷贝到%CATALINA%/webapps/soap/WEB-INF/classes/目录下
3.2 部署服务
- - - - - - --------- - a.xml(可以随便起文件名) ------------- ----------------
<?xml version="1.0"?>
<isd:service xmlns:isd="http://xml.apache.org/xml-soap/deployment" id="urn:HelloWorldService">
<isd:provider type="java" scope="Request" methods="getMessage">
<isd:java class="cn.com.test.soap.hello.HelloWorldService" static="false"/>
</isd:provider>
</isd:service>
- --------------- ---------------------- ------------------------------- -------
定位到a.xml目录
命令:java org.apache.soap.server.ServiceManagerClient http://127.0.0.1:8080/soap/servlet/rpcrouter a.xml
成功则输出:
Usgae: java org.apache.soap.server.ServiceManagerClient
[ -auth username:password url operation arguments ]
。。。。还有一些就不写了,只要没告诉你有Exception就行了
3.3 Client端程序 见最后
这时候 运行HelloWorldClient.java
成功:Hello World!(当然这是大家写测试例子是经常用的啦!!)
失败:The Following Error Occured:
Fault Code = SOAP-ENV:Server
Fault String =service 'urn:HelloWorldService' unknown
原因之一:(至少在我的机器上是这样的)就是在tomcat5.5下没有把HelloWorldService.class 所在的目录拷贝到%CATALINA%/webapps/soap/WEB-INF/classes/目录下。
其他原因,等待大家补充!!
--- ----------- ------------- HelloWorldClient.java ---------- - -------------- --------
package cn.com.test.soap.hello;
import java.net.URL;
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 HelloWorldClient {
public static void main(String args[]) throws Exception {
String endPoint = "http://localhost:8080/soap/servlet/rpcrouter";
Call call = new Call();//创建一个RPC Call
call.setTargetObjectURI("urn:HelloWorldService");//远程的服务名
call.setMethodName("getMessage");//访问方法
call.setEncodingStyleURI(Constants.NS_URI_SOAP_ENC); //设置编码风格
URL url = new URL(endPoint); //SOAP服务的网址
//开始发送RPC请求,并返回服务器端的应答
Response resp = call.invoke(url, "");
//检查应答报文中是否有错
//有错就打印出错信息,没错就打印到正确的返回值HelloWorld
if (resp.generatedFault()) {
Fault fault = resp.getFault();
System.out.println("The Following Error Occured: ");
System.out.println(" Fault Code = " + fault.getFaultCode());
System.out.println(" Fault String =" + fault.getFaultString());
} else {
Parameter result = resp.getReturnValue();
System.out.println(result.getValue());
}
}
}
---------------------- -------------- --------------- ----------- ------------ ------------
ps: 在tomcat5.5中soap.war解压后拷贝到webapps 下不会自动生成一个DeployedServices.ds的文件,缺少这个文件会出很多问题,原因嘛,还没弄明白。
但是在tomcat6.0中 webapps/soap自己出现了DeployedServices.ds文件,所以我判断在是这个文件导致我在tomcat5.5中配置不成功。
- java + soap 环境配置
- tomcat + soap 的环境配置
- 2015年的JAVA SOAP for RPC 的环境配置和简单实例
- Java SOAP
- java SOAP
- 【JAVA】JAVA环境配置
- editplus配置java环境
- Java开发环境配置
- JAVA开发环境配置
- Java环境配置大全
- Java环境配置
- Java基本环境配置
- Java环境配置
- 配置java环境:
- 配置java,elicpse环境
- java环境配置(新手入门)
- Java环境配置大全
- Java环境配置大全
- linux注册服务
- 编译时的XCOPY
- Java解惑2-28循环者
- C#判断字符串是否为数字字符串(转)
- 成员函数的重载、覆盖与隐藏
- java + soap 环境配置
- 嵌入式和单片机的区别
- 工作回忆总结(第一年)
- 基于DeepZoom技术的Bing Maps客户端实现研究
- 多继承中重写不同基类中的虚函数
- JavaScript——悟透JavaScript
- DM644X启动过程浅析
- SQL Server 2008表设计器中无法保存修改
- ems 快递查询