前两天用了点webservice部分,这里记一下,呵呵
1 首先服务器端(我这里是struts+spring环境,客户端在另一个工程)
和普通的类没什么区别,主要是要让它发布成webservice,可以通过?wsdl查看的
1.1需要一个接口和一个实现类,接口主要控制你要暴露的方法
public interface UserInfoInterface {
public String[] getUser(String arg)throws Exception ;
public String sayHello(String arg)throws Exception;
}
public class UserInfoImpl implements UserInfoInterface {
private UserService userService;//注入需要的service,添加相应的get,set方法
public String[] getUser(String arg)throws Exception{
String[] results = new String[3];
if(!StringUtil.isBlank(arg)){
//results[0] = userService.getUser(arg);可以放入string类型的任意数据
results[0] = userService.getUser(arg);
results[1] = userService.getUser(arg);
results[2] = userService.getUser(arg);
}
return results;
}
pubic String sayHello(String arg)throws Exception{
return "hello,"+ arg;//最常见的,呵呵,这里主要用于测试接收的数据
}
}
1.2配置文件
首先xml文件 ,添加
<!-- webservice xfire配置开始 -->
<servlet>
<servlet-name>xfire</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>xfire</servlet-name>
<url-pattern>*.ws</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>XFireServlet</servlet-name>
<servlet-class>org.codehaus.xfire.spring.XFireSpringServlet</servlet-class>
<load-on-startup>0</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>XFireServlet</servlet-name>
<url-pattern>/services/*</url-pattern>
</servlet-mapping>
<!-- webservice xfire配置结束 -->
webservice相关配置文件,只要在web.xml配置当启动时候加载就可以
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
<!-- 引入XFire预配置信息 -->
<import resource="classpath:org/codehaus/xfire/spring/xfire.xml" />
<bean id="getUserInfo"
class="com.crazycat.UserInfoImpl" singleton="true">
<!-- 用户service -->
<property name="userService">
<ref bean="userService" />
</property>
</bean>
<bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
<property name="urlMap">
<map>
<entry key="/GetUserInfo.ws">
<ref bean="getUserInfo" />
</entry>
</map>
</property>
</bean>
<!-- 使用XFire导出器 -->
<bean id="baseWebService" class="org.codehaus.xfire.spring.remoting.XFireExporter" lazy-init="false" abstract="true">
<!-- 引用xfire.xml中定义的工厂 -->
<property name="serviceFactory" ref="xfire.serviceFactory" />
<!-- 引用xfire.xml中的xfire实例 -->
<property name="xfire" ref="xfire" />
</bean>
<bean id="GetDealStatisticInfoService"
class="org.codehaus.xfire.spring.remoting.XFireExporter" parent="baseWebService">
<!-- <property name="xfire" ref="xfire" />-->
<property name="serviceBean" ref="getUserInfo" />
<property name="serviceClass" value="com.crazycat.UserInfoInterface" />
</bean>
</beans>
好了,重启服务器,就可以发布了。访问http://IP:端口号/工程名/services/ 就可以看到了
2 客户端
因为我的客户端在另一个工程,所以是用动态方式获取的,(网上有很多方式的,根据自己需要选择)
public class UserInfoClient {
public List getUserInfo(String arg){
List<String> resultsList = new ArrayList<String>();
Client client = null;
try{
client =new Client("http://IP:端口号/工程名/services/" + "UserInfoInterface?wsdl"));
Object[] results = client.invoke("getUserInfo",new Object[] {arg});
if(results.length > 0) {
DocumentImpl doc = (DocumentImpl)results[0];
Document document = DocumentHelper.parseText(doc.saveXML(null));
List<Node> uids = document.selectNodes("//ns1:string");
for(int j = 0;j< uids.size();j++){
Node node = uids.get(j);
resultsList.add(node.getText());
// System.out.println(node.getText());
}
}
}catch(MalformedURLException e){
e.printStackTrace();
}catch(Exception e){
e.printStackTrace();
}
return resultsList;
}
}
我主要想说的是里面粉色的部分,处理返回的数据,对于返回String类型的,直接去results[0]就可以了,不用解析
分享到:
相关推荐
Java WebService接口开发是将Java应用程序暴露为网络服务的一种方式,允许不同系统间的数据交换和交互。本案例将深入探讨如何使用Java实现Web服务的创建、发布和调用。 一、理解WebService WebService是一种基于...
Java WebService是一种基于标准的、平台无关的通信方式,它允许不同系统间的应用程序进行交互,主要依赖于SOAP(Simple Object Access Protocol)协议和WSDL(Web Services Description Language)。本教程将带你...
Java 调用 Webservice 的几种方法总结中,主要介绍了使用 JDK Web 服务 API、Axis 和 XFire 等方法来调用 Webservice。下面将对每种方法进行详细的介绍。 使用 JDK Web 服务 API 使用 JDK Web 服务 API 可以实现...
Java是一种广泛使用的编程语言,它具有面向对象、跨平台、多线程以及健壮性等特点。Java在企业级应用中尤为流行,尤其是在构建大型的网络应用程序方面。 JSON(JavaScript Object Notation)是一种轻量级的数据交换...
WebService是一种基于Web的、标准化的方式,允许不同系统之间交换数据。它通常基于HTTP协议,使用XML(Extensible Markup Language)进行数据编码,遵循WSDL(Web Services Description Language)定义服务接口,...
Java WebService 是一种基于标准协议(如SOAP,WSDL)的跨平台、跨语言的通信机制,用于构建可互操作的分布式系统。本篇将详细介绍Java WebService的入门实例,包括其工作原理以及如何创建和测试一个简单的...
Delphi是一款强大的Windows应用程序开发工具,而Java WebService则是一种基于标准的,跨平台的远程调用技术。下面将详细阐述这个主题。 一、Java WebService简介 Java WebService是通过SOAP(Simple Object Access ...
Java WebService是一种基于标准的、平台无关的通信方式,它允许不同系统间的应用程序进行交互。在Java中,WebService主要通过SOAP(Simple Object Access Protocol)协议进行数据交换,使用WSDL(Web Services ...
WebService是一种支持网络服务的标准协议,允许不同应用程序之间通过HTTP或HTTPS进行通信,通常使用XML作为数据格式。它基于一系列的开放标准,包括SOAP(Simple Object Access Protocol)用于消息传输,WSDL(Web ...
1. **WSDL文件的作用**:WSDL(Web Services Description Language)是一种基于XML的语言,用于描述网络服务接口。它包含了服务的抽象定义(如操作和消息)、具体的绑定细节(如网络协议和消息格式),以及如何访问...
- 使用 Java 接口来定义 WebService 的公共接口。 - 接口中包含的方法将被暴露为 WebService 方法。 ```java @WebService public interface HelloWorld { @WebMethod String sayHello(String name); } ``...
在Java开发中,WebService是一种常见的用于应用程序间通信的技术。它基于标准的XML(可扩展标记语言)和WSDL(Web服务描述语言)进行数据交换,允许不同平台和语言的应用程序之间共享数据。本教程将通过一个简单的...
在IT领域,尤其是企业级应用开发中,WebService作为一种标准化的、跨平台的服务交互方式,被广泛应用于系统间的数据交换与服务调用。本文将基于给定的“Java开发WebService实例”内容,深入解析如何在Tomcat中间件...
Web服务是一种基于互联网的软件应用,允许不同的系统之间交换数据和功能。常见的Web服务标准包括SOAP(简单对象访问协议)和REST(表述性状态转移)。Java中的Web服务通常使用JAX-WS(Java API for XML Web Services...
在Java世界中,WebService是一种基于XML的开放标准技术,它允许不同系统间的应用程序进行通信,跨越不同的操作系统和编程语言。本实例将详细讲解如何使用Apache Axis1.4工具来生成Java版的WebService服务端和客户端...
Java WebService CXF客户端调用和服务端的实现是企业级应用程序中常见的通信方式,它基于标准的SOAP(Simple Object Access Protocol)协议,提供了一种在分布式环境中交换信息的方法。CXF是一个开源框架,它简化了...
3. **Dynamic Proxy方式**:提供了一种灵活的方式来创建和使用Web服务,无需手动编写服务端代码,只需定义接口。 接下来,我们将分别演示DII和Dynamic Proxy两种方式创建Web服务的例子: **DII例子**: 1. 创建一...
在企业级应用开发中,不同语言之间的互操作性是非常重要的,而Web服务提供了一种标准的方式来实现这一点。让我们深入探讨这个主题。 首先,Java Web服务(WEBSERVICE)是基于SOAP(Simple Object Access Protocol)...
在提供的压缩包文件中,"flash在domino中的使用"可能包含有关如何在Domino环境中使用Flash的详细指南,"java在domino中的使用"可能会讲解如何创建和部署Java Web服务,而"Webservice在domino中的使用"则可能涵盖了...
WebService是一种基于标准的、平台无关的通信方式,允许不同的应用程序之间交换数据。Tomcat是一款轻量级的Java应用服务器,广泛用于部署Java Web应用程序,包括WebService。 在Java中实现WebService,主要依赖于...