2009-08-04 5 views
2

저는 고전적인 ASP 개발자입니다. 나도 알아. 나는 .NET을 배워야하지만, 이것에 남은 시간은 겨우 2 년 밖에 남지 않았다. 나는 자신을 진보 된 것으로 생각할 것이다.Classic ASP에서 SOAP 요청을 캡처하려고 시도했습니다.

개발할 경우 데이터를 웹 서비스로 내보내는 타사 응용 프로그램이 있습니다. .NET을 배우지 않고 ASP로 빌드 할 수 있는지 궁금합니다.

내 문제는 내가 만든 요청을 검색하는 방법을 찾지 못했기 때문입니다.

Request.Querystring 또는 Request.Form 또는 Request.ServerVariables 컬렉션 메서드가 아무 것도 나타내지 않습니다. CharlesProxy를 사용하여 보낸 XML/SOAP 요청이 어떻게 보이는지 살펴 보았지만 ASP에서 캡처하는 방법을 알지 못했습니다.

호출되는 작업을 나타내는 HTTP_SOAPACTION의 ServerVariables 요청을 확인했지만 전달 된 XML 문자열을 검색하는 방법을 알 수 없습니다.

도움을 주시면 감사하겠습니다.

+0

ASP에서 HTTP SOAP 동작을 처리하도록 허용해야합니다 (기본적으로 PUT, GET, HEAD 허용).즉, 귀하의 질문을 정확하게 이해하면. – shahkalpesh

+0

ASP에서 SOAP 웹 서비스를 작성하거나 ASP 클라이언트에서 기존 서비스를 호출하는 것에 대해 이야기하고 있습니까? – Kev

+1

올바르게 이해하면 OP가 xml을 ASP 페이지로 보내고 캡처해야하는 SOAP 요청을하려고합니다. 내가 그 질문을 오해 한 경우에 나는 유감 스럽다. – shahkalpesh

답변

1

그런 가치. 나는 이런 식의 사소한 웹 서비스보다 더 많은 것을 작성해야한다면 아마 문을 두드리는 소리를 질렀다.

... 어쨌든 this article을 통과하셨습니까? 그것은 서버 부분에 대한 ASP를 사용하는 것 같습니다.

저는 기본적인 ASP.NET (또는 .NET WCF) 기술을 습득하는 것을 중시합니다. VB.NET을 사용하면 더 많은 "집에서"느끼게됩니다. 자신을 위해서가 아니라면, 당신의 후계자의 온정을 생각하십시오 :) Visual Web Developer 2008 Express을 다운로드하고 그것을 시도하십시오.

+0

Thorarin, 정말 고맙습니다! 당신은 내가 성공적으로 아래의 코드를 사용하여 SOAP 요청을 검색 할 수있는 URL ... 설정 objReq = Server.CreateObject를 ("Microsorft.XMLDOM")가 포함 된 objReq.Load 요청 Response.Write를 objReq.text 이 의지 나 시작해! .NET을 배우는 데는 동의하지만, 지금 당장은 XML 코드를 파싱 할 수있는 루틴이 있습니다.이 루틴을 사용하면 매우 신속하게 빌드 할 수 있습니다. 나는 얼마나 감사하고 있는지 표현할 수 없다. 고맙습니다! – user138777

+0

그래서 서비스에 WSDL이 없습니까? –

+0

내가 이해할 수있는 한, 필요하지 않을 것이다. 이것은 내부적으로 개인 웹 서비스로 사용됩니다. 우리는 정기적으로 데이터를 웹 서비스로 내보낼 수있는 Windows 기반 인벤토리 시스템을 가지고 있습니다. 100 개의 재고 항목 블록으로 SOAP 요청을 보내고 특정 SOAP 응답을 되돌릴 것으로 예상합니다. 나는 이미 그것에 종사하고 거의 완성된다. 나는 그것을 .Net에서 빨리 처리하는 법을 배울 수 없었다. 이것은 나에게 .NET에서 그것을하는 법을 배울 시간을 줄 것이다. – user138777

0

