.NET이 아닌 클라이언트에 대해 SOAP 인터페이스를 노출하기 위해 WCF를 사용할 때 발생하는 문제를 아는 사람이 있습니까?

StackOverflow https://stackoverflow.com/questions/109083

문제

.NET이 아닌 클라이언트에 대해 SOAP 인터페이스를 노출하기 위해 WCF를 사용할 때 발생하는 문제를 아는 사람이 있습니까?예를 들어 다른 SOAP 라이브러리와의 비호환성?

이는 제3자가 당사 소프트웨어와 통합할 수 있도록 SOAP 인터페이스를 공개할 수 있도록 하기 위한 것입니다.

도움이 되었습니까?

해결책

WCF에서 직면한 몇 가지 문제 영역은 다음과 같습니다.

  • 여러 URL에 걸쳐 분할되는 WSDL을 생성합니다.즉, 스키마의 한 부분은 한 URL에 있고 다른 부분은 다른 URL에 있습니다."메인"WSDL URL (서비스 이름 이후 "? WSDL"이있는 사람)은 다른 것을 통해 다른 사람을 참조합니다. xsd:import강요.많은 SOAP 클라이언트(예: .NET 이전 Delphi)는 이 관용어를 사용하는 데 엄청난 어려움을 겪습니다.따라서 실제로 상호 운용성을 달성하려면 WSDL을 "평면화"해야 합니다.하나의 솔루션이 제공됩니다. 여기.
  • WCF는 ASMX 웹 서비스와 같은 방식으로 XML 네임 스페이스를 생성하지 않습니다.WCF는 서비스 또는 데이터 계약을 자체 선택의 네임 스페이스에 배치하는 경향이 있습니다.다시 말하지만 일부 SOAP 클라이언트는 이에 어려움을 겪습니다.ServiceContract 및 DataContract 특성에 명시적 네임스페이스를 추가하여 상호 운용성 수준을 높일 수 있습니다.
  • 많은 비누 클라이언트는 WCF 클라이언트만큼 좋은 결함을 처리하지 않습니다.예를 들어, 프록시 생성 코드는 WSDL에서 선언 된 결함에 대한 클라이언트 측 객체를 생성하지 않습니다.물론 결함은 여전히 ​​클라이언트에게 전송 될 것이지만, 고객은 어떤 결함이 있는지 알아 내기 위해 더 많은 작업을 수행해야합니다.

다른 팁

WS-* 표준 스택 버전도 상호 운용성 문제가 될 수 있습니다. 예를 들어 일부 Java 구현에서 지원되는 WS-Addressing(2003) 버전, 예를 들어 Oracle BPEL은 최신 초안 및 1.0 버전을 지원하지만 WCF에서는 지원되지 않습니다. 2003년 초

일반적으로 모든 것이 잘 작동합니다.이는 분명히 사용 중인 클라이언트에 따라 다릅니다. 모든 사람이 SOAP를 올바르게 구현하는 것은 아닙니다.

추신더 구체적인 답변을 원하시면 질문을 다시 말씀해 주시겠습니까?

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top