2013-05-04 7 views
4

У меня есть seenseveralquestions об этом уже, но ни одно из явных прохождений о том, как захватить запрос SOAP веб-службе WCF. Они просто говорят «go install Fiddler2». Все, что я могу получить от скрипача, - это обычный HTTP-запрос, но я никогда не могу получить необработанный запрос SOAP по какой-либо причине. Может ли кто-нибудь направить меня к учебнику, который проходит через этот конкретный сценарий?Как получить необработанный запрос SOAP для веб-службы WCF

NET веб-приложение вызывает базовую точку HTTTP на веб-службе WCF. Мне нужно захватить необработанный запрос SOAP. Я ищу полное пошаговое руководство, потому что по какой-то причине я не понимаю эту концепцию.

UPDATE

Вот что я получаю от вида сырых Фиддлерз:

POST http://vm05/PNSWebTestVB/ HTTP/1.1 
Accept: text/html, application/xhtml+xml, */* 
Referer: http://vm05/PNSWebTestVB/ 
Accept-Language: en-US 
User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0) 
Content-Type: application/x-www-form-urlencoded 
Accept-Encoding: gzip, deflate 
Host: vm05 
Content-Length: 2272 
Connection: Keep-Alive 
Pragma: no-cache 

__EVENTTARGET=&__EVENTARGUMENT=&__VIEWSTATE=%2FwEPDwUKLTM4MDU0OTMyOQ9kFgICAw9kFgICeQ8WAh4HVmlzaWJsZWcWBgIBDw8WAh4EVGV4dAXKATx0YWJsZSB3aWR0aD0nMTAwJSc%2BPHRyPjx0ZD48c3Ryb25nPlN0YXJ0ZWQ6PC9zdHJvbmc%2BIDg6Mjg6MTguNzA3IEFNPC90ZD48dGQgYWxpZ249J2NlbnRlcic%2BPHN0cm9uZz5FbmRlZDo8L3N0cm9uZz4gODoyODoyMC41ODUgQU08L3RkPjx0ZCBhbGlnbj0ncmlnaHQnPjxzdHJvbmc%2BVG90YWw6PC9zdHJvbmc%2BIDEuODggc2Vjb25kczwvdGQ%2BPC90YWJsZT5kZAIDDw8WAh8BBXk8aDQ%2BQ3JlYXRlIFRyYW5zYWN0aW9uIFNlcnZpY2UgUmV0dXJuPC9oND48Yj5Cb29sZWFuIHJlc3VsdDo8L2I%2BIFRydWU8YnIvPjxiIHN0eWxlPSdjb2xvcjpncmVlbjsnPlRFWFQgUkVTVUxUPC9iPjxicj48YnI%2BZGQCBQ8WAh8AZ2Rkmc4sy89qkfQk3kA8w7SRmIfxUSlxVgFqcNBtkeRIGvY%3D&__EVENTVALIDATION=%2FwEdADckdSulW6vTtuDCsutBCOVBHuYrnCLgzUYcVq885NAgzZBAD6J3MNtrSpGnxWrC%2FWRUrsGtEC0SKq72cYUQj6MHOXVRtuWyUUr8Al4rdtmt%2B8N2xUQitpn6Pknoh%2B5lQf9RKBwWYA7jtXNV6Fyp7wwwYPNRdSlGDjh7ClJg%2F%2FQI%2FsI9IlkxVupeEm%2FDBfOBjmgCFEW5ZOZ3zLZdk8YI6PE6An6aUbI2ZjLPEQsoBH9TOyLW4BJ%2FSTF3Uef4cbjA5Q6oOAbWKMEz9NXGrCaNaN6%2FMpyV5%2F1TvEYWD0yCXnmvyFCW58L34hS5XnYmVzVfcqcUSYbps0k8nVI8D9q4g88Z7oY8IGHKUKDgNd8Kojcr%2FtWV5ox%2FwpXSznh9NtViMcBsMIdnRXtkb14rIvygPErJhFC4ILqjKluJ7FnQqfbUh2wVFAAZqAAVW%2F7QOBwuGJsC4KiUWkyiTt32wEzVgrG55C2gUEtIrhiHZRDanokB6Pjrd%2B6AhBFz9xIwRXGyYSipKDigjvXCrUFe1qtus867Hkdv%2Fmywtqjc8bPQgNMmPZmHMCRBpaSZU%2Fh5766K3e%2FZaAzC5geU%2FGZZrIiHB%2BvOFu3Ip31cWL5V1piWa7JHh4Ck%2FnXjtEEXGp9uhBm0Ym%2Fq%2B8KAFXmT90AD%2FaBcOEqI4c4cQUqoy7AZ1%2BkYVPB39GBt33rofGUZhn9OTmViOoqzzIS3GQPZY9GEdkYtBRCGCBa6y0vMH4d%2BpjEUs1aRMtB7BcOyOKb3MRBTUDqtrd3loN3ma0HbQrCsdBnsAHCSBTq4obkUxHDtJf8dSY2HsN%2BMSiYZt0hmT4kEnnuNAaFBfGj7Oy49XaZ593dhlumGfM%2FFESYlqD233oVLoUueHRunUC66sgsPgZkHYlVHbiQOw0WXZZ5cbdYYXwr661mJ89CqNL7SXM5bHdHZdc8mjZKMhnMRSoTaHKS7nhfvrD%2Fx3IhQquPfSBscM%2BEl0ZjjjtTdVzRZn7DFyWrI8V%2FOY8R04aPRKvp5noI1x8SosQ8JtOO%2BaYKnFL9NCi0aug5qlXDG2aEfC1liIw8tcyTKyO4O3QU2jwgyGg0Cn1uu04sysgxEFpobCcsYBC13vLf00%2BldhvJhee6%2Fsf7z7jMzjigjz9OJ9sLxDWTNf435wga8mfxrwE8QZdUUwumdHowAQUaobtRYmVoJUTgx0Kzlww2Q0Vmf7egxEzjWuWP9tjw%3D&txtProntoID=_CleanInstallSite&txtAuthData=password&txtUsername=apiuser&[email protected]@deV2&ddlProtocol=http%3A%2F%2F&txtDomain=vm05.alphatrust.local&btnCreateTest2=Create+New+Transaction+2&txtTransactionID=&txtParticipantID=&txtDocumentID=&txtMetaDataName=&txtMetaDataValue=&txtTaskID=&txtAttachmentID= 

UPDATE 2

Я даже не знаю, как клиент Скрипач есть способ увидеть SOAP в первую очередь. Fiddler (из того, что я понимаю) перехватывает трафик клиента из браузера (это просто сообщение формы), который формирует сообщение, сообщает приложение на сервере, чтобы сделать вызов веб-службы в приложение WCF на другом сервере (или на том же сервер в этом случае), а затем WCF отправляет обратно данные ответа на вызывающий сервер. Затем вызывающий сервер просто возвращает веб-страницу обратно клиенту. Итак, это все, что я вижу - это трафик клиента, который не имеет никакого отношения к трафику сервера к серверу (даже несмотря на то, что клиент, вызывающий сервер и сервер WCF - все те же машины в моем тестовом случае).

+2

вы видели вкладку RAW в окне запроса Скрипач? Достаточно ли это для вас? – evgenyl

+0

@evgenyl Нет, не знаю. И запрос находится в среде dev, так что это тоже не https. – RichC

+0

@evgenyl Извините, я * увидел * сырую вкладку, но я не видел никакого мыла в ней. Я опубликовал то, что появляется в этой точке зрения. – RichC

ответ

11

Fiddler - это прокси-сервер.

Он показывает трафик от любого клиента, который настроен на то, чтобы указывать на него. I думаю Вы говорите, что у вас есть веб-браузер, делающий запрос на сервер, который, в свою очередь, использует SOAP для запроса на другой сервер? Если это так, вам нужно запустить Fiddler на внешнем сервере и настроить ASPX или любой другой, выдающий запрос SOAP, чтобы указать на Fiddler.

http://fiddler2.com/blog/blog/2013/01/08/capturing-traffic-from-.net-services-with-fiddler

+0

Так что я получил его для работы, просто разместив его до конечной точки 127.0.0.1:8888. Конечно, он не отвечает на запрос, но, по крайней мере, мне удалось захватить начальную запись запроса SOAP, в которой я был главным образом после. Спасибо за ответ - это помогло мне сосредоточиться на поиске решения и не думать, что я сумасшедший. – RichC

+2

Я добавил DefaultWebProxy = "false" proxyAddress = "http://127.0.0.1:8888" к моему привязке и до тех пор, пока скрипач включен с портом 8888 на вкладке «Параметры Fiddler»> «Подключения», он работает как шарм. – RichC

+2

Спасибо, @ RichC. Для меня это ''. – JMD