Я хочу вызвать веб-службу Salesforce, но я получаю эту ошибку: в System.dll произошло необработанное исключение типа «System.Net.WebException» и дополнительная информация: Ошибка en el servidor remoto: (500) Ошибка междоузлия.Вызов веб-службы из консольного приложения C#
но когда я вызываю тот же веб-сервис в Java, я не получаю никаких ошибок.
Это C# код, я использую:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Net;
using System.IO;
namespace ConsoleApplication1
{
class Program
{
static String ST = "some_string";
static String pwd = "password";
static String userName = "myusername";
static String SERVER_URL;
static String SESSION_ID;
static void Main(string[] args)
{
string url = " https://test.salesforce.com/services/Soap/u/30.0";
string details = CallRestMethod(url);
}
public static string CallRestMethod(string url)
{
HttpWebRequest webrequest = (HttpWebRequest)WebRequest.Create(url);
webrequest.Method = "POST";
webrequest.ContentType = "text/xml;charset=UTF-8";
webrequest.Headers.Add("SOAPAction", "\"\"");
String input = "<Envelope xmlns=\"http://schemas.xmlsoap.org/soap/envelope/\"><Header/><Body><login xmlns=\"urn:partner.soap.sforce.com\"><username>" + userName + "</username><password>" + pwd + ST + "</password></login></Body></Envelope>";
ASCIIEncoding encoding = new ASCIIEncoding();
byte[] byte1 = encoding.GetBytes(input);
webrequest.GetRequestStream().Write(byte1, 0, byte1.Length);
/*Stream newStream = webrequest.GetRequestStream();
newStream.Write(byte1, 0, byte1.Length);
newStream.Close();*/
Console.WriteLine(webrequest.Headers);
HttpWebResponse webresponse = (HttpWebResponse)webrequest.GetResponse();
Encoding enc = System.Text.Encoding.GetEncoding("utf-8");
StreamReader responseStream = new StreamReader(webresponse.GetResponseStream(), enc);
string result = string.Empty;
result = responseStream.ReadToEnd();
webresponse.Close();
return result;
}
}
}
Я не хочу для использования wsdl, потому что я хочу использовать собственный метод отдыха. –
Затем вам нужно будет предоставить более подробную информацию о методе REST. Ожидает ли в качестве входных данных XML-конверт SOAP? Вы можете вызвать метод с клиентом отдыха? –
Я хочу войти в систему с помощью метода мыла и использовать метод rest для вставки данных, я могу сделать это с помощью java, но когда я пытаюсь с C#, я получаю ошибку, я думаю, это протокол https. –