axis1.4客户端调用Xfire服务端,急!
别人给了一个URL为http://123.123.248.58:8185/MessageInterface/services/SubmitService?wsdl我用这个axis通过这个wsdl写了一个客户端,类都建了,客户端的代码为
请高手看看行吗
String serviceUrl = "http://123.123.248.58:8185/MessageInterface/services/SubmitService";
try {
Service serv = new Service();
Call call = (Call) serv.createCall();
call.setTargetEndpointAddress(serviceUrl);
QName qname = new QName("ns1", "ReqHeader");
call.registerTypeMapping(ReqHeader.class, qname,
new BeanSerializerFactory(ReqHeader.class, qname),
new BeanDeserializerFactory(ReqHeader.class, qname));
QName qname2 = new QName("ns2","ArrayOfSmsSubmit");
call.registerTypeMapping(ArrayOfSmsSubmit.class, qname2,
new BeanSerializerFactory(ArrayOfSmsSubmit.class, qname2),
new BeanDeserializerFactory(ArrayOfSmsSubmit.class, qname2));
QName qname3 = new QName("ns2","ArrayOfParam");
call.registerTypeMapping(ArrayOfParam.class, qname3,
new BeanSerializerFactory(ArrayOfParam.class, qname3),
new BeanDeserializerFactory(ArrayOfParam.class, qname3));
QName qname4 = new QName("ns2","Param");
call.registerTypeMapping(Param.class, qname4,
new BeanSerializerFactory(Param.class, qname4),
new BeanDeserializerFactory(Param.class, qname4));
QName qname5 = new QName("ns2","SmsSubmit");
call.registerTypeMapping(SmsSubmit.class, qname5,
new BeanSerializerFactory(SmsSubmit.class, qname5),
new BeanDeserializerFactory(SmsSubmit.class, qname5));
QName qname6 = new QName("tns","ArrayOfString");
call.registerTypeMapping(ArrayOfString.class, qname6,
new BeanSerializerFactory(ArrayOfString.class, qname6),
new BeanDeserializerFactory(ArrayOfString.class, qname6));
QName qname7 = new QName("ns3","RespHeader");
call.registerTypeMapping(RespHeader.class, qname7,
new BeanSerializerFactory(RespHeader.class, qname7),
new BeanDeserializerFactory(RespHeader.class, qname7));
call.setOperationName(new QName(serviceUrl, "smsSubmit"));
ReqHeader rh = new ReqHeader();
rh.setAuthCode(MD5.crypt("1234569999"));
rh.setReqno("10001");
rh.setSysid("101");
rh.setUserName("znjt");
ArrayOfSmsSubmit aos = new ArrayOfSmsSubmit();
SmsSubmit ss = new SmsSubmit();
ss.setContent("fffffffffffff");
ss.setDest(new ArrayOfString());
ss.setParam(new ArrayOfParam());
ss.setSourceAddr("fffffff");
ArrayList al = new ArrayList();
al.add(ss);
aos.setSmsSubmit(new SmsSubmit[]{ss});
ArrayOfParam asp = new ArrayOfParam();
Param param = new Param();
param.setName("zbr");
param.setValue("bbb");
al.clear();
al.add(param);
asp.setParam(al);
RespHeader result = (RespHeader) call.invoke(new Object[] { rh,"gfdg",aos,3,4,5,6,asp });
System.out.println("result = " + result.getAuthCode());
System.out.println("result = " + result.getReqno());
System.out.println("result = " + result.getRespno());
然后给我报了一个这个异常
AxisFault
faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server
faultSubcode:
faultString: For input string: ""
faultActor:
faultNode:
faultDetail:
{http://xml.apache.org/axis/}stackTrace:For input string: ""
请高手看看行吗
...全文
相关推荐
使用Axis和xfire发布调用WebServices
本文档是关于使用Axis和XFire发布及调用Web Services的教程,主要涵盖两个部分:发布Web Service和调用Web Service。在发布部分,详细讲解了使用Axis和XFire
xfire接口程序,包含xfire服务端和axis客户端
**客户端代码**:使用axis1生成的客户端代理类,这些类负责调用服务端的方法,处理响应,并可能包含必要的配置文件,如wsdlURL和服务端点地址。3.
cxf_axis_xfire客户端调用的几种方法.docx
【CXF、AXIS2、XFire 客户端调用方法详解】在Web服务开发中,CXF、AXIS2和XFire是常见的Java API,用于构建和消费SOAP(简单对象访问协议)服务。
Web Services发布与调用(axis,xfire)
**二、调用Web Services**2.1 **准备工作**- **新建工程**: 创建一个新的Java工程,用于编写客户端代码。
WebService详细解析(axis,xfire,cxf,授权认证加密解密)
- 客户端调用:使用AXIS客户端工具或者自定义代码调用服务。【xfire篇】XFire是另一个开源的SOAP和RESTful Web Services框架,后来被集成到了CXF项目中。


