我的网络服务出现了问题。
我使用一个用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)
是什么导致了这个问题?
这个问题真的很蠢。解决方案是在SendResponse类中。我拼错了MessageId属性(正确的属性应该是MessageId),因此Java无法解析响应。