2010-03-31 8 views
0

웹 서비스를 설명하는 WSDL 1.1 파일이 있습니다. 이제 ASP.NET 3.5를 사용하는 메소드에 액세스해야합니다.ASP.NET 3.5에서 WSDL 1.1 파일에 액세스하는 방법

wsdl.exe 유틸리티를 사용하려고했지만이 유틸리티는 WSDL 2.0 형식 만 사용한다고 생각합니다. 당신을 가정

답변

0

는 wsdl.exe에 대한 WSDL 1.1 및 WSDL 2.0 사이에는 차이가 없습니다. .wsdl 파일에 오류가 있습니다. 이 코드는 :

<message name='PurchaseResponse'> 
    <part name='result' element='xsd:string'/> 
</message> 

은 다음과 같아야합니다

<message name='PurchaseResponse'> 
    <part name='result' type='xsd:string'/> 
</message> 
0

오른쪽 참조하면 선택은 당신이 원하는 방법에 웹 참조 이름 텍스트 상자 유형에 웹 서비스 에 "... 웹 참조 추가"URL을 입력 프로젝트의 폴더를 클릭 VS 2008 를 사용하는 그것을 참조하십시오. 따라서 인벤토리 확장 유형 인벤토리의 경우

당신이 client.Method()를 웹 서비스의 메서드를 호출하려면 Inventory.ProductSoapClient 클라이언트 = 새로운 Inventory.ProductSoapClient()

를 사용하는 것이 코드에서 개체를 만들려면;

+0

나는 웹 참조를 추가 할 수 있지만 VS는 서비스의 메서드에 액세스하는 프록시 클래스를 생성하지 않습니다. "인벤토리"참조를 추가하면 클래스 인벤토리 등이 없습니다. 실제로 WSDL 서비스가 asmx가 아닌 것은 무엇입니까? URL 끝의 wsdl은 WSDL 1.1 형식의 .wsdl 파일입니다. 내 생각에 VS2008 WSDL 2.0 기다렸다고 생각해. – ck3g

0

.NET Framework 1.1 및 SDK 1.1을 설치했습니다. .NET 1.1은 WSDL 1.1 (SDK 1.1과 WSDL 1.1은 우연의 일치로, WSDL 1.1 용 SDK 1.1 또는 WSDL 2.0 용 SDK 2.0)을 의미하기 때문에 테스트를 위해 나에게 도움이 될 수 있다고 생각했습니다. SDK 2.0의 wsdl.exe를 사용하는 경우 오류 메시지가 저장됩니다.

오류 메시지의 의미 : 오류 : 인코딩 된 메시지 부분에 요소 특성을 사용할 수 없습니다. 잘못된 부분은 'PurchaseResponse'메시지에서 'result'로 명명됩니다. 코드의

부분은 다음과 같습니다

<message name='PurchaseResponse'> 
    <part name='result' element='xsd:string'/> 
</message> 
관련 문제