小弟原来只用过XFIRE和SPRING集成来做WEBSERCE,参数是基本类型,现在用axis2做个客户端和别人通信,有几个基础问题请教一下。
1.一般做AXIS2客户端是不是根据工具生成一些代码?这个生成AXIS2代码工具是什么?生成的代码是做什么的?
2.一般webservice认证怎么做的?当做参数一起传过去?还是对方绑定你的IP?
3.如果参数是个JAVABEAN,或者是个LIST(返回值),这个怎么办?是不是自动生成代码里已经有了转化,你只要用就可以了?
4.搜了一下入门教程,都没有自动生成代码的例子,好像很简单,这是怎么回事?如果不自动生成一些代码会不会在实际项目里很复杂?
谢谢
1.一般做AXIS2客户端是不是根据工具生成一些代码?这个生成AXIS2代码工具是什么?生成的代码是做什么的?
2.一般webservice认证怎么做的?当做参数一起传过去?还是对方绑定你的IP?
3.如果参数是个JAVABEAN,或者是个LIST(返回值),这个怎么办?是不是自动生成代码里已经有了转化,你只要用就可以了?
4.搜了一下入门教程,都没有自动生成代码的例子,好像很简单,这是怎么回事?如果不自动生成一些代码会不会在实际项目里很复杂?
谢谢
解决方案 »
- 我想了解sap pcm,oracle hpcm,sas abm三种产品的优势和劣势。在线等(急)
- hibernate调用存储过程的问题
- java OCR图片信息
- 一个在Hibernate 和 Struts 关于传递参数和显示的问题~~
- 求助!困扰俺一个礼拜的Hibernate和Struts的问题!
- 这个tomcat中的提示导电是什么意思??????????
- 存储图片问题
- JAVA+数据库时间数据读取问题?
- 请问如何可靠地检测pop3服务器中地新邮件?
- 求Java电商秒杀系统深度优化 从容应对亿级流量挑战下载地址
- struts2中的chain方式传值问题
- 谁有基于struts2 可以改pop3的邮件收发的源码啊
2:不熟
3:axis1.3以后支持list这种类型,就是说不用做其他的配置就可以直接使用,但是使用的时候要当做数组来使用,比如你返回你个List,其实是一个数组,而map就可以直接使用,返回的就是map。其他的bean则需要序列化和反序列化,举个例子public List<TestBean> getBean(){}这样一个服务
首先配置server_config.wsdd文件
<service name="test" provider="java:RPC">
<parameter name="allowedRoles" value="test"/>
<parameter name="allowedMethods" value="*"/>
<parameter name="className" value="test.Test"/>
<beanMapping languageSpecificType="test.TestBean " qname="ns:testNs" xmlns:ns="urn:t"/>
</service>客户端调用代码:
Call call = (Call) service.createCall(); //创建Call实例,也是必须的!
call.setTargetEndpointAddress(new java.net.URL(endpoint)); //为Call设置服务的位置
call.setOperationName(new QName("test", "getBean"));
QName qn = new QName("urn:t","testNs");
call.registerTypeMapping(TestBean.class, qn, new org.apache.axis.encoding.ser.BeanSerializerFactory(TestBean.class, qn), new org.apache.axis.encoding.ser.BeanDeserializerFactory(TestBean.class, qn));
Object[] list= (Object[])call.invoke(new Object[]{});
System.out.println(((TestBean)list[0]).getName());
4:我就没用自动生成代码,如果你只有一个wsdl文件,建议你去自动生成代码。