客户端有XFire、axis两种方式来访问Web Service 提供的服务。
前提条件:服务启动,且服务能运行(生成WSDL)。
package com.smt.service.test;
import java.net.MalformedURLException;
import org.codehaus.xfire.XFire;
import org.codehaus.xfire.XFireFactory;
import org.codehaus.xfire.client.XFireProxyFactory;
import org.codehaus.xfire.service.Service;
import org.codehaus.xfire.service.binding.ObjectServiceFactory;
import com.smt.service.IBankingService;
/**********************************************************
*
* 功能描述: </br></br>
*
* 作者: chenab </br></br>
*
* 创建时间: 2011-7-14 下午05:24:47</br></br>
*
* 版本号:V1.0 </br></br>
**********************************************************/
public
class clientXFire {
private
static
final String
urls="http://192.168.7.177:8088/testXFire/services/BankingService";
private
void testService(){
try {
Service serviceModel =
new ObjectServiceFactory().create(IBankingService.
class);
serviceModel =
new ObjectServiceFactory().create(IBankingService.
class);
XFire xFire = XFireFactory.newInstance().getXFire();
XFireProxyFactory factory =
new XFireProxyFactory(xFire);
IBankingService service = (IBankingService)factory.create(serviceModel,
urls);
service.transferFunds("你好");
}
catch (MalformedURLException e) {
e.printstacktrace();
}
}
public
static
void main(String[] args)
throws MalformedURLException {
clientXFire c =
new clientXFire();
c.testService();
}
}
|
package com.smt;
import java.net.MalformedURLException;
import java.net.URL;
import org.codehaus.xfire.client.Client;
import org.w3c.dom.Document;
/**********************************************************
*
* 功能描述: </br></br>
*
* 作者:
chenab </br></br>
*
* 创建时间:
2011-7-16 下午05:14:25</br></br>
*
* 版本号:V1.0 </br></br>
**********************************************************/
public
class XFireClient {
private
static
final String
urls=" http://192.168.0.3:3001/smart_webservice/services/SmtDocService?wsdl
";
public
static
void main(String[] args)
throws MalformedURLException,Exception {
Client client =
new Client(
new URL(
urls));
Object[] xml = client.invoke("findSrcDoc",new Object[]{1L});
Document doc = (Document)xml[0];
System.
out.println(doc.getDocumentElement().getTextContent());
}
}
|
加入Axis所需要的包文件,加入后的整个目录结构如下图所示:
在web.xml中加入基本Servlet 的 AxisServlet, 如下所示:
package com.smt.service.test;
import java.net.MalformedURLException;
import java.rmi.remoteexception;
import javax.xml.rpc.ServiceException;
import org.apache.axis.client.Call;
import org.apache.axis.client.Service;
/**********************************************************
*
* 功能描述: </br></br>
*
* 作者: chenab </br></br>
*
* 创建时间: 2011-7-14 下午05:48:31</br></br>
*
* 版本号:V1.0 </br></br>
**********************************************************/
public
class clientAxis {
private
static
final String
urls="http://192.168.7.177:8088/testXFire/services/BankingService";
public
static
void main(String[] args) {
try {
/*
* Banking是webservice在services.xml注册的名字
*/
Service service =
new Service();
Call call = (Call) service.createCall();
call.setTargetEndpointAddress(
new java.net.URL(
urls));
// call.getMessageContext().setUsername("sophia");
// call.getMessageContext().setPassword("sophia");
/*
*/
call.setoperationName("transferFunds");
/*
*/
String translateText = (String) call.invoke(
new Object[] { "hello" });
System.
out.println(translateText);
}
catch (ServiceException e) {
e.printstacktrace();
}
catch (MalformedURLException e) {
e.printstacktrace();
}
catch (remoteexception e) {
e.printstacktrace();
}
}
}
|
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。