Axis1.4 调用.net服务出错

Axis1.4 调用.net服务出错

Axis1.4 调用.net服务出错

Table of Contents

1 出错描述:

AxisFault
 faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Client
 faultSubcode: 
 faultString: System.Web.Services.Protocols.SoapException: 服务器无法读取请求。 ---> System.InvalidOperationException: XML 文档(1, 641)中有错误。 ---> System.FormatException: 输入字符串的格式不正确。
   在 System.Number.StringToNumber(String str, NumberStyles options, NumberBuffer& number, NumberFormatInfo info, Boolean parseDecimal)
   在 System.Number.ParseInt32(String s, NumberStyles style, NumberFormatInfo info)
   在 System.Xml.XmlConvert.ToInt32(String s)
   在 Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReader1.Read7_GetOrderListByBA()
   在 Microsoft.Xml.Serialization.GeneratedAssembly.ArrayOfObjectSerializer12.Deserialize(XmlSerializationReader reader)
   在 System.Xml.Serialization.XmlSerializer.Deserialize(XmlReader xmlReader, String encodingStyle, XmlDeserializationEvents events)
   --- 内部异常堆栈跟踪的结尾 ---
   在 System.Xml.Serialization.XmlSerializer.Deserialize(XmlReader xmlReader, String encodingStyle, XmlDeserializationEvents events)
   在 System.Xml.Serialization.XmlSerializer.Deserialize(XmlReader xmlReader, String encodingStyle)
   在 System.Web.Services.Protocols.SoapServerProtocol.ReadParameters()
   --- 内部异常堆栈跟踪的结尾 ---
   在 System.Web.Services.Protocols.SoapServerProtocol.ReadParameters()
   在 System.Web.Services.Protocols.WebServiceHandler.CoreProcessRequest()
 faultActor: 
 faultNode: 
 faultDetail: 
    {http://xml.apache.org/axis/}stackTrace:System.Web.Services.Protocols.SoapException: 服务器无法读取请求。 ---> System.InvalidOperationException: XML 文档(1, 641)中有错误。 ---> System.FormatException: 输入字符串的格式不正确。

2 解决方法

如果确定,服务器地址,参数个数和参数类型都是一致的话,还有一种情况会导致这个问题。就是参数列表中有两个及以上的int型参数。对应的解决方法是使用最新的axis2包来调用。 如果对应的.net服务你自己可以控制的话,也可以修改服务的参数类型。 不过将java中调用的参数类型全部设成String,调用.net中的int型的貌似也可以。

Date: 2013-06-09 08:46:48 中国标准时间

Author: csophys

Org version 7.8.11 with Emacs version 24

Validate XHTML 1.0
posted @ 2013-06-08 18:07  csophys  阅读(670)  评论(0编辑  收藏  举报