我有一个客户向我发送肥皂请求
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://com.test">
<SOAP-ENV:Body>
<ns1:Transfer>
<TransferRequest>
<transferDescription></transferDescription>
<ccy>XOF</ccy>
</TransferRequest>
</ns1:Transfer>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
下面是我的网络方法
[return: XmlElement(ElementName = "return")]
[SoapDocumentMethod(Use = SoapBindingUse.Default)]
public TransferResponse Transfer(TransferRequest TransferRequest)
{
}
public class TransferResponse{
public string Name {get;set;}
public string Title {get;set;}
}
public class TransferRequest
{
[XmlElement(Namespace = "http://com.test")]
public string transferDescription {get;set;}
[XmlElement(Namespace = "http://com.test")]
public string ccy{get;set;}
}
当我将<ns1:Transfer>
中的ns1删除为<Transfer>
时,我得到了请求值,但是当我像<ns1:Transfer>
一样添加回该对象时,该对象为null。如何处理带有前缀n1的请求
答案 0 :(得分:0)
您应该添加名称空间,以便反序列化程序将知道如何解析XML
[XmlElement(Namespace="YOUR NAMESPACE")]
在您发布xml名称空间的示例中:
xmlns:ns1 =“ http://com.test”
验证代码是否可以访问XML模式,然后反序列化应该可以正常工作。
您可以了解有关XML方案和XML名称空间in here
的更多信息