一、第一个实例
(一).服务端
1.服务类(HelloService),加入需要的几个包
或者直接设置环境变量
b.运行:deploywebservice.bat
将会生成一个文件,我就可以通过 http://localhost:8080/EGSS_User/services/HelloServices.wsdl请求查看了
(二).客户端
OK了
http://rogershi.blogbus.com/logs/205853.html
(一).服务端
1.服务类(HelloService),加入需要的几个包
package cn.gov.luzhou.SiteServer.user.business.webService;
public class HelloService {
public String sayHello() {
return "Hello";
}
public String sayHelloToPerson(String name) {
if (name == null || name.equals("")) {
name = "nobody";
}
return "Hello " + name;
}
}
2.WEB-INF新建一个deploy.wsdd
public class HelloService {
public String sayHello() {
return "Hello";
}
public String sayHelloToPerson(String name) {
if (name == null || name.equals("")) {
name = "nobody";
}
return "Hello " + name;
}
}
<?
xml version="1.0" encoding="UTF-8"
?>
< deployment xmlns ="http://xml.apache.org/axis/wsdd/" xmlns:java ="http://xml.apache.org/axis/wsdd/providers/java" >
< service name ="HelloServices" provider ="java:RPC" >
< parameter name ="className" value ="cn.gov.luzhou.SiteServer.user.business.webService.HelloService" />
< parameter name ="allowedMethods" value ="*" />
</ service >
</ deployment >
3.Web Service有3种部署方式(Dynamic Invocation Interface ( DII),Dynamic Proxy方式 ,Stubs方式)在这我们使用Stubs方式
< deployment xmlns ="http://xml.apache.org/axis/wsdd/" xmlns:java ="http://xml.apache.org/axis/wsdd/providers/java" >
< service name ="HelloServices" provider ="java:RPC" >
< parameter name ="className" value ="cn.gov.luzhou.SiteServer.user.business.webService.HelloService" />
< parameter name ="allowedMethods" value ="*" />
</ service >
</ deployment >
a.提供一个小工具:deploywebservice.bat为了生成server-config.wsdd
set Axis_Lib=D:\jar
set Java_Cmd=java -Djava.ext.dirs=%Axis_Lib%
%Java_Cmd% org.apache.axis.client.AdminClient -lhttp://localhost:8080/EGSS_User/services/AdminService deploy.wsdd
--->说明:d:\jar就是下载下来的axis包的jar路径,解析的时候要用户,将其添加到环境变量;deploy.wsdd就是部署说明文件
set Java_Cmd=java -Djava.ext.dirs=%Axis_Lib%
%Java_Cmd% org.apache.axis.client.AdminClient -lhttp://localhost:8080/EGSS_User/services/AdminService deploy.wsdd
或者直接设置环境变量
//
环境变量设置
A. Client(Windows 2000 / NT / XP)
set AXIS_HOME = c:\axis
set AXIS_LIB = % AXIS_HOME % \lib
set AXISCLASSPATH = % AXIS_LIB % \axis.jar;
% AXIS_LIB % \commons - discovery.jar;
% AXIS_LIB % \commons - logging.jar;
% AXIS_LIB % \jaxrpc.jar; % AXIS_LIB % \saaj.jar;
% AXIS_LIB % \log4j - 1.2 . 8 .jar;
% AXIS_LIB % \xml - apis.jar;
% AXIS_LIB % \xercesImpl.jar
B. Server(Unix + Tomcat4. 1 .X)
set AXIS_HOME =/ usr / axis
set AXIS_LIB = $AXIS_HOME / lib
set AXISCLASSPATH = $AXIS_LIB / axis.jar:$AXIS_LIB / commons - discovery.jar:
$AXIS_LIB / commons - logging.jar:
$AXIS_LIB / jaxrpc.jar:$AXIS_LIB / saaj.jar:
$AXIS_LIB / log4j - 1.2 . 8 .jar:$AXIS_LIB / xml - apis.jar:
$AXIS_LIB / xercesImpl.jar
export AXIS_HOME;
export AXIS_LIB;
export AXISCLASSPATH
// ************ =============================
// deploy service to WEB-INF/server-config.wsdd
java - cp % AXISCLASSPATH % org.apache.axis.client.AdminClient
- lhttp: // localhost:8080/axistest/services/AdminService
src / com / augmentum / roger / axis / svr / deploy.wsdd
A. Client(Windows 2000 / NT / XP)
set AXIS_HOME = c:\axis
set AXIS_LIB = % AXIS_HOME % \lib
set AXISCLASSPATH = % AXIS_LIB % \axis.jar;
% AXIS_LIB % \commons - discovery.jar;
% AXIS_LIB % \commons - logging.jar;
% AXIS_LIB % \jaxrpc.jar; % AXIS_LIB % \saaj.jar;
% AXIS_LIB % \log4j - 1.2 . 8 .jar;
% AXIS_LIB % \xml - apis.jar;
% AXIS_LIB % \xercesImpl.jar
B. Server(Unix + Tomcat4. 1 .X)
set AXIS_HOME =/ usr / axis
set AXIS_LIB = $AXIS_HOME / lib
set AXISCLASSPATH = $AXIS_LIB / axis.jar:$AXIS_LIB / commons - discovery.jar:
$AXIS_LIB / commons - logging.jar:
$AXIS_LIB / jaxrpc.jar:$AXIS_LIB / saaj.jar:
$AXIS_LIB / log4j - 1.2 . 8 .jar:$AXIS_LIB / xml - apis.jar:
$AXIS_LIB / xercesImpl.jar
export AXIS_HOME;
export AXIS_LIB;
export AXISCLASSPATH
// ************ =============================
// deploy service to WEB-INF/server-config.wsdd
java - cp % AXISCLASSPATH % org.apache.axis.client.AdminClient
- lhttp: // localhost:8080/axistest/services/AdminService
src / com / augmentum / roger / axis / svr / deploy.wsdd
b.运行:deploywebservice.bat
将会生成一个文件,我就可以通过 http://localhost:8080/EGSS_User/services/HelloServices.wsdl请求查看了
(二).客户端
package
two;
import java.io.IOException;
import java.net.MalformedURLException;
import javax.xml.namespace.QName;
import javax.xml.rpc.ServiceException;
import org.apache.axis.client.Call;
import org.apache.axis.client.Service;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
/** */ /**
*
* 测试调用WebService
*/
public class TestHelloService {
private static final Log log = LogFactory.getLog(TestHelloService.class);
private static final String HELLO_SERVICE_ENDPOINT = "http://localhost:8080/EGSS_User/services/HelloServices?wsdl";
public static void main(String[] args) {
TestHelloService tester = new TestHelloService();
tester.callSayHelloToPerson();
}
public void callSayHello() {
try {
Service service = new Service();
Call call = (Call) service.createCall();
call.setTargetEndpointAddress(new java.net.URL(HELLO_SERVICE_ENDPOINT));
call.setOperationName(new QName("1.91","sayHello"));
call.setReturnType(org.apache.axis.Constants.XSD_STRING);
try {
String ret = (String) call.invoke(new Object[] {});
System.out.println("The return value is:" + ret);
return;
} catch (IOException e) {
e.printStackTrace();
}
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (ServiceException e) {
e.printStackTrace();
}
log.error("call sayHello service error!");
}
public void callSayHelloToPerson() {
try {
Service service = new Service();
Call call = (Call) service.createCall();
call.setTargetEndpointAddress(new java.net.URL(HELLO_SERVICE_ENDPOINT));
call.setOperationName(new QName("http://webservice.sinosoft.com/","sayHelloToPerson"));
call.addParameter("name", org.apache.axis.Constants.XSD_STRING,javax.xml.rpc.ParameterMode.IN);
call.setReturnType(org.apache.axis.Constants.XSD_STRING);
try {
String ret = (String) call.invoke(new Object[] { "向才鹏" });
System.out.println("The return value is:" + ret);
return;
} catch (IOException e) {
e.printStackTrace();
}
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (ServiceException e) {
e.printStackTrace();
}
log.error("call sayHello service error!");
}
}
import java.io.IOException;
import java.net.MalformedURLException;
import javax.xml.namespace.QName;
import javax.xml.rpc.ServiceException;
import org.apache.axis.client.Call;
import org.apache.axis.client.Service;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
/** */ /**
*
* 测试调用WebService
*/
public class TestHelloService {
private static final Log log = LogFactory.getLog(TestHelloService.class);
private static final String HELLO_SERVICE_ENDPOINT = "http://localhost:8080/EGSS_User/services/HelloServices?wsdl";
public static void main(String[] args) {
TestHelloService tester = new TestHelloService();
tester.callSayHelloToPerson();
}
public void callSayHello() {
try {
Service service = new Service();
Call call = (Call) service.createCall();
call.setTargetEndpointAddress(new java.net.URL(HELLO_SERVICE_ENDPOINT));
call.setOperationName(new QName("1.91","sayHello"));
call.setReturnType(org.apache.axis.Constants.XSD_STRING);
try {
String ret = (String) call.invoke(new Object[] {});
System.out.println("The return value is:" + ret);
return;
} catch (IOException e) {
e.printStackTrace();
}
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (ServiceException e) {
e.printStackTrace();
}
log.error("call sayHello service error!");
}
public void callSayHelloToPerson() {
try {
Service service = new Service();
Call call = (Call) service.createCall();
call.setTargetEndpointAddress(new java.net.URL(HELLO_SERVICE_ENDPOINT));
call.setOperationName(new QName("http://webservice.sinosoft.com/","sayHelloToPerson"));
call.addParameter("name", org.apache.axis.Constants.XSD_STRING,javax.xml.rpc.ParameterMode.IN);
call.setReturnType(org.apache.axis.Constants.XSD_STRING);
try {
String ret = (String) call.invoke(new Object[] { "向才鹏" });
System.out.println("The return value is:" + ret);
return;
} catch (IOException e) {
e.printStackTrace();
}
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (ServiceException e) {
e.printStackTrace();
}
log.error("call sayHello service error!");
}
}
OK了
http://rogershi.blogbus.com/logs/205853.html
名称: ♪4C.ESL | .↗Evon
口号: 遇到新问题♪先要寻找一个方案乄而不是创造一个方案こ
mail: 联系我