0

我在使用 Web 服务时遇到问题。

我正在使用一种用 C# 编写的 Web 服务(通常的 Web 服务,而不是 WCF)。此外,我正在使用一个用 Java (Axis) 编写的 Web 服务,但我没有代码(已购买)。

该 java 服务正在调用我的 C# Web 服务并期望通过类 SendResponse 的返回值,其定义如下:

public class SendResponse
{
    public long MessageId { get; set; }
    public ResponseStatus Status { get; set; }
}

 AxisFault
 faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.userException
 faultSubcode: 
 faultString: org.xml.sax.SAXException: Invalid element in org.litesphere.www.webservices.Local.SendResponse - MessageId
 faultActor: 
 faultNode: 
 faultDetail: 
    {http://xml.apache.org/axis/}stackTrace:org.xml.sax.SAXException: Invalid element in org.litesphere.www.webservices.Local.SendResponse - MessageId
    at org.apache.axis.encoding.ser.BeanDeserializer.onStartChild(BeanDeserializer.java:258)
    at org.apache.axis.encoding.DeserializationContext.startElement(DeserializationContext.java:1035)
    at org.apache.axis.message.SAX2EventRecorder.replay(SAX2EventRecorder.java:165)
    at org.apache.axis.message.MessageElement.publishToHandler(MessageElement.java:1141)
    at org.apache.axis.message.RPCElement.deserialize(RPCElement.java:236)
    at org.apache.axis.message.RPCElement.getParams(RPCElement.java:384)
    at org.apache.axis.client.Call.invoke(Call.java:2467)

什么可能导致这个问题?

4

1 回答 1

0

这个问题真的很愚蠢。解决方案在 SendResponse 类中。我拼错了 MessageId 属性(正确的属性应该是 MessageID),因此 Java 无法解析响应。

于 2013-04-09T14:41:09.977 回答