小问题,当我在我的 Windows 机器上运行我的 ServiceStack API 应用程序时,命名空间会按照我所说的正确显示。但是当我在关闭 mod_mono 的 Linux 机器上运行该服务时。然后这些名称空间被其他东西覆盖。请在下面查看我的代码:
DTO
namespace API_ESERVICES_NOTIFICATION
{
[DataContract(Namespace = "urn:com.example:service:20130308")]
public class GetAccountNotification
{
[DataMember]
public GetAccountResponseTO getAccountResponse {
get;
set;
}
}
}
Windows 生成的 SOAP11 xml
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<GetAccountNotification xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="urn:com.example:service:20130308">
<getAccountResponse xmlns:d2p1="urn:com.example:service:entity:20130308">
Linux Mod_Mono
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<GetAccountNotification xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/API_ESERVICES_NOTIFICATION">
<getAccountResponse xmlns:d2p1="http://schemas.datacontract.org/2004/07/API_ESERVICES_NOTIFICATION.Model">
现在我如何让 Linux 命名空间成为 urn:com.example:service:entity:20130308 和 urn:com.example:service:20130308,而不是http://schemas.datacontract.org/2004/07/API_ESERVICES_NOTIFICATION。型号。任何帮助将不胜感激。