Java+Axis WebService接口开发实例



 

Java+Axis WebService接口开发实例

标签: webservice实例javaAxis
  20893人阅读  评论(3)  收藏  举报
  分类:

一、下载Axis的jar包

下载地址:http://ws.Apache.org/axis/


二、创建两个Web项目

1、WebService项目:负责提供接口,导入Axis的Jar包

(1)创建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="TestWebService.jws" provider="java:RPC">
<!-- 调用的包名+类名 -->
<parameter name="className" value="com.donghaiair.test.TestWebsService" />
<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>

(2)在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>

(3)创建接口类

package com.donghaiair.test;

public class TestWebsService {

public String testWebsServiceNull(){
        return "test";
    }
public String testWebsServiceOne(String s){
return "test:" + s;
}
public String testWebsServiceTwo(int i,String s){
return "test:" + i + "\n" + s;
}
}

扫描二维码关注公众号,回复: 702359 查看本文章

2、WebServiceClient项目:负责调用接口,导入Axis的Jar包

package com.donghaiair.test;

import java.NET.MalformedURLException;
import java.rmi.RemoteException;
import javax.xml.rpc.ServiceException;
import org.apache.axis.client.Call;
import org.apache.axis.client.Service;

public class TestWebsService {

public static void main(String[] args) {
 String url = "http://localhost:8080/WebService/services/TestWebService.jws";//           
 Service service = new Service();
 Call call;
 try {
 call = (Call) service.createCall();
 call.setTargetEndpointAddress(new java.net.URL(url) );
//  call.setOperationName("testWebsServiceNull" );// 这是要调用的方法
//  String res = (String) call.invoke(new Object[] {null});
 
 call.setOperationName("testWebsServiceOne" );// 这是要调用的方法
 String res = (String) call.invoke( new Object[] {"徐士宽"} );
 
//  call.setOperationName("testWebsServiceTwo" );// 这是要调用的方法
//  String res = (String) call.invoke( new Object[] {17,"徐士宽"} );
 
 System.out.println(res);
  }catch (MalformedURLException e) {
  
  } catch (RemoteException e) {
  e.printStackTrace();
  } catch (ServiceException e) {
  e.printStackTrace();
  }
}
}

注释一:Jar包相关截图


注释二:项目先关截图


7
2
 
 

我的同类文章

更多文章

参考知识库

img

.NET知识库

img

Java EE知识库

img

Java SE知识库

img

Java 知识库

猜你在找
Java分布式架构:使用xFire和CXF开发WEB服务 JavaSE高级篇---(IO流+多线程+XML+Socket+swing) 跟着龙哥学JavaWeb 微信公众平台深度开发Java版 v2.0(第六季) [微信公众号_独立知识点]微信WEB开发
查看评论
3楼  lfjiuwei 2016-05-11 11:06发表 [回复]
截图呢
2楼  memoryisking 2015-04-02 21:03发表 [回复]
使用jdk也可以开发webservice,而且还十分简便。从网上看到一篇文章讲解的不错:http://swiftlet.net/archives/650
1楼  可苦又可乐 2014-10-16 15:42发表 [回复]
什么意思啊
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
  • 个人资料
 
  • 访问:45660次
  • 积分:555
  • 等级: 
  • 排名:千里之外
  • 原创:18篇
  • 转载:7篇
  • 译文:0篇
  • 评论:3条
  • 文章分类
  • 文章存档
  • 最新评论