실제 SOAP 웹 서비스가 필요한 경우 실제 WSDL을 수동으로 만들어야합니다. 그렇게하면 .NET에서 작은 웹 서비스를 작성하는 것이 더 낫다는 충분한 노력이 필요합니다.

VB6도 알고 있습니까? 그렇다면 VB6에서 COM 구성 요소로 가능한 많은 웹 서비스를 작성하도록 조언합니다. 구성 요소에 MSXML2.DomDocument 또는 기타 사항을 수락하고 익숙한 기술을 사용하여 모든 어려운 작업을 수행하십시오.

.NET 웹 서비스 부분은 간단하며 WCF 서비스 프로젝트를 만들 때 얻을 수있는 표준 "hello, world"서비스의 수정 사항 일뿐입니다. 생성하고 등록한 COM 구성 요소를 참조하고 .NET XML 유형에서 MSXML 유형으로 간단한 변환을 수행하고 구성 요소를 호출하기 만하면됩니다.

+0

동의 함, WSDL은 사람이 읽을 수있는 것, 쓰기가 가능할뿐입니다. P – Thorarin

+0

SOAP 인식 클라이언트에서 발견 할 수있는 * 실제 * SOAP .Net 웹 서비스가 필요한 경우에도 마찬가지입니다. 웹 서비스는 WSDL을 가질 필요가 없다. W3C의 웹 서비스라는 용어는 매우 느슨하다. * "네트워크상에서 상호 운용 가능한 기계 간 상호 작용을 지원하도록 설계된 소프트웨어 시스템"*. .Net이 생각하기에 앞서 여러 가지 다른 방법을 사용하여이 작업을 여러 번 수행했습니다. – Lankymart

-1

자신을 "고급"이라고 생각하면 VB.NET에서 공부하고 간단한 ASMX 웹 서비스로 구현하는 데 며칠이 걸릴 것입니다. 더 많은 고통을 원하지만 무한한 다양성을 원한다면 WCF의 장구함을 구축하고 WCF 서비스를 만드십시오. 게임을 오랫동안 해왔다면 시작하기에 큰 의지가 있더라도 지속 가능한 무언가를 만드는 것이 전반적으로 고통스럽지 않다는 것을 이해하게 될 것입니다.

+1

ASMX는 사실상 죽었으며 WCF 서비스는 사소한 ASMX 서비스만큼이나 사소한 일입니다. –

+0

나는 WCF의 유연성이 ASMX보다 더 복잡하다고 주장 할 것이다. 커넥 티드 시스템 (Connected Systems) 녀석으로서 부풀어 오른 설정 파일에 익숙해 질 수도 있지만 익숙하지 않으면 혼란을 많이 겪을 수 있습니다. 그럼에도 불구하고 나는 WCF가 아마도이 녀석에게 가장 좋은 길일 것이라는 것에 동의한다. – t3rse

+0

"팽창"문제는 왜 보지 않아도됩니까? –

-2

그러나 WCF에는 IE와 다른 ASP 빌드 클라이언트 (클라이언트 헤더에 "mozilla"문자열 사용)와 같은 클라이언트에 대한 연결을 거부하는 등의 몇 가지 제한 사항이 있습니다. WCF를 구성합니다. 클라이언트 - 서버 연결은 머리에 불이 붙은 Mach3의 F-14에서 눈을 가린 뇌 수술과 같습니다. 그렇게 쉬운 일은 아닙니다.

내 권장 사항은 C#을 사용하는 ASP입니다. 쉬운 peasy, leque squeezy.

+2

-1 : 답변이 의미가 없습니다. 적어도 더 자세한 내용은 없습니다. 당신은 무엇을 의미합니까? "IE와 같은 클라이언트에 대한 연결을 거부합니다." IE는 "ASP를 기반으로하는 클라이언트"와 어떻게 다릅니 까? 어떻게하면 "클라이언트"헤더에 "mozilla"에 문제가 있다고 생각하게되고, 어쨌든 "클라이언트"헤더는 무엇입니까? 문제를 해결하면 -1을 제거합니다. –

관련 문제