2013-09-05 3 views
0

Здравствуйте у меня WebService, что я создал с помощью WSDL с помощью Visual Studio Command ПРОМТА и с помощью этой командыДоступ результата метода порожденного Wsdl.exe

string[] ahoj = new string[] { 28156609.ToString() }; 

Rozhranice.StatusType[] ahoj2; 

Rozhranice.InformaceOPlatciType[] ahoj3; 

Rozhranice.rozhraniCRPDPH srv = new Rozhranice.rozhraniCRPDPH(); 

StreamWriter writer = new StreamWriter(@"C:\Users\marek\Desktop\spol.txt"); 

string abc = (srv.getStatusNespolehlivyPlatce(ahoj, out ahoj3).bezVypisuUctu.ToString()); 

textBox1.Text = abc; 

I`m умелой назвать результат этого: enter image description here

Но как я могу получить результат этого? enter image description here

Я попытался это:

string abc = (srv.getSeznamNespolehlivyPlatce(ahoj, out ahoj3).ToString()); 

, но после того, как ..., из ahoj3). не является выбором для выбора значений из informaceOPlatciType

Могу ли я спросить, где я могу сделать ошибку?

Когда я пытаюсь написать srv. (варианты - только getStatusNespolehlivyPlace и getSeznamNespolehlivyPlace)

Если вам необходимо предоставить URL-адрес webservice, просто дайте мне знать.

Этот вопрос не дублируется: Create SOAP envelope of XML and send it as HttpWebRequest to WebService - это просто Создание, но теперь я пытаюсь назвать точный reasulf перед сгенерированным кодом WSDL Command Prompt, может быть, это будет снова открыто?

В упомянутой статье я пытался отправить ее через SOAP, теперь у меня есть тихий рабочий код, сгенерированный WSDL Command Prompt (который по-другому задан в предыдущем вопросе), и я застрял в получении результата. По-моему, это совсем другой вопрос.

ответ

1

ahoj3 является массивом Rozhranice.InformaceOPlatciType. Чтобы получить содержимое, вам нужно получить доступ к каждому элементу массива.

string[] ahoj = new string[] { "28156609" }; 
Rozhranice.InformaceOPlatciType[] ahoj3; 
Rozhranice.rozhraniCRPDPH srv = new Rozhranice.rozhraniCRPDPH(); 
StatusType status = srv.getStatusNespolehlivyPlatce(ahoj, out ahoj3); 
string abc = status.bezVypisuUctu.ToString(); // If it is already a string, then ToString not needed 
for (int i=0; i<ahoj3.Length; i++) 
{ 
    Rozhranice.InformaceOPlatciType info = ahoj3[i]; 
    // Do something with info.cisloFu; 
    // Do something with info.dic; 
    // etc. 
} 
+0

Большое вам спасибо, это очень помогло мне. Могу ли я задать еще один вопрос, пожалуйста? Я пытался получить 'info.ZverejnenyUcetType' следующим образом:' Rozhranice.ZverejnenyUcetType [] ucet; ucet = info.zverejneneUcty; textBox1.Text = ucet.ToString(); 'Но получил эту ошибку:' Невозможно неявно преобразовать тип Rozhranice.ZverejnenyUcetType [] в строку'. Я считаю, что это потому, что 'ZverejnenyUcetType' находится в' array'. Могу ли я попросить о помощи в преобразовании этого массива? Еще раз спасибо. – Marek

+0

Это не конверсия. Если это массив, то вам нужно индексировать его. Массив имеет свойство Length, и для каждого из них имеется одна запись массива. Если 'Length' равно 2, то есть' [0] 'и' [1] '. Изучите некоторые основы C#. –

1

После вызова

srv.getSeznamNespolehlivyPlatce(ahoj, out ahoj3) 

переменную ahoj3 не должен быть установлен, если что-то не так с методом. Вы можете получить доступ к его свойства позже в коде, как обычно:

ahoj3.SomeProperty. 
Смежные вопросы