我有一个C#项目,是从现有dll中反编译的。它使用Microsoft.Web.Services2和System.Web.Services。我的客户没有货源,所以您知道; D
WSDL合同有一个生成的方法:
[SoapDocumentMethod("", ParameterStyle = SoapParameterStyle.Bare, Use = SoapBindingUse.Literal)]
[return: XmlElement("getOutputMessageResponse", Namespace = "http://www.ibm.com/xmlns/prod/websphere/human-task/services/6.0")]
public XmlElement getOutputMessage([XmlElement("getOutputMessage", Namespace = "http://www.ibm.com/xmlns/prod/websphere/human-task/services/6.0")] getOutputMessage getOutputMessage1)
{
return (XmlElement) this.Invoke("getOutputMessage", new object[1]
{
(object) getOutputMessage1
})[0];
}
在代码中,我得到了:
XmlElement output = ... // getOutputMessage() invocation
if(output != null){
// do something...
}else{
// do something else
}
这是问题所在。输出为NEVER NULL。它要么变成:
<wn:procesResponse xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:wn="http://website" />
或正确填写的XML
响应。
由于null
,它应该得到xsi:nil
,最好的部分是-它在反编译之前就可以工作,所以我缺少一些设置或类似的设置。
您有什么想法,这可能是什么问题?
感谢您的帮助!