前提:已有一个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
相关推荐
借鉴网上的资源,弄了一个SpringBoot开发WebService之Axis示例。
NULL 博文链接:https://cydia.iteye.com/blog/701773
3、设置环境变量,加入AXIS2_HOME=<Axis2客户端安装目录>,path中追加;%AXIS2_HOME%\bin 4、打开cmd,执行命令 wsdl2java -uri ...
搭建一个web工程,里面加入webservice中的Axis,用java编程实现在服务端提供一个求两数之和的方法。然后在客户端传递两个数字的参数到服务端 计算出结果返回到客户端。
webservice 开发备的开发包,下载解压后把axis-1_4\webapps\axis\WEB-INF\lib下的文件拷贝到%tomcat_home%\comm\lib目录下,axis-1_4\lib下的所有包加入到eclipse
这个是使用java语言,来制作的webservice,有详细的使用方法和齐全的库文件,这个库文件用来替换tomcat7.0的库文件,因为里面加入了很多axis2的库文件,所以可以少走很多的弯路,直接替换就可以了
由于上传不能超过20M,AxisTest里面的包需要朋友自己去下载,网上找axis2-1.5.1-bin.zip这个文件,下载然后解压,拷贝lib下面的所有包,加入到项目的lib目录下就OK,然后发布到tomcat上,然后进行java 客户端的测试...
用于生成调用AXIS2发布的WEBSERVICE服务,自动生成STUB类。非常实用,生成STUB类后,需要在工程中加入AIXS2的相关JAR包才能调用服务。
3.2 加入 axis 的 jar包到 CLASSPATH...................................................................................4 3.2.1 WebLogic8.x环境..............................................................
- 注册此 jar 包: 編輯 %ECLIPSE_HOME%\plugins\Axis2_Codegen_Wizard_1.3.0\plugin.xml , 在 <runtime> 內加入下面的字串 <library name="lib/backport-util-concurrent-3.1.jar"> *"/> </library>