Java中使用webservice
来源:互联网 发布:cf刷等级软件下载 编辑:程序博客网 时间:2024/05/22 08:17
一 下载webservice使用的jar包
可以去官(http://ws.Apache.org/axis/)网下,或者到csnd我上传的资源(http://download.csdn.net/detail/luwei19881121/6834603)里面下载。
二 在myeclipse里面建立一个web工程
我建的工程名为axis。然后将一中的jar包放到工程的lib目录下。
三 在工程的WEB-INF目录下建立server-config.wsdd文件,需要配置的地方已经用红色标出,文件中的代码如下:
<?xml version="1.0" encoding="UTF-8"?> <deployment xmlns="http://xml.apache.org/axis/wsdd/" xmlns:java="http://xml.apache.org/axis/wsdd/providers/java"> <globalConfiguration> <parameter name="sendMultiRefs" value="true"/> <parameter name="disablePrettyXML" value="true"/> <parameter name="dotNetSoapEncFix" value="true"/> <parameter name="enableNamespacePrefixOptimization" value="false"/> <parameter name="sendXMLDeclaration" value="true"/> <parameter name="sendXsiTypes" value="true"/> <parameter name="attachments.implementation" value="org.apache.axis.attachments.AttachmentsImpl"/> </globalConfiguration> <handler type="java:org.apache.axis.handlers.http.URLMapper" name="URLMapper"/> <service name="lu.jws" provider="java:RPC"> //此处的‘lu.jws’就是service的名字,可以随便取 <parameter name="className" value="com.server.MyServer"/> //此处的‘com.server.MyServer’就是你的服务端的类,见下面的步骤 <parameter name="scope" value="request"/> <parameter name="allowedMethods" value="*"/> //此处的‘*’代表允许调用服务端类‘com.server.MyServer’的所有方法 <messageReceiver class="org.apache.axis2.receivers.RawXMLINOutMessageReceiver"/> </service> <transport name="http"> <requestFlow> <handler type="URLMapper"/> </requestFlow> </transport> </deployment>
四 编写服务端类,具体代码如下:
package com.server;public class MyServer {public String sayHello(String word){//这里可以打印出客户端传过来的信息--word。 //*********** 这里可以写你服务端的各种操作处理return "server say hello!";//此为服务端返回的信息}}
五 编写客户端类,具体代码如下:
import org.apache.axis.client.Call;import org.apache.axis.client.Service;public class MyClient { public static void main(String[] args) throws Exception { // 指出service所在URL,注意后面的service名称要和server-config.wsdd中的一致‘lu.jws’ String endpoint = "http://localhost:8080/axis/services/lu.jws"; // 创建一个服务(service)调用(call) Service service = new Service(); Call call = (Call) service.createCall();// 通过service创建call对象 // 设置service所在URL call.setTargetEndpointAddress(new java.net.URL(endpoint)); // 方法名(opname)要与MyServer.java你要调用的方法名保持一致,这里调用的是sayHello call.setOperationName("sayHello"); String ret = (String) call.invoke(new Object[] { "client say hello!" }); System.out.println(ret);//输出的信息即为sayHello方法返回的信息 } }
六 配置WEB-INF下的web.xml文件,加入下面的代码:
<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>/services/*</url-pattern> </servlet-mapping>
七 将你的应用部署到服务器(比如tomcat)上,然后运行服务器,再运行你客户端中的main方法,就出打印出服务端返回的信息了,具体工程的目录结构和输出消息见下图:
八 客户端和服务端传输大量数据时,可使用拼接xml格式文件的方式进行。
1 0
- Java中使用webservice
- java中webservice的使用实例
- JAVA中使用axis调用.net WebService
- JAVA中使用XFire调用WebService接口
- JAVA中使用XFire调用WebService接口
- WebService-Java中WebService实例
- Spring中使用WebService
- PHP中使用WebService
- javaEE中使用webservice
- webservice中使用socket
- Android中使用WebService
- Java中调用WebService
- Java中WebService实例
- Java中WebService实例
- Java中WebService实例
- Java中WebService实例
- Java中WebService实例
- Java中WebService实例
- java的反射
- MVC架构
- IOS6屏幕旋转详解(自动旋转、手动旋转、兼容IOS6之前系统)
- Tcl/TK -- DateTime Format
- 数字三角形
- Java中使用webservice
- netbios 和smb 图文详解
- Flex读取xml文件
- 关于MySQL的查询缓存
- Windows 日志记录类(c++)
- 编译问题收集
- tolearn
- ANT-build.xml文件详解
- JSP开发工具