2010-01-20 2 views
0

그래서 나는 다음은 .NET 2.0 바닐라 웹 서비스 (안 WCF)으로해야 할 일은 믿고 :는 웹 서비스 참조의 인스턴스를 얻기

1) 서비스 참조를 추가합니다. 제 경우에는 PayPal WSDL을 사용하고 있습니다 2) 프록시 클래스를 사용하려면 먼저 서비스 참조 의 인스턴스를 만들어야합니다 3) 서비스 참조의 인스턴스를 만든 다음 [servicereference]를 수행하십시오. .ProxyClassName.Method 또는 그 클래스에서 액세스하려는 것은 무엇입니까

맞습니까?

좋습니다. 그래서 시도해 보았습니다. 서비스 참조를 추가하고 SandboxSoapAPI라고 명명했습니다. 이것이 바로 C# 프로젝트의 참조에서 볼 수 있습니다. 새로운 SandboxSoapApi =()

SandboxSoapApi 참조;

코드에서이 시도

하지만 SandboxSoapAPI를 인식하지 못합니다. 내가 뭔가 잘못하고 있는거야? 클래스 메서드 등을 PayPal과 함께 시작하기를 원하며이 권한을 얻을 수없는 것 같습니다.

.NET 2.0 이상에서는 SOAP 요청에 대한 HTTP를 통해 실제 요청을 보내는 저레벨을 처리합니다.

답변

2

SandboxSoapAPI는 SOAP 클라이언트 프록시 유형 이름이 아닙니다. 그것은 네임 스페이스입니다.

VS.NET에서 '모든 파일 표시'를 선택하고 웹 참조로 드릴링하고 Reference.cs 파일을 열면 SandboxSoapApi가 SOAP 클라이언트 프록시 이름이 아닌 하위 네임 스페이스임을 알 수 있습니다. 프로젝트의 루트 네임 스페이스에서.

그래서 하나는 완전한 이름을 사용하면 SOAP 클라이언트를 필요 코드에서

SandboxSoapAPI.YourProxyType client = new SanboxSoapAPI.YourProxyType(); 

또는 사용 using SandboxSoapAPI;.

+0

감사합니다. 그래서 나는 Reference.cs에서 [projectnamespace] .WebServiceReferenceName을 볼 수 있고 그 인스턴스를 생성하려고하는 C# 클래스에서 [projectnamespace] .WebServiceReferenceName을 사용하고있다. SandboxSoapApi를 가리키면 나타나는 메시지는 "예상되는 이름 입력하지만 네임 스페이스 이름을 찾았습니다." – PositiveGuy

+0

예, 제 편집을 봅니다. –

+0

아 감사합니다. 나는 클라이언트를위한 추가적인 proxyType이 있다는 것을 몰랐다. 나는 그 자체가 하나의 객체라고 생각했다. – PositiveGuy

관련 문제