whipjeans 2013-07-08 08:49 采纳率: 0%
浏览 2798

axis1.4调用webservice 传递自定义对象参数出错

调用客户端后出现:
org.xml.sax.SAXException: Invalid element in cn.services.QueryEquipmentRequest - queryEquipmentRequest

客户端代码(其中queryEquipmentRequest,QueryEquipmentResponse是我自定义的对象):
call.addParameter(new QName(nameSpace, "queryEquipmentRequest"), new QName(nameSpace, "queryEquipmentRequest"), ParameterMode.IN);
// // @@需修改成对应的输出参数名
call.setReturnType(new QName(nameSpace, "queryEquipmentResponse"),
QueryEquipmentResponse.class);
//

// // 需要根据xsd生成的bean,对输入输出的XSD文件定义的类型进行注册映射关系
//// // @@如本服务输入输出XSD文件中有四个自定义类型 queryEquipmentRequest、queryEquipmentResponse、deviceItem、deviceItemList,配置如下
QName queryEquipmentRequest = new QName(nameSpace, "queryEquipmentRequest");
call.registerTypeMapping(QueryEquipmentRequest.class, queryEquipmentRequest,
new BeanSerializerFactory(QueryEquipmentRequest.class,
queryEquipmentRequest), new BeanDeserializerFactory(
QueryEquipmentRequest.class, queryEquipmentRequest));
//
QName queryEquipmentResponse = new QName(nameSpace, "queryEquipmentResponse");
call.registerTypeMapping(QueryEquipmentResponse.class, queryEquipmentResponse,
new BeanSerializerFactory(QueryEquipmentResponse.class,
queryEquipmentResponse), new BeanDeserializerFactory(
QueryEquipmentResponse.class, queryEquipmentResponse));

服务端的wsdl文件为:

<!--WSDL created by Apache Axis version: 1.4
Built on Apr 22, 2006 (06:55:48 PDT)-->wsdl:types/wsdl:types/wsdl:message/wsdl:message/wsdl:operation/wsdl:portType/wsdl:input/wsdl:output/wsdl:operation/wsdl:binding /wsdl:port/wsdl:service/wsdl:definitions

  • 写回答

1条回答 默认 最新

  • ChatGPTᴼᴾᴱᴺᴬᴵ 2023-01-05 09:07
    关注

    这个错误信息表明在你的客户端代码中,你传入的 queryEquipmentRequest 对象在服务端的 WSDL 文件中没有定义。


    为了解决这个错误,你需要检查服务端 WSDL 文件,确认你自定义的 queryEquipmentRequest 对象是否在其中出现。如果没有,你需要在服务端代码中将其添加进去。


    另外,你需要确保你的客户端和服务端的 WSDL 文件是同步的,否则客户端在调用服务端的时候可能会遇到各种问题。


    此外,你还需要确认你在客户端中注册了所有自定义的类型映射,并且这些映射是正确的。

    评论

报告相同问题?

悬赏问题

  • ¥15 鸿业暖通修改详细负荷时闪退
  • ¥15 有偿求码,CNN+LSTM实现单通道脑电信号EEG的睡眠分期评估
  • ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站
  • ¥50 成都蓉城足球俱乐部小程序抢票
  • ¥15 yolov7训练自己的数据集
  • ¥15 esp8266与51单片机连接问题(标签-单片机|关键词-串口)(相关搜索:51单片机|单片机|测试代码)
  • ¥15 电力市场出清matlab yalmip kkt 双层优化问题
  • ¥30 ros小车路径规划实现不了,如何解决?(操作系统-ubuntu)
  • ¥20 matlab yalmip kkt 双层优化问题
  • ¥15 如何在3D高斯飞溅的渲染的场景中获得一个可控的旋转物体