自定义对象类的传递
package webservicedemo;
/**
* <p>Title: </p>
* <p>Description: </p>
* <p>Copyright: Copyright (c) 2003</p>
* <p>Company: </p>
* @author not attributable
* @version 1.0
*/
public class CmsBean {
private String name = "";
private int userid=0;
public String getName() {
return name;
}
public void setName(String name){
this.name=name;
}
public int getUserid(){
return userid;
}
public void setUserid(int userid){
this.userid=userid;
}
}
以上是自定义用户类
package webservicedemo.bean;
/**
* <p>Title: </p>
* <p>Description: </p>
* <p>Copyright: Copyright (c) 2003</p>
* <p>Company: </p>
* @author not attributable
* @version 1.0
*/
import webservicedemo.CmsBean;
public class ServerBean {
private int count=0;
public ServerBean() {
}
public static void main(String[] args) {
ServerBean serverBean1 = new ServerBean();
/*CmsBean temp=new CmsBean();
temp.setName("abcd");
temp.setUserid(7);
serverBean1.showCmsBean(temp);*/
CmsBean tmp=serverBean1.getBean();
System.out.println("#########"+(tmp.getUserid()));
System.out.println("#########"+(tmp.getName()));
}
public CmsBean getBean(){
CmsBean temp=new CmsBean();
temp.setName("abcd");
temp.setUserid(8888);
return temp;
}
public int showCmsBean(CmsBean cmsbean){
count++;
System.out.println("#########"+(cmsbean.getUserid()));
System.out.println("#########"+(cmsbean.getName()));
return count;
}
}
以上是服务器端程序代码
package webservicedemo.bean;
/**
* <p>Title: </p>
* <p>Description: </p>
* <p>Copyright: Copyright (c) 2003</p>
* <p>Company: </p>
* @author not attributable
* @version 1.0
*/
import org.apache.axis.AxisFault;
import org.apache.axis.client.Call;
import org.apache.axis.client.Service;
import org.apache.axis.utils.Options;
import org.apache.axis.encoding.XMLType;
import javax.xml.namespace.QName;
import javax.xml.rpc.ParameterMode;
import webservicedemo.CmsBean;
public class ClientBean {
public ClientBean() {
}
public static void main(String[] args) {
ClientBean clientBean1 = new ClientBean();
try{
//clientBean1.sendServer();
clientBean1.getServer();
}catch (Exception e){
e.printStackTrace();
}
}
public void getServer() throws Exception{
String endpoint="http://localhost/axis/services/ServerBean";
Service service = new Service();
Call call = (Call) service.createCall();
call.setMaintainSession(true);
QName qn = new QName( "urn:CmsBean", "CmsBean" );
call.registerTypeMapping(CmsBean.class , qn,
new org.apache.axis.encoding.ser.BeanSerializerFactory(CmsBean.class, qn),
new org.apache.axis.encoding.ser.BeanDeserializerFactory(CmsBean.class, qn));
call.setTargetEndpointAddress( new java.net.URL(endpoint));
call.setOperationName( new QName("ServerBean", "getBean") );
call.setReturnType(new QName("ServerBean", "getBean"));
CmsBean result=(CmsBean)call.invoke( new Object[] {});
System.out.println("#########"+(result.getUserid()));
System.out.println("#########"+(result.getName()));
}
public void sendServer() throws Exception{
String endpoint="http://localhost/axis/services/ServerBean";
CmsBean tmp=new CmsBean();
tmp.setName("abcd");
tmp.setUserid(168);
Service service = new Service();
Call call = (Call) service.createCall();
call.setMaintainSession(true);
QName qn = new QName( "urn:CmsBean", "CmsBean" );
call.registerTypeMapping(CmsBean.class , qn,
new org.apache.axis.encoding.ser.BeanSerializerFactory(CmsBean.class, qn),
new org.apache.axis.encoding.ser.BeanDeserializerFactory(CmsBean.class, qn));
call.setTargetEndpointAddress( new java.net.URL(endpoint));
call.setOperationName( new QName("ServerBean", "showCmsBean") );
call.addParameter( "arg1", qn, ParameterMode.IN);
call.setReturnType(XMLType.XSD_INT);
Integer result=(Integer)call.invoke( new Object[] {tmp});
System.out.println(result.intValue());
result=(Integer)call.invoke( new Object[] {tmp});
System.out.println(result.intValue());
}
}
以上为客户端程序代码
<service name="ServerBean" provider="java:RPC">
<!--<requestFlow>
<handler type="authen"/>
</requestFlow>-->
<parameter name="allowedRoles" value="*"/>
<parameter name="className" value="webservicedemo.bean.ServerBean"/>
<parameter name="scope" value="session"/>
<beanMapping qname="ns:CmsBean" xmlns:ns="urn:CmsBean" languageSpecificType="java:webservicedemo.CmsBean"/>
</service>
以上为服务器端配置文件
其中qname="ns:CmsBean" 声明的是
- <wsdl:message name="getBeanResponse">
<wsdl:part name="getBeanReturn" type="tns1:CmsBean" />
</wsdl:message>
WEB服务的自定义数据类型
xmlns:ns="urn:CmsBean"声明的是
- <wsdl:definitions targetNamespace="http://localhost/axis/services/ServerBean" xmlns:impl="http://localhost/axis/services/ServerBean" xmlns:intf="http://localhost/axis/services/ServerBean" xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:tns1="urn:CmsBean" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns="http://schemas.xmlsoap.org/wsdl/">
名称空间
分享到:
相关推荐
6. **源码分析**:如果提供了源码,可以深入研究如何将业务逻辑封装到Java类中,以及如何使用Axis的相关API将其转换为Web服务。 7. **文档理解**:文件“axis_webservice说明文档.doc”可能包含了关于如何运行实例...
【标题】"Axis WebService 实例源码"的解析与详解 在IT行业中,Web服务是一种重要的技术,它允许不同的应用程序之间通过网络交换数据。...通过深入研究这个实例,开发者可以更好地理解和掌握基于Java的Web服务开发。
Web服务(Web Service)是一种基于互联网的、采用标准XML(Extensible Markup Language)进行通信的软件模块...通过研究这个实例,你可以深入理解Web服务的工作原理,以及如何利用Axis1.4工具有效地开发和调用Web服务。
**标题:“Axis2入门实例”** 在IT领域,特别是Web服务开发中,Apache Axis2是一个广泛应用的SOAP(简单对象访问协议)...通过深入研究提供的源代码和实践操作,你可以掌握使用Axis2构建和使用Web服务的基本技能。
通过对这些文件的研究和实践,你可以深入理解如何使用Axis1.4搭建和使用Web服务。 总结起来,Apache Axis1.4是一个强大的工具,可以帮助开发者轻松创建、部署和使用Web服务。通过学习和掌握Axis1.4,你可以更好地...
**标题解析:** "Axis2范例,对象传输" 指的是使用Apache Axis2框架进行Web服务开发的一个示例项目,重点在于演示如何通过Axis2传输...通过深入研究这个范例,开发者可以掌握使用Axis2进行服务开发和调用的基本技能。
本文档将对Web Service Axis进行详细总结,并提供相关实例说明。 1. Web Service简介 Web服务是通过HTTP协议传输数据的一种方式,它利用SOAP(Simple Object Access Protocol)作为消息传输格式,WSDL(Web ...
标题中的“Axis2三种配置文件”指的是在使用Apache Axis2,一个流行的开源Web服务引擎时,需要理解的三种...通过深入研究源码、使用合适工具以及理解这些配置文件的作用,开发者可以构建出健壮且高效的Web服务系统。
本实例将深入讲解如何使用Axis2来创建一个简单的WebService,并将其整合到Web项目中。 1. **Axis2介绍** Axis2是Axis1的升级版,它基于Apache SOAP项目,并提供了更多的特性,如更好的模块化结构、支持WS-*标准...
本教程将深入探讨如何使用Axis2搭建Web服务以及进行客户端测试。 首先,我们需要理解Web服务的基本概念。Web服务是一种通过HTTP协议提供和消费的API,通常使用SOAP或RESTful风格。SOAP是一种XML消息规范,用于在...
【标题】"Axis Demo SOA" 是一个...通过深入研究这些内容,你将具备使用Apache Axis开发和管理SOA服务的能力,能够将服务解耦,提高系统的灵活性和可扩展性。同时,实战练习将帮助你更好地将理论知识应用于实际项目中。
了解这些基本概念和流程后,开发者可以深入研究Axis1.4的高级特性,如WS-I兼容性、安全配置、消息传输优化等。同时,由于Axis1.4是较旧的版本,对于新的Web服务标准和实践,比如RESTful API、WS-Security等,开发者...
深入学习和理解Axis2的源码可以帮助开发者更好地控制Web服务的行为,实现更高效的Web服务开发。通过对源码的研究,我们可以了解到Axis2如何处理消息、如何管理服务生命周期以及如何与其他Web服务标准交互。这对于Web...
Axis是Apache组织开发的一款开源Web服务框架,...通过深入研究这个Axis1.0的实例,开发者不仅可以了解Web服务的基本工作原理,还能掌握使用Java实现Web服务的关键步骤,这为后续开发更复杂的Web服务项目打下坚实基础。
Web服务(Web Service)是一种基于互联网的、采用标准XML(Extensible Markup Language)进行通信的...开发者可以通过研究这些文件,深入理解Web服务的工作原理和开发流程,提升在分布式系统集成和跨平台通信中的技能。
【标题】"Axis2完美例子Demo"所涉及的知识点主要集中在 Axis2 和 Web服务开发上。Axis2 是一个流行的开放源代码Web服务引擎,用于构建和...对于想要深入理解Web服务和Axis2框架的人来说,这是一个非常有价值的资源。
通过研究和运行这个 DEMO,你可以更深入地理解 Axis2 如何工作,并学习如何将其应用于自己的项目。 总的来说,Axis2 是一个强大的工具,为开发者提供了在 Java 平台上实现 WebService 请求的便利。理解其工作原理和...
Axis1.4是Apache软件基金会开发的一个开源SOAP(简单对象访问协议)框架,主要用于构建Web服务。这个框架基于Java,允许开发者将...通过实践和研究Axis1.4,开发者可以深入理解Web服务的工作原理,提升自己的技能水平。
2. **示例客户端**:演示如何使用Axis生成客户端代码并调用发布的Web服务,这通常包括从WSDL生成客户端存根、实例化客户端对象及调用服务方法。 3. **配置文件**:可能包含axis2.xml或服务特定的配置文件,这些文件...
### MyEclipse下开发Web Service(Axis)...最后,对于希望进一步探索Web Service技术栈的开发者,建议深入研究SOAP协议、WSDL规范以及与之相关的安全性、事务处理机制等内容,以提升自身在企业级应用开发领域的竞争力。