<iframe id="iframeu2734128_0" src="http://pos.baidu.com/mcam?sz=200x200&amp;rdid=2734128&amp;dc=2&amp;di=u2734128&amp;dri=0&amp;dis=0&amp;dai=2&amp;ps=2357x194&amp;coa=at%3D3%26rsi0%3D200%26rsi1%3D200%26pat%3D6%26tn%3DbaiduCustNativeAD%26rss1%3D%2523FFFFFF%26conBW%3D1%26adp%3D1%26ptt%3D0%26titFF%3D%2525E5%2525BE%2525AE%2525E8%2525BD%2525AF%2525E9%25259B%252585%2525E9%2525BB%252591%26titFS%3D%26rss2%3D%2523000000%26titSU%3D0%26ptbg%3D90%26piw%3D0%26pih%3D0%26ptp%3D0&amp;dcb=BAIDU_SSP_define&amp;dtm=HTML_POST&amp;dvi=0.0&amp;dci=-1&amp;dpt=none&amp;tsr=0&amp;tpr=1477319823514&amp;ti=Java%2BAxis%20WebService%E6%8E%A5%E5%8F%A3%E5%BC%80%E5%8F%91%E5%AE%9E%E4%BE%8B%20-%20xushikuan%E7%9A%84%E4%B8%93%E6%A0%8F%20-%20%E5%8D%9A%E5%AE%A2%E9%A2%91%E9%81%93%20-%20CSDN.NET&amp;ari=2&amp;dbv=2&amp;drs=3&amp;pcs=1349x661&amp;pss=1349x5155&amp;cfv=0&amp;cpl=5&amp;chi=1&amp;cce=true&amp;cec=UTF-8&amp;tlm=1477319823&amp;rw=661&amp;ltu=http%3A%2F%2Fblog.csdn.net%2Fxushikuan%2Farticle%2Fdetails%2F20913903&amp;ltr=https%3A%2F%2Fwww.baidu.com%2Flink%3Furl%3D3RhivpZSHM8ZSibS6wkkboKS69tLaJwsjhR9ngzvXn_pfYuztI_Ncrz4xJXcEQCQ91azAr1jsivBoX1FlEejR3sN8RBdP3Akl7ZryELROYG%26wd%3D%26eqid%3Dd9533e42000064b700000004580e1c7d&amp;ecd=1&amp;psr=1366x768&amp;par=1366x720&amp;pis=-1x-1&amp;ccd=24&amp;cja=false&amp;cmi=7&amp;col=zh-CN&amp;cdo=-1&amp;tcn=1477319824&amp;qn=b57b0282025b1823&amp;tt=1477319823489.33.160.293" width="200" height="200" align="center,center" vspace="0" hspace="0" marginwidth="0" marginheight="0" scrolling="no" frameborder="0" allowtransparency="true" style="border-width: 0px; border-style: initial; vertical-align: bottom; margin: 0px;"></iframe>

一、下载Axis的jar包

下载地址:http://ws.Apache.org/axis/


二、创建两个Web项目

1、WebService项目:负责提供接口,导入Axis的Jar包

(1)创建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="TestWebService.jws" provider="java:RPC">
<!-- 调用的包名+类名 -->
<parameter name="className" value="com.donghaiair.test.TestWebsService" />
<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>

(2)在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>

(3)创建接口类

package com.donghaiair.test;

public class TestWebsService {

public String testWebsServiceNull(){
        return "test";
    }
public String testWebsServiceOne(String s){
return "test:" + s;
}
public String testWebsServiceTwo(int i,String s){
return "test:" + i + "\n" + s;
}
}

2、WebServiceClient项目:负责调用接口,导入Axis的Jar包

package com.donghaiair.test;

import java.NET.MalformedURLException;
import java.rmi.RemoteException;
import javax.xml.rpc.ServiceException;
import org.apache.axis.client.Call;
import org.apache.axis.client.Service;

public class TestWebsService {

public static void main(String[] args) {
 String url = "http://localhost:8080/WebService/services/TestWebService.jws";//           
 Service service = new Service();
 Call call;
 try {
 call = (Call) service.createCall();
 call.setTargetEndpointAddress(new java.net.URL(url) );
//  call.setOperationName("testWebsServiceNull" );// 这是要调用的方法
//  String res = (String) call.invoke(new Object[] {null});
 
 call.setOperationName("testWebsServiceOne" );// 这是要调用的方法
 String res = (String) call.invoke( new Object[] {"徐士宽"} );
 
//  call.setOperationName("testWebsServiceTwo" );// 这是要调用的方法
//  String res = (String) call.invoke( new Object[] {17,"徐士宽"} );
 
 System.out.println(res);
  }catch (MalformedURLException e) {
  
  } catch (RemoteException e) {
  e.printStackTrace();
  } catch (ServiceException e) {
  e.printStackTrace();
  }
}
}

注释一:Jar包相关截图


注释二:项目先关截图


猜你喜欢

转载自blog.csdn.net/fuyonghui123/article/details/52916626