`

faultString: org.xml.sax.SAXException: No deserializer for {urn:UserManager}Use

 
阅读更多

 faultString: org.xml.sax.SAXException: No deserializer for {urn:UserManager}User  

 

此异常为反序列化异常,表明你的javaBean对象(比如User),说明你本地对象User已经序列化成功,但是你的User通过Webservice,在调用对方系统之前,反序列化失败,说明你在server-config.wsdd中的namespaceURL没有对应成功.比如

 

 

    public static void setUserList() {
			String url = "http://127.0.0.1:8080/axis/services/UserManager";
			
			Service serv = new Service();
			
			List<User> userList = new ArrayList<User>();
			User user1 = new User();
			user1.setName("chenxing");
			user1.setPassword("starchen");
			
			User user2 = new User();
			user2.setName("xingxing");
			user2.setPassword("meteor");
			
			userList.add(user1);
			userList.add(user2);
			try {
				
				Call call = (Call) serv.createCall();
				
				QName qn = new QName("urn:UserManager", "User");
				call.registerTypeMapping(User.class, qn, new BeanSerializerFactory(User.class,qn), new BeanDeserializerFactory(User.class,qn));
				
    		call.setTargetEndpointAddress(url);
    		
   			call.setOperationName(new QName("UserManager", "setUserList"));
  			call.setReturnClass(ArrayList.class);
  			call.addParameter("userList", XMLType.XSD_ANYTYPE, ParameterMode.IN);
		
  			System.out.println("88888888888888888888");
				List<User> list = (ArrayList) call.invoke(new Object[]{userList});
				System.out.println("3333333333333333333333333");
				System.out.println(list.size());
				

			} catch (ServiceException e) {
				e.printStackTrace();
			} catch (RemoteException e) {
				e.printStackTrace();
			}
		}

 

 

其中下划线的 urn:UserManager 就是对应server-config.wsdd中的 urn:UserManager 

 

<service name="UserManager" provider="java:RPC">
  <parameter name="allowedMethods" value="*"/>
  <parameter name="className" value="webservice.axis.service.UserManager"/>
  <beanMapping languageSpecificType="java:webservice.axis.entity.User" qname="ns2:User" xmlns:ns2="urn:UserManager"/>
 </service>

 

server-config.wsdd中的 qname="ns2:User" 中的对象,就是服务器程序对应的javaBean

 

 

分享到:
评论

相关推荐

    org.xml.sax.SAXException: Invalid element

    NULL 博文链接:https://wilian.iteye.com/blog/1992365

    webservice启动没有问题,通过自动生成的客户端报错

    faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.userException faultSubcode: faultString: java.lang.reflect.InvocationTargetException faultActor: faultNode: faultDetail: {...

    axis2 InvocationTargetException

    4. **配置检查**:检查Axis2的配置文件,如services.xml和服务类的部署描述符,确认它们正确无误,没有遗漏或错误的配置。 5. **依赖库版本**:确认所有依赖库的版本与Axis2版本兼容,不兼容的库可能会引发异常。 ...

    soap消息解析.rar

    SOAP(Simple Object Access Protocol)是一种基于XML的协议,用于在Web服务中交换结构化和类型化的信息。SOAP消息解析是理解、处理和构建SOAP请求和响应的关键步骤。在这个"soap消息解析.rar"压缩包中,包含的是...

    flex的rpc错误整理

    7. **RPC Fault faultString="MessagingError message='Destination 'fluorine' either does not exist or the destination has no channels defined...'** 这个错误意味着FluorineFX配置不完整或者destination没有...

    Flex调用xml通过DataGrid遍历简单示例

    &lt;?xml version="1.0" encoding="utf-8"?&gt; &lt;mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" creationComplete="service.send()" &gt; &lt;mx:Script&gt; &lt;![CDATA[ import mx.controls.Alert; import ...

    flash+xml超酷欧美FLASH整站源码

    &lt;?xml version="1.0" encoding="utf-8"?&gt; &lt;mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" creationComplete="service.send()" &gt; &lt;mx:Script&gt; &lt;![CDATA[ import mx.controls.Alert; import ...

    Flex与JSON及XML的互操作

    ### Flex与JSON及XML的互操作 Flex作为一种强大的开源框架,允许开发者利用MXML(一种基于标签的语言)和ActionScript 3构建出丰富的互联网应用程序(RIA)。本文将深入探讨Flex如何与JSON和XML进行互操作,这对于...

    SOAP调用Axis服务的Client

    SOAP(Simple Object Access Protocol)是一种基于XML的网络通信协议,常用于Web服务的交互。Axis是Apache软件基金会开发的一个开源工具,它提供了SOAP服务的实现,包括服务端和客户端。本篇文章将深入探讨如何使用...

    WSDL文件简介-本文介绍了如何编写一个简单的WSDL文件,并根据WSDL文件编写服务器端和客户端代码,并发布Web Service服务的过程

    &lt;soap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://www.zzl.org/Sum"/&gt; &lt;/wsdl:input&gt; &lt;wsdl:output&gt; &lt;soap:body use="encoded" encodingStyle=...

    Flex_RPC错误大全

    若项目无需此功能,可选择注释掉`services-config.xml`中的`channel-definition`节点。 #### 2. Requested type is not accessible 错误信息:“RPCFault faultString="Therequestedtypeisnot accessible"” - **...

    flex与 java 通信常见错误

    RPC Fault faultString="Cannot create class of type 'UserManager'." faultCode="Server.ResourceUnavailable" faultDetail="Type 'UserManager' not found." ``` **错误原因:** 这表明Flex应用试图通过远程...

    soap 教程

    &lt;faultstring&gt;Unable to process request&lt;/faultstring&gt; &lt;/SOAP-ENV:Fault&gt; &lt;/SOAP-ENV:Body&gt; &lt;/SOAP-ENV:Envelope&gt; ``` ### SOAP HTTP Binding - **定义**:`SOAP over HTTP`是一种常用的绑定方法,即将SOAP...

    Soap 消息.doc

    &lt;Description&gt;Invalid value for 'intA' &lt;/soap:Fault&gt; &lt;/soap:Body&gt; &lt;/soap:Envelope&gt; ``` 通过以上内容,我们可以看到SOAP作为一种基于XML的标准协议,在实现不同系统间的数据交换方面有着明确的规范和...

    SOAP协议样列

    &lt;faultstring&gt;It is not allowed to send greetings on Tuesdays.&lt;/faultstring&gt; &lt;errorDetail&gt;... &lt;/SOAP-ENV:Fault&gt; &lt;/SOAP-ENV:Body&gt; &lt;/SOAP-ENV:Envelope&gt; ``` 这里的`SOAP-ENV:Fault`元素包含了关于...

    介绍Soap基本语法

    &lt;faultstring&gt;Invalid request data&lt;/faultstring&gt; &lt;error xmlns="http://www.example.com/errors"&gt;...&lt;/error&gt; &lt;/soap:Fault&gt; ``` #### 总结 SOAP作为一种广泛应用于分布式环境中的协议,其基本语法和规则...

    调用WEB服务的错误 服务器无法处理请求 无法生成临时类 result 1 解决办法

    自己总结:调用WEB服务的错误 服务器无法处理请求 无法生成临时类 result 1 多种解决办法

    SOAP基本和创建详解

    **SOAP (Simple Object Access Protocol)** 是一种轻量级的、基于XML的协议,主要用于在Web服务中传递结构化的和类型化的信息。SOAP允许应用程序通过HTTP或其他传输协议交换数据,使得不同系统之间的通信变得简单和...

    Flex中利用HTTPService MXML标签(tag)将XML转化为对象(objects)

    在 Flex 开发中,HTTPService 是一个非常重要的组件,它允许我们从远程服务器获取数据,这些数据可以是 XML、JSON 或其他格式。本教程将详细解释如何使用 MXML 标签来配置 HTTPService,并将接收到的 XML 数据转换为...

Global site tag (gtag.js) - Google Analytics