Старее и мудрее сейчас ...
генерирует C # из wsdl
wsdl enterprise.wsdl -n: Sforce -o: SforceService.cs
XmlAnyElement не может иметь пустое пространство имен, поэтому откройте SforceService.cs и удалите его
это ...
[System.Xml.Serialization.XmlAnyElement (Пространство имен = "")]
public System.Xml.XmlElement [] Any {
получить {
вернуть this.anyField;
}
задавать {
this.anyField = значение;
}
}
становится ...
public System.Xml.XmlElement [] Any {
получить {
вернуть this.anyField;
}
задавать {
this.anyField = значение;
}
}
wsdl генерирует сериализацию xml для закрытых членов, которая не работает и должна быть исправлена
Необработанное исключение: System.InvalidOperationException: член LoginScopeHeaderValueField не найден в классе Sforce.SforceService.
это ...
[System.Web.Services.Protocols.SoapHeaderAttribute ( "LoginScopeHeaderValueField")]
становится ...
[System.Web.Services.Protocols.SoapHeaderAttribute ( "LoginScopeHeaderValue")]
поиск и замена ValueField "для ValueField"
тогда вы можете получить это, что является ошибкой, потому что mono не устанавливает никаких корневых сертификатов в хранилище доверенных сертификатов, поэтому https завершается ошибкой
Необработанное исключение: System.Net.WebException: Ошибка записи запроса: проверка подлинности или расшифровка не удалась.
в System.Net.WebConnectionStream.WriteHeaders () [0x00000]
в System.Net.WebConnectionStream.SetHeaders (буфер System.Byte []) [0x00000]
at (обертка remoting-invoke-with-check) System.Net.WebConnectionStream: SetHeaders (byte [])
в System.Net.HttpWebRequest.SendRequestHeaders (логическое распространение_ошибки) [0x00000]
это исправлено mozroots, которые получат все сертификаты кораблей mozilla с ...
mozroots --import --sync
тогда все работает как описано
Sforce.SforceService binding = new Sforce.SforceService ();
Sforce.LoginResult loginResult = binding.login ("someuser", "somepass");
и т.д ...