一。程序结构
二。所需要的包:
三。编辑web.xml
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE web-app
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
<context-param>
<param-name>contextConfigLocation</param-name>
<!--tomcat启动时要读的文件-->
<param-value>WEB-INF/beans.xml</param-value>
</context-param>
<listener>
<listener-class>
org.springframework.web.context.ContextLoaderListener
</listener-class>
</listener>
<servlet>
<servlet-name>CXFServlet</servlet-name>
<display-name>CXF Servlet</display-name>
<servlet-class>
org.apache.cxf.transport.servlet.CXFServlet
</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>CXFServlet</servlet-name>
<!--拦截地址--->
<url-pattern>/service/*</url-pattern>
</servlet-mapping>
</web-app>
四。beans.xml
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:jaxws="http://cxf.apache.org/jaxws"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd">
<import resource="classpath:META-INF/cxf/cxf.xml" />
<import resource="classpath:META-INF/cxf/cxf-extension-soap.xml" />
<import resource="classpath:META-INF/cxf/cxf-servlet.xml" />
<!-- 定义一个bean -->
<bean id="hello" class="demo.spring.impl.HelloWorldImpl" />
<!-- 发布webservice implementor="#hello" 这个就是指的第一行定义的那个-->
<jaxws:endpoint id="helloWorld" implementor="#hello" address="/HelloWorld" />
</beans>
五。HelloWorldImpl.java/HelloWorld.java/MyObject.java
package demo.spring;
import javax.jws.WebParam;
import javax.jws.WebService;
import entity.MyObject;
@WebService
public interface HelloWorld
{
String stringInt(
@WebParam(name="text",targetNamespace="http://spring.demo/") String text,
@WebParam(name="num",targetNamespace="http://spring.demo/") String num
);
MyObject[] aryMyObjects(
@WebParam(name="myObjects",targetNamespace="http://spring.demo/") MyObject[] myObjects
);
}
package demo.spring.impl;
import javax.jws.WebService;
import demo.spring.HelloWorld;
import entity.MyObject;
@WebService
public class HelloWorldImpl implements HelloWorld
{
public String stringInt(String text, String num)
{
System.out.print("stringInt called");
return text+" too, "+num;
}
public MyObject[] aryMyObjects(MyObject[] myObjects)
{
MyObject[] ary=new MyObject[myObjects.length];
for(int i=0;i<ary.length;i++)
{
ary[i]=new MyObject();
ary[i].setId(myObjects[i].getId()+i);
ary[i].setName(myObjects[i].getName()+" "+i);
}
return ary;
}
}
package entity;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlType;
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "MyObject", propOrder = {
"id",
"name"
})
public class MyObject
{
private int id;
private String name;
public int getId()
{
return id;
}
public void setId(int id)
{
this.id = id;
}
public String getName()
{
return name;
}
public void setName(String name)
{
this.name = name;
}
}
。。。。。。~~OK~~服务端搞定,用tomcat启动webserviceTest。
在IE里面输入http://localhost:8080/service/HelloWorld?wsdl
可以看到
就说明服务端对了。
现在可以用客户端来测试:
import javax.xml.namespace.QName;
import javax.xml.rpc.ParameterMode;
import org.apache.axis.client.Call;
import org.apache.axis.client.Service;
import org.apache.axis.encoding.XMLType;
public class ClientTest
{
public static void main(String[] args)
{
testClient();
}
public static void testClient()
{
try
{
Service service = new Service();
Call call = (Call) service.createCall();
call.setTargetEndpointAddress("http://localhost:8080/service/HelloWorld?wsdl");
//stringInt:服务端的方法名
call.setOperationName(new QName("http://spring.demo/","stringInt"));
//传值参数的定义
call.addParameter(new QName("http://spring.demo/","text"), XMLType.XSD_STRING, ParameterMode.IN);
call.addParameter(new QName("http://spring.demo/","num"), XMLType.XSD_STRING, ParameterMode.IN);
call.setUseSOAPAction(true);
//返回参数的类型
call.setReturnType(XMLType.XSD_STRING);
System.out.println(call.invoke(new Object[] {"i like you","forever"}));
}
catch (Exception e)
{
e.printStackTrace();
}
}
}
- 大小: 137.8 KB
- 大小: 174.9 KB
- 大小: 24.6 KB
分享到:
相关推荐
【标题】中的“基于axis2实现的webservice简单实现(客户端+服务端)”表明了本文将探讨如何使用Apache Axis2框架来创建和消费Web服务。Apache Axis2是Apache软件基金会开发的一个Web服务引擎,它提供了高效且灵活的...
2. 使用Axis发布服务:有了接口和实现后,使用Axis的`wsdl2java`工具生成服务端代码。这个工具会根据你的接口生成相应的ServerStub和服务部署文件。然后,将服务部署到Axis服务器上,通常是在Tomcat或Jetty等Servlet...
Axis为开发者提供了便捷的工具来创建和使用Web服务,无论是服务端的搭建还是客户端的调用,都能通过简单的命令和代码实现。通过理解WSDL文件,你可以更好地理解Web服务的结构和交互方式。在实际项目中,灵活运用Axis...
在服务端,开发者通常会创建一个服务类,该类实现了特定的业务逻辑,并通过Axis2的注解或配置文件暴露为Web服务。而在客户端,代码可能包括了调用这些服务的方法,使用SOAP(简单对象访问协议)或其他HTTP方法与...
本实例将详细讲解如何使用Apache Axis1.4工具来生成Java版的WebService服务端和客户端。 首先,让我们理解WebService的基本概念。WebService是一种基于HTTP协议的网络服务,它通过SOAP(Simple Object Access ...
在这个"AXIS1.4 WebService服务端和客户端例子"中,我们将深入探讨如何使用AXIS1.4搭建服务端和客户端,以及如何进行远程调用。 首先,让我们从服务端开始。服务端是提供Web服务的系统,它可以接收客户端的请求并...
客户端用springboot实现,服务端用webService+axis+mybatis实现 java期末大作业课程设计基于springboot的医院挂号预约系统源码+数据库。 软件架构说明 服务端:WebService+axis+mybatis 服务端开发环境:jdk8,...
总结,通过 Axis1.4 搭建Java Web服务服务端,开发者可以轻松地将业务逻辑封装成Web服务,实现跨平台的交互。理解并熟练掌握这一过程,对于Java开发者来说是非常重要的技能。在实际项目中,可以根据具体需求进行调整...
总结,本教程详细介绍了如何利用Spring Boot和Apache CXF搭建Web Service服务端,以及使用JAX-WS的`javax.xml.ws.Service`和Apache CXF的`JaxWsProxyFactoryBean`两种方式实现Java客户端调用。这些技能对于开发者来...
本实例将详细介绍如何使用 Axis 实现 WebService 的服务端和客户端。 ### 1. WebService 基础 WebService 是基于开放标准(如 WSDL、SOAP 和 UDDI)的分布式计算模型,使得不同系统之间的数据交换变得简单。WSDL...
在这个项目中,我们关注的是WebService客户端和服务端的实现,特别是使用了Axis2框架。 Axis2是Apache软件基金会开发的一个开放源码的Web服务平台,用于构建和部署Web服务。它提供了高级的消息处理机制和多种协议...
- 服务端的Java接口类和实现类:定义了Web服务的操作和其实现。 - wsdd文件:服务端和服务端的配置文件,描述服务的元数据。 - 客户端的wsdd文件:客户端的配置文件,描述如何连接到服务。 - 构建脚本(如build....
2. **Web服务服务器端实现**: Axis支持动态Web服务发布,可以从Java类或接口直接生成服务端代码,简化了服务端开发过程。 3. **SOAP处理**: Axis处理SOAP(简单对象访问协议)消息,这是Web服务之间通信的标准...
AXIS支持WSDL第一类公民,意味着可以直接从WSDL文件生成客户端和服务端代码。 ### 3. 建立开发环境 **3.1 基本环境** 首先,你需要安装Java Development Kit (JDK)和Apache Tomcat服务器,这两个是开发AXIS ...
### Axis2实现WebService知识...通过以上步骤,可以实现一个完整的基于Axis2的WebService应用,包括服务端的发布和客户端的调用。这为开发者提供了一个清晰的指南,帮助他们更好地理解和使用Axis2进行WebService开发。
不过,通过提供的博文链接(已无法直接访问),我们可以推测这篇博客可能详细介绍了如何使用Axis来开发和部署JAX-RPC WebService,包括设置环境、编写服务接口和实现、生成服务客户端代码等步骤。 **标签解析:** ...
3. **自动代码生成**:AXIS可以从WSDL(Web服务描述语言)文件自动生成客户端和服务端的Java代码,大大简化了开发过程。 4. **丰富的支持库**:AXIS提供了对多种协议和标准的支持,如SOAP、HTTP、HTTPS、MTOM...
访问地址: http://127.0.0.1:8080/axis/services
### WebService-Axis-Tomcat 发布教程详细解析 #### 一、准备工作 在开始发布 WebService 之前,首先需要完成一系列的准备工作。 ##### 1. 安装 Axis - **下载 Axis 包**:访问 Apache Axis 的官方网站 ...
AXIS提供了一种机制来捕获和处理服务端或客户端可能出现的异常,并将这些异常以SOAP Fault的形式返回给调用者。 8. **完整项目**:这个压缩包中的完整项目可能是从创建Web服务到测试和调试的整个流程,包括服务端...