Tagi na forum.

C# 1456 XML 282
SQL 1192 sieci 268
ASP.NET 785 IIS 262
Windows 726 C++ 255
web 608 Html 218
Visual Studio 515 Information Technology 193
SQL Server 425 MSDN 167

pokaż wszystkie tagi na forum

Problem CS0030 przy SOAP

daniel_dom 2011-09-12 08:26:20
0
avatar
 
 
Mam proble z podłączeniem się pod webservice smsapi.pl
Niby wszystko wygląda ok. Webservice podpinam pod VisualStudio ale przy próbie wywołania/uruchomienia wywala mi błąd:
Wystąpił błąd podczas serializacji treści komunikatu send_smsRequest: „Nie można wygenerować tymczasowej klasy (wynik=1).

error CS0030: Nie można przekonwertować typu 'string[]' na 'string'error CS0029: Nie można dokonać niejawnej konwersji typu 'string' na 'string[]'”. Więcej informacji znajdziesz we właściwości InnerException.

Oto kod programu:
[Kod]SmsKlient = new SMSApi.Client() { username = "", password = "" };

SMSApi.smsapiClient smsClient = new SMSApi.smsapiClient();
SMSApi.SMS smsTresc;

smsTresc = new SMSApi.SMS()
{
eco = 1,
message = "Tresc smsa",
recipient = "123456789",
test = 1

};
var k = new SMSApi.SendSms_Input() { client = SmsKlient, sms = smsTresc };
SMSApi.SMSResult s = smsClient.send_sms(k);





Czy ktoś wie może co muszę zrobić/zmienić by program zaczął działać?

tagi: SMS
Liczba postów:

m.iwanowski  2011-09-12 09:15:37 #1
0
avatar
 
 
W firmie zrobiliśmy to troszkę inaczej - nie przez WebService a po prostu WebRequestem:



[Kod]
WebRequest w = WebRequest.Create("https://ssl.smsapi.pl/send.do");

w.Method = "POST";
w.ContentType = "application/x-www-form-urlencoded";

if (!string.IsNullOrEmpty(item.Owner.PhoneNumber))
{
string phone = item.Owner.PhoneNumber;

if (!phone.StartsWith("48"))
{
phone = "48" + phone;
}

using (Stream writeStream = w.GetRequestStream())
{
string parameters = string.Format("username={0}&password={1}&to={2}&message={3}&encoding=utf-8", login, this.ComputeMd5(password), phone, item.Message);

UTF8Encoding encoding = new UTF8Encoding();
byte[] bytes = encoding.GetBytes(parameters);
writeStream.Write(bytes, 0, bytes.Length);
}

using (HttpWebResponse r = (HttpWebResponse)w.GetResponse())
{
using (Stream responseStream = r.GetResponseStream())
{
using (StreamReader readStream = new StreamReader(responseStream, Encoding.UTF8))
{
string ret = readStream.ReadToEnd();
sb.AppendFormat("{0};", ret);
}
}
}
}




 --Pozdrawiam
Marcin Iwanowski
 
...::: Jeżeli mój post jest rozwiązaniem Twojego problemu, kliknij "Rozwiązanie" :::...

Pozdrawiam

Marcin Iwanowski

 

...::: Jeżeli mój post jest rozwiązaniem Twojego problemu, kliknij "Rozwiązanie" :::...

daniel_dom  2011-09-14 09:27:21 #1.1
0
avatar
 
 
Dzięki. Działa idealnie :)

rwilk  2011-11-10 01:42:35 #1.2
0
avatar
 
 

Proszę wybaczyć złośliwość, ale widzę tu pewną analogię do następującej sytuacji:

P> Dzień dobry. Przy próbie skasowania pliku pod linuxem pojawia mi się błąd xxx. Jak można to poprawić?

O> Zainstaluj windowsa, tam zrobisz to klikając prawym przyciskiem myszy i wybierając usuń.

Co do rozwiązania problemu:  zmienić w wygenerowanej klasie proxy wszystkie typ[][] na typ[]

Pozdrawiam


m.iwanowski  2011-11-10 15:55:41 #1.2.1
0
avatar
 
 

Widzę że chcesz wygrać konkurs na najstarszy odkop rozwiązanego problemu?

To co proponujesz działałoby do czasu ponownego wygenerowania proxy - więc zaproponowałem inną propozycję rozwiązania, która jak widac się przyjęła.

W danym problemie nie liczyło się "jak" tylko liczył się efekt końcowy - więc szkoda czasu na rozdmuchiwanie tematu.


Pozdrawiam

Marcin Iwanowski

 

...::: Jeżeli mój post jest rozwiązaniem Twojego problemu, kliknij "Rozwiązanie" :::...

Udziel odpowiedzi

avatar
Treść wpisu:

Zaloguj się lub Zarejestruj się aby wykonać tę czynność.

Idź na górę strony