前提:已有一个web项目,名为testAxis ,路径:E:/eclipseWork/testAxis
1、下载axis包
http://www.apache.org/dyn/closer.cgi/ws/axis/1_4
下载 axis-bin-1_4.zip
解压到 E:/axis-1_4
2、配置axis
将 E:/axis-1_4/lib 里面的文件拷到 E:/eclipseWork/testAxis/web/WEB-INF/lib 下
编辑 E:/eclipseWork/testAxis/web/WEB-INF/web.xml
在
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
前加入:
-
<
servlet
>
-
<
servlet-name
>
AxisServlet
</
servlet-name
>
-
<
servlet-class
>
org.apache.axis.transport.http.AxisServlet
</
servlet-class
>
-
</
servlet
>
-
<
servlet-mapping
>
-
<
servlet-name
>
AxisServlet
</
servlet-name
>
-
<
url-pattern
>
/servlet/AxisServlet
</
url-pattern
>
-
</
servlet-mapping
>
-
<
servlet-mapping
>
-
<
servlet-name
>
AxisServlet
</
servlet-name
>
-
<
url-pattern
>
*.jws
</
url-pattern
>
-
</
servlet-mapping
>
-
<
servlet-mapping
>
-
<
servlet-name
>
AxisServlet
</
servlet-name
>
-
<
url-pattern
>
/services/*
</
url-pattern
>
-
</
servlet-mapping
>
-
-
<
mime-mapping
>
-
<
extension
>
wsdl
</
extension
>
-
<
mime-type
>
text/xml
</
mime-type
>
-
</
mime-mapping
>
-
<
mime-mapping
>
-
<
extension
>
xsd
</
extension
>
-
<
mime-type
>
text/xml
</
mime-type
>
-
</
mime-mapping
>
在向你的项目中加入的WebRoot目录中加入*.jws文件,这时访问你的项目名+*.jws 如:http://localhost/webservice/WSTestImpl.jws?wsdl 成功会在页面中出现wsdl文件
还可以如下配置:
编辑tomcat/conf/server.xml
在
<Host name="localhost" debug="0" appBase="webapps"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
后加入:
<Context docBase="E:/eclipseWork/testAxis/web" path="/testAxis" reloadable="true" />
启动tomcat 访问: http://localhost:8080/testAxis/services
可以看到:
And now... Some Services
3、编写webservice服务端
在web项目下新建一个类
-
package
com.neo.test;
-
-
public
class
HelloWorld {
-
public
String sayHello() {
-
return
"hello"
;
-
}
-
}
4、注册服务
在 E:/eclipseWork/testAxis/web/WEB-INF 下新建文本文件 deploy.wsdd
-
<
deployment
xmlns
=
"http://xml.apache.org/axis/wsdd/"
xmlns:java
=
"http://xml.apache.org/axis/wsdd/providers/java"
>
-
<
service
name
=
"SayHello"
provider
=
"java:RPC"
>
-
<
parameter
name
=
"className"
value
=
"com.neo.test.HelloWorld"
/>
-
<
parameter
name
=
"allowedMethods"
value
=
"*"
/>
-
</
service
>
-
</
deployment
>
启动刚刚配置好的项目,并确保访问http://localhost:8080/testAxis/services
页面显示正常
打开cmd
cd E:/eclipseWork/testAxis/web/WEB-INF
E:/eclipseWork/testAxis/web/WEB-INF>java
-Djava.ext.dirs=E:/eclipseWork/testAxis/web/WEB-INF/lib
org.apache.axis.client.AdminClient
-lhttp://localhost:8080/testAxis/servlet/AxisServlet deploy.wsdd
成功的话会显示:
Processing file deploy.wsdd
<Admin>Done processing</Admin>
并在 E:/eclipseWork/testAxis/web/WEB-INF 下面产生 server-config.wsdd 文件
重启tomcat,并访问 http://localhost:8080/testAxis/services
会发现多出来一个service
And now... Some Services
就说明你的配置成功了
5、测试webservice
访问 http://localhost:8082/testAxis/services/SayHello?wsdl
-
<?
xml
version
=
"1.0"
encoding
=
"UTF-8"
?>
-
<
wsdl:definitions
targetNamespace
=
"http://localhost:8082/testAxis/services/SayHello"
xmlns:apachesoap
=
"http://xml.apache.org/xml-soap"
xmlns:impl
=
"http://localhost:8082/testAxis/services/SayHello"
xmlns:intf
=
"http://localhost:8082/testAxis/services/SayHello"
xmlns:soapenc
=
"http://schemas.xmlsoap.org/soap/encoding/"
xmlns:wsdl
=
"http://schemas.xmlsoap.org/wsdl/"
xmlns:wsdlsoap
=
"http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:xsd
=
"http://www.w3.org/2001/XMLSchema"
>
-
<!--WSDL created by Apache Axis version: 1.4
-
Built on Apr 22, 2006 (06:55:48 PDT)-->
-
-
<
wsdl:message
name
=
"sayHelloRequest"
>
-
-
</
wsdl:message
>
-
-
<
wsdl:message
name
=
"sayHelloResponse"
>
-
-
<
wsdl:part
name
=
"sayHelloReturn"
type
=
"xsd:string"
/>
-
-
</
wsdl:message
>
-
-
<
wsdl:portType
name
=
"HelloWorld"
>
-
-
<
wsdl:operation
name
=
"sayHello"
>
-
-
<
wsdl:input
message
=
"impl:sayHelloRequest"
name
=
"sayHelloRequest"
/>
-
-
<
wsdl:output
message
=
"impl:sayHelloResponse"
name
=
"sayHelloResponse"
/>
-
-
</
wsdl:operation
>
-
-
</
wsdl:portType
>
-
-
<
wsdl:binding
name
=
"SayHelloSoapBinding"
type
=
"impl:HelloWorld"
>
-
-
<
wsdlsoap:binding
style
=
"rpc"
mce_style
=
"rpc"
transport
=
"http://schemas.xmlsoap.org/soap/http"
/>
-
-
<
wsdl:operation
name
=
"sayHello"
>
-
-
<
wsdlsoap:operation
soapAction
=
""
/>
-
-
<
wsdl:input
name
=
"sayHelloRequest"
>
-
-
<
wsdlsoap:body
encodingStyle
=
"http://schemas.xmlsoap.org/soap/encoding/"
namespace
=
"http://test.neo.com"
use
=
"encoded"
/>
-
-
</
wsdl:input
>
-
-
<
wsdl:output
name
=
"sayHelloResponse"
>
-
-
<
wsdlsoap:body
encodingStyle
=
"http://schemas.xmlsoap.org/soap/encoding/"
namespace
=
"http://localhost:8082/testAxis/services/SayHello"
use
=
"encoded"
/>
-
-
</
wsdl:output
>
-
-
</
wsdl:operation
>
-
-
</
wsdl:binding
>
-
-
<
wsdl:service
name
=
"HelloWorldService"
>
-
-
<
wsdl:port
binding
=
"impl:SayHelloSoapBinding"
name
=
"SayHello"
>
-
-
<
wsdlsoap:address
location
=
"http://localhost:8082/testAxis/services/SayHello"
/>
-
-
</
wsdl:port
>
-
-
</
wsdl:service
>
-
-
</
wsdl:definitions
>
打开cmd
cd E:/eclipseWork/testAxis
E:/eclipseWork/testAxis>java -Djava.ext.dirs=E:/eclipseWork/testAxis/web/WEB-INF
/lib org.apache.axis.wsdl.WSDL2Java -oE:/eclipseWork/testAxis/src -pcom.neo.clie
nt http://localhost:8082/testAxis/services/SayHello?wsdl
执行后在src下产生 E:/eclipseWork/testAxis/src/com/neo/client 文件夹里面有四个java文件:
HelloWorld.java
HelloWorldService.java
HelloWorldServiceLocator.java
SayHelloSoapBindingStub.java
这是根据服务器端提供的wsdl生成的客户端需要的基础文件
在com.neo.client下新建一个类
-
package
com.neo.client;
-
-
import
java.rmi.RemoteException;
-
import
javax.xml.rpc.ServiceException;
-
-
public
class
HelloWorldClient {
-
public
void
testSayHello()
throws
ServiceException, RemoteException{
-
HelloWorldService service = new
HelloWorldServiceLocator();
-
HelloWorld client = service.getSayHello();
-
System.out.println(client.sayHello());
-
}
-
-
public
static
void
main(String[] args) {
-
HelloWorldClient client = new
HelloWorldClient();
-
try
{
-
client.testSayHello();
-
} catch
(RemoteException e) {
-
e.printStackTrace();
-
} catch
(ServiceException e) {
-
e.printStackTrace();
-
}
-
}
-
}
直接运行,如果打印出 hello 就说明客户端调用成功!
转载:http://blog.csdn.net/nsrainbow/article/details/4131196
相关推荐
而 Axis 是一个流行的Apache项目,用于创建和部署Web服务,它提供了强大的SOAP处理能力。通过整合SpringBoot与Axis,我们可以快速构建高效且易于维护的Web服务。 首先,让我们了解什么是SpringBoot。SpringBoot是...
要运行此项目,你需要将这些jar文件加入到项目的类路径中,然后按照上述步骤进行操作。如果遇到问题,可以根据描述中的提示寻求帮助。理解并掌握Axis1发布Web服务的过程,对于开发Java平台上的Web服务非常有帮助,...
### 使用MyEclipse 8.5与Axis2插件开发WebService服务及调用详解 #### 一、前言 在Web开发中,WebService作为一种重要的分布式系统实现方式,被广泛应用于不同平台之间的通信。本文将详细介绍如何利用MyEclipse ...
- 使用Axis2提供的注解或API定义该POJO为WebService。 - 在客户端使用Java或C#语言调用此WebService。 - **意义**:简化开发流程,降低学习曲线,提高开发效率。 #### 六、其他关键技术点 - **复合类型数据传递*...
1. 新建一个Web项目命名为`Axis2Demo`。 2. 在项目中创建两个包:`com.ws.server`用于存放服务器端代码,`com.ws.client`用于存放客户端代码。 3. 创建一个简单的服务接口类`HelloWorld.java`,实现服务逻辑: ```...
对于基于Axis2框架的WebService来说,可以通过修改项目的`web.xml`文件来实现Basic验证。 ##### 修改`web.xml`文件 1. **定位到`servlet`元素**:找到`web.xml`文件中与你的WebService相关的`servlet`元素。例如,...
1. 安装与配置:首先,你需要下载并安装Axis2的最新版本。解压后,将 Axis2的bin目录添加到系统的PATH环境变量中,以便于在命令行中执行相关工具。 2. 创建服务:使用Axis2的wsdl2java工具,你可以从WSDL(Web ...
- 在Web项目的`WebRoot`目录下创建一个名为`axis2-web`的新目录,用于存放Axis2的相关文件。 - 复制`axis2.war/axis2-web`目录下的所有文件到新创建的`axis2-web`目录中。 3. **配置Servlet**: - 修改`WebRoot/...
- **Spring集成**:将Spring管理的Bean发布为WebService,简化依赖管理和配置。 - **异步调用**:支持异步处理模式,提高服务响应速度和并发处理能力。 - **模块开发**:允许开发者编写自定义模块,扩展Axis2的功能...
如果我们想传递 Date 类型参数给 Axis2 创建的 WebService 方法,那么需要先将 Date 类型转换为 String 类型再传递。例如,我们可以将”2012-12-28 7:21:33”传给 WebService 方法。 10. 使用 invokeRobust 调用...
- 安装完成后,根据实际需求从二进制包中复制必要的文件至项目中。 ##### 2. web.xml配置 - 在`web.xml`文件中,需要配置两个Servlet:`AxisServlet` 和 `AxisAdminServlet`。 - `AxisServlet`负责处理所有与Web...
NULL 博文链接:https://cydia.iteye.com/blog/701773
3、设置环境变量,加入AXIS2_HOME=<Axis2客户端安装目录>,path中追加;%AXIS2_HOME%\bin 4、打开cmd,执行命令 wsdl2java -uri ...
本文将详细介绍 WebService 的四种常见发布方式:CXF、XFire、Axis2 和 Axis1,并探讨如何通过客户端进行调用。 #### 二、CXF 方式 ##### 2.1 搭建环境 CXF 与 Spring 结合使用是当前流行的 WebService 构建方案之...
3. **WebService Server**:可以是Apache Axis2、JBoss、Tomcat等支持WebService的服务器。 #### 三、创建WebService项目 1. **新建项目**: - 在Eclipse中选择“File”->“New”->“Dynamic Web Project”,按照...
### Eclipse 下开发 Axis2 Web 服务的详细指南 #### 一、环境搭建与配置 ...通过以上步骤,你就可以在 Eclipse 中成功地开发和部署 Axis2 Web 服务了。这种方式不仅提高了开发效率,还简化了部署过程。
Axis2是Apache软件基金会开发的一款开源的Web服务框架,它主要用Java语言编写,用于构建高效、可扩展的Web服务。...无论你是创建新的服务还是集成已有的服务,了解和掌握Axis2都将极大地提升你的工作效率和项目质量。
在实际开发中,开发者通常会将这些库文件加入到项目的类路径中,然后使用Axis提供的工具和API来实现Web服务的开发。例如,使用wsdl2java工具可以自动生成Java客户端代码,而 AxisServlet 和 AxisClient 则用于在...
### 学习AXIS2遇到的问题与解决方案 ...这不仅能够提高开发效率,还能够避免因错误而导致的项目延期等问题。对于初学者来说,这是一个非常宝贵的经验,同时也提醒我们在面对类似问题时应该采取怎样的解决策略。