服务端配置和文件结构:
1.配置参数有两个文件进行配置web.xml和自定义的xml文件。
2.web.xml配置如下:
加载相应的服务功能驱动。
3.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="Login.jws" provider="java:RPC">
<parameter name="className" value="server.SayHello"/>
<parameter name="scope" value="request"/>
<parameter name="allowedMethods" value="*"/>
<messageReceiver class="org.apache.axis2.receivers.RawXMLINOutMessageReceiver"/>
</service>
<transport name="http">
<requestFlow>
<handler type="URLMapper"/>
</requestFlow>
</transport>
</deployment>
4.实际的方法处理实现类
package server;
public class SayHello {
public String getName(String name) {
return "hello====>" + name;
}
}
需要的对应jar包集;
http://download.csdn.net/download/hanjiancanxue_liu/6520159
*****************************************
客户端编程需要的实现方式:
1.这里并不需要过多的配置也就是加入相应的jar包,并使用http协议实现相应的服务连接和调用传值。
package client;
import org.apache.axis.client.Call;
import org.apache.axis.client.Service;
public class TestClient {
public static void main(String[] args) throws Exception {
// 指出service所在URL
String endpoint = "http://127.0.0.1:8765/Webservice/services/Login.jws";
// 创建一个服务(service)调用(call)
Service service = new Service();
Call call = (Call) service.createCall();// 通过service创建call对象
// 设置service所在URL
call.setTargetEndpointAddress(new java.net.URL(endpoint));
// 方法名(processService)与MyService.java方法名保持一致
call.setOperationName("getName");
// Object 数组封装了参数,参数为"This is Test!",调用processService(String arg)
String ret = (String) call.invoke(new Object[] { "继中" });
System.out.println("返回: "+ret);
}
}
这里的客户端项目调用可以是java项目也可以是web项目,但是注意的是java项目需要加入javaee的核心包以供另外需要加入的包集如下。
axis.jar,commons-discovery-0.2.jar,commons-logging-1.0.4.jar
这些包都在上面的链接中下载中的一部分。