powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WCF, Web Services, Remoting [игнор отключен] [закрыт для гостей] / WCF + SOAP + POST - не работает!
6 сообщений из 6, страница 1 из 1
WCF + SOAP + POST - не работает!
    #36429881
RegisteredUser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
есть задача: по SOAP через явный XML-запрос вытянуть данные из WCF-сервиса.
у WCF-сервиса (http://localhost/WCFCalc/SOAPCalc.svc) есть метод Add(X, Y), который возвращает сумму X+Y.
через WCFTestClient.exe есть нормальный доступ и всё работает.
теперь надо сделать все такое же через прогу.

вот код:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
        protected void Send_Request_SOAP(string Method, string Param1, string Param2)
        {

            strRequest = @"<s:Envelope xmlns:a=""http://www.w3.org/2005/08/addressing"" xmlns:s=""http://www.w3.org/2003/05/soap-envelope"">" +
                @"  <s:Body>" +
                @"    <{0}>" +
                @"      <x>{1}</x>" +
                @"      <y>{2}</y>" +
                @"    </{0}>" +
                @"  </s:Body>" +
                @"</s:Envelope>"; 
            

            
            strRequest = string.Format(strRequest, Method, Param1, Param2);
            txt_Request.Text = strRequest;

            UTF8Encoding encoding = new UTF8Encoding();
            byte[] data_request = encoding.GetBytes(strRequest);

            string strXMLresponse = "";

            HttpWebRequest myRequest = (HttpWebRequest)WebRequest.Create("http://localhost/WCFCalc/SOAPCalc.svc");
            myRequest.Method = "POST";
            myRequest.ContentType = "application/soap+xml; charset=utf-8";
            myRequest.ContentLength = data_request.Length;
            Stream newStream = myRequest.GetRequestStream();

            // Send the data.
            newStream.Write(data_request,  0 , data_request.Length);
            newStream.Close();

            StreamReader streamRead ;
            Stream streamResponse;
            HttpWebResponse myHttpWebResponse;

            try
            {
                myHttpWebResponse = (HttpWebResponse)myRequest.GetResponse();  // ВОТ тут ОШИБКА: The remote server returned an error: ( 500 ) Internal Server Error.

                streamResponse = myHttpWebResponse.GetResponseStream();
                streamRead = new StreamReader(streamResponse);
                Char[] readBuffer = new Char[ 256 ];
                // Read from buffer
                int count = streamRead.Read(readBuffer,  0 ,  256 );

                while (count >  0 )
                {
                    String resultData = new String(readBuffer,  0 , count);
                    strXMLresponse = strXMLresponse + resultData;
                    count = streamRead.Read(readBuffer,  0 ,  256 );
                }
                streamRead.Close();
                streamResponse.Close();

                myHttpWebResponse.Close();

                txt_Response.Text = txt_Response.Text +  strXMLresponse;
            }
            catch (Exception exp)
            {
                txt_Response.Text = txt_Response.Text + Environment.NewLine + "error: " + exp.Message;
            }

        }




(HttpWebResponse)myRequest.GetResponse(); возвращает ошибку: The remote server returned an error: (500) Internal Server Error.

помогите плиз добрым советом.
...
Рейтинг: 0 / 0
WCF + SOAP + POST - не работает!
    #36429976
AlexeiK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
через браузер выполни запрос и пока через него не заработает, не возвращайся к своему коду.
...
Рейтинг: 0 / 0
WCF + SOAP + POST - не работает!
    #36429986
RegisteredUser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AlexeiKчерез браузер выполни запрос и пока через него не заработает, не возвращайся к своему коду.
это мне xml в адресну строку запихнуть что ли??
...
Рейтинг: 0 / 0
WCF + SOAP + POST - не работает!
    #36431176
RegisteredUser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
позырил что ходит по сетке.

запрос:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
POST /WCFCalc/SOAPCalc.svc HTTP/ 1 . 1 
Content-Type: application/soap+xml;  charset=utf- 8 
Host: vlad
Content-Length:  195 
Expect:  100 -continue

<s:Envelope xmlns:a="http://www.w3.org/2005/08/addressing" xmlns:s="http://www.w3.org/2003/05/soap-envelope">  
<s:Body>    <Add>      <x> 41 </x>      <y> 52 . 34 </y>    </Add>  </s:Body>
</s:Envelope>

Ответ:

Код: plaintext
1.
2.
3.
4.
5.
6.
HTTP/ 1 . 1   500  System.ServiceModel.ServiceActivationException
Date: Tue,  26  Jan  2010   09 : 26 : 44  GMT
Server: Microsoft-IIS/ 6 . 0 
X-Powered-By: ASP.NET
X-AspNet-Version:  2 . 0 . 50727 
Cache-Control: private
Content-Length:  0 

как можно узнать больше о том что не нравится сервису?
...
Рейтинг: 0 / 0
WCF + SOAP + POST - не работает!
    #36431201
Фотография bured
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RegisteredUser
как можно узнать больше о том что не нравится сервису?
программно - отлавливать и передавать FaultException с деталями, административно - включите трассировку.
...
Рейтинг: 0 / 0
WCF + SOAP + POST - не работает!
    #36431495
AlexeiK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RegisteredUser,

wcf debug fiddler
поищи по этому запросу в гугле.
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / WCF, Web Services, Remoting [игнор отключен] [закрыт для гостей] / WCF + SOAP + POST - не работает!
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]