2013-05-10 2 views
0

C#으로 코딩 된 웹 서비스에 액세스하고 있습니다. vb.net에서 응용 프로그램을 코딩하고 있습니다. webservice의 소유자는 최근 열거 형에 몇 가지 값을 추가하고 WSDL에 노출 된 클래스에 다른 문자열 값을 추가하여 WSDL 강화 기능을 향상 시켰습니다.WSDL이 vb.net 어플리케이션을 중단시키는 이유는 무엇입니까?

파트너가이 WSDL을 업데이트하면 응용 프로그램에서 값을 내 개체에 올바르게 바인딩하지 못했습니다. 내 개체의 일부는 값으로 채워졌지만 개체의 일부는 NULL이 아니 었습니다.

준수 코드를 열고 웹 참조를 업데이트했으며 코드가 다시 작동하기 시작했습니다. 내 코드는 정상적으로 작동하지만 왜 이런 일이 일어 났는지 이해하려고 노력하고 있습니다. VB.net에서 코딩의 일부 유물입니까? 아니면 다루어야 할 것입니까? 내 관심사는 앞으로의 계획을위한 것입니다.

도움 주셔서 감사합니다.

답변

0

API를 변경하여 이전 API와의 호환성을 깨뜨렸습니다. WSDL을 게시 했으므로 변경 사항을보다 쉽게 ​​해결할 수 있었지만 업데이트 된 웹 서비스가 실행되면 원래 WSDL로 작성된 클라이언트가 작동 할 것인가 (변경의 성격에 따라 다름)가 작동하지 않을 수 있습니다. 이 언어가 다른 어떤 언어에서도 일어 났을 것이라는 점을 기억하십시오. 이러한 단절을 관리하는 일반적인 방법은 업데이트 된 WSDL을 다른 URL (일반적으로 URL의 버전 번호)에 호스팅하는 것입니다. 이렇게하면 다른 버전을 병렬로 실행하고 이전 응용 프로그램을 손상시키지 않게됩니다. 때때로 API를 해독해야하므로 고객과의 원활한 의사 소통이 중요합니다. 저는 개발자에게 도움이되는 오류 메시지가있는 읽기 전용 API를 먼저 사용하지 않기를 권장합니다. 개발자에게 도움이되는 내용을 이해하고, 비난 된 API에 대한 API 호출을 확인하는 즉시 전자 메일을 시작하거나 전화를받습니다. 이것은 PayPal에서는 분명히 효과가 없을 것입니다. 그러나 옵션이라면 파트너를 행복하게 유지할 수 있으며, 지금까지 내 시간의 가치가 있습니다.

관련 문제