1. 首先,先编写服务端代码
- public class ReturnObjectService {
-
-
-
public User getUser(String name) {
-
User user = new User();
- user.setUsername(name);
-
return user;
- }
-
- }
public class ReturnObjectService {
public User getUser(String name) {
User user = new User();
user.setUsername(name);
return user;
}
}
- package server.object;
-
-
import java.io.Serializable;
-
-
-
public class User implements Serializable{
-
-
private String username;
-
-
public String getUsername() {
-
return username;
- }
-
-
public void setUsername(String username) {
-
this.username = username;
- }
-
- }
package server.object;
import java.io.Serializable;
public class User implements Serializable{
private String username;
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
}
2. 进行手动打包过程。 新建一个文件夹,放入对应的服务端class(要求带入文件路径)。新建一个META-INF文件夹,并在其中编写services.xml文件,具体内容如下:
- <service name="returnObjectService">
-
<parameter name="ServiceClass">
- server.object.ReturnObjectService
-
</parameter>
-
<messageReceivers>
-
<messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-out"
-
class="org.apache.axis2.rpc.receivers.RPCMessageReceiver" />
-
<messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-only"
-
class="org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver" />
-
</messageReceivers>
-
</service>
<service name="returnObjectService">
<parameter name="ServiceClass">
server.object.ReturnObjectService
</parameter>
<messageReceivers>
<messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-out"
class="org.apache.axis2.rpc.receivers.RPCMessageReceiver" />
<messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-only"
class="org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver" />
</messageReceivers>
</service>
可以用开始进行打包处理,打包语句如下:进入需要打包的文件路径,直接执行 jar cvf 打包后名字.aar . (后面有个点,表示当前路径),
或者jar cvf 打包后名字.aar 文件夹名 文件夹名 等两种方式都可以。
打包后,把对应的aar包放入Tomcat6.0\webapps\axis2\WEB-INF\services 路径之下,就可以了。
3. 编写客户端代码:
- package client;
-
-
import javax.xml.namespace.QName;
-
-
import org.apache.axis2.AxisFault;
-
import org.apache.axis2.addressing.EndpointReference;
-
import org.apache.axis2.client.Options;
-
import org.apache.axis2.rpc.client.RPCServiceClient;
-
-
public class ReturnObjectTest {
-
-
-
public static void main(String[] args) throws AxisFault {
-
String target = "http://localhost:8080/axis2/services/returnObjectService";
-
RPCServiceClient client = new RPCServiceClient();
- Options options = client.getOptions();
-
options.setManageSession(true);
-
-
EndpointReference epr = new EndpointReference(target);
- options.setTo(epr);
-
-
QName qname = new QName("http://object.server", "getUser");
-
Object[] result = client.invokeBlocking(qname, new Object[] {"linwei"},new Class[] { User.class });
-
User user = (User)result[0];
-
System.out.println("user.username is " + user.getUsername());
- }
-
- }
分享到:
相关推荐
这个工程详细的介绍了webService服务客户端如何调用简单和复杂的webService,其中就包括传递的参数是对象类型,返回数据是数组类型,还有最简单的基本类型。压缩包里还配置说明,清晰的说明webService的整个过程,对...
axis1_4 发布webservice 传递对象或返回对象(一)_benet6_新浪博客.mht
WINFORM调用webservice传递可序列化对象示例C井版WINFORM调用webservice传递可序列化对象示例C井版WINFORM调用webservice传递可序列化对象示例C井版WINFORM调用webservice传递可序列化对象示例C井版
此程序demo详细描述的从发布接口到调用接口的全部过程,详细描述了Xfire调用webservice参数无法传递的问题。
Web Service提供者 参数写在对象中(参数为对象)
Android调用webservice示例,webServcep返回实例,通过Json传递,接收后再还回实体
调用webservice接口,利用post方式传参数,将返回的XML结果,利用xmldocument返回到页面中。
WebService传递对象与集合问题.rarWebService传递对象与集合问题.rarWebService传递对象与集合问题.rar
NULL 博文链接:https://michael-wang.iteye.com/blog/1565142
spring,cxf,restful发布webservice传递复杂对象,例如List,Map,List<Map>
java调用json参数的webservice 涉及技术: JAVA JSON WEBSERVICE
这种方式发布的WebService并不需要我们生成WSDL,而直接从Bean生成WebService(自底向上模式)。典型的问题就是,如果我们直接用AXIS2中的源代码通过ant生成arr包发布的话,客户端可以正常的setWeather、getWeather...
java调用.net的webservice传字符串参数,axis方式和xfire方式的使用说明及相关jar包。
该文档主要讲解ksoap2调用webService服务,包含无参调用,基本类型参数调用,自定义类型参数调用以及自定义参数集合调用;由于文档中提到的服务地址为内测服务地址,所以暂时不能访问,文档仅供参考,如url、...
此程序demo详细描述的从发布接口到调用接口的全部过程,详细描述了Xfire调用webservice参数无法传递的问题。
用services.xml以jar或aar格式发布webservice步骤(图解)
动态调取webservice返回json数据,并把数据绑定到gridview中
delphi客户端调用c#开发的Webservice操作数据库。-----------------------------
里面详细的介绍了 webservice 的所有参数是怎么获取的,以及prefix,action,locationUrl,每个参数都有详细的截图和说明,保证看完后就知道怎么做了,如果还有疑问,可qq问
C# WebService返回数据四种方法(DataSet, 序列化的DataSet, Microsoft组件处理序列化DataSet, Microsoft组件处理序列化压缩DataSet)及动态调用WebService