태그 보관물: wcf

wcf

Java 웹 서비스에서 WCF 로의 상호 운용성 놀랍게도 문제가있는 것 같습니다. 좋은 자원이 있습니까? 않은 것 같습니다

최근 프로젝트를 통해 .Net 기반 개발자 팀은 전 세계의 모든 Java 기반 웹 서비스와 통합하는 임무를 수행했으며 실제로 놀랍게도 (더 이상 놀라지 않을 것입니다) 많은 문제를 겪었습니다. WCF에 의해 생성 된 XML은 Java 서비스에서 허용되지 않기 때문입니다.

또한이 주제에 관해 찾을만한 좋은 정보가 많지 않은 것 같습니다 .Yaron Nave의 우수한 WCF 블로그 인 http://webservices20.blogspot.com 및 MSDN WCF 포럼 http 에서 유용한 팁을 얻었습니다 . //social.msdn.microsoft.com/Forums/en-US/wcf/threads .

여기에 그들이 진정으로 있다고 생각하고 그 주제에 대한 결정적인 자원을 알고있는 사람이 있습니까? 책, 블로그 또는 웹 사이트에 대한 팁에 관심이 있습니다.

편집 :
나는이 스레드에서 허용되는 답변을 설정하는 데
어려움을 겪고 있습니다. 두 가지 최고의 답변 각각에 약간의 가치가 있기 때문입니다. 1. WCF와 싸우는 대신 HTTP 웹 요청 구현을 더 많이 수행하게 될 것입니다.
2. 그러나 WCF Express Interop Bindings 1.0도 매우 합리적인 팁이었습니다.



답변

아 그렇다 … SOAP, 컴퓨터의 성배. 전세계 시스템 간 상호 운용을 약속 한 링구아 프랑카.

그런 다음 Java와 PHP 및 .NET에서 SOAP 구현의 차이점을 알게됩니다. 또는 WebSphere SOAP 서비스와 Apache SOAP 클라이언트 간에도 가능합니다. 다른 WS-I 호환성 표준을 다루는 것을 신경 쓰지 마십시오. 당신이 프로토콜에 대한 호환성 표준이 필요한 이유 이제 제발 말해 호환성을 위해 만들어진 아이러니에 대한, 이야기를 (내가 진짜 아이러니를 의미 아이러니하지 앨라니스 Morrissette 브랜드 ).

두 SOAP 엔드 포인트가 통신하는 데 문제가 발생하지 않는 유일한 시간은 두 플랫폼이 모두 동일한 플랫폼에 있고 대부분의 경우 플랫폼에보다 효율적인 원격 작업 프로토콜이있는 경우입니다.

여기서 말하는 것은 SOAP이 쓸모 없다는 것입니다. 이제 소문자 비누를 매일 사용하고 대부분의 사람들이 똑같이 해줘서 고맙습니다.

그것은 당신이 벽돌 벽에 머리를 때리는 것을 주장한다면 말입니다. 여기에 좋은 장소입니다 시작 마이크로 소프트의 주요 자바 서버의 대부분 상호 운용성 수 있도록 바인딩 세트를 가지고는. 물론 재미있는 부분은 어떤 서비스를 통합하고 있는지 알아내는 것입니다.


답변

내 의견으로는, 당신의 관찰은 매우 정확합니다. XML 기반 통신의 높은 수준의 구현 둘 다 “SOAP”라고 하더라도 일반적으로 다른 플랫폼과 호환되지 않습니다 . 구현의 미묘한 차이는 아마도 구현 된 표준 범위 내에서 실제 사용에 문제를 일으 킵니다.

서비스 제공 업체에 대한 나의 추천 :
매우 복잡하고 이론적으로 더 나은 구현보다는 단순한 구현을 사용하십시오. 예를 들어, 매우 복잡한 인증 체계가 필요하지 않은 경우 포함하지 마십시오.

서비스 소비자에 대한 나의 권장 사항 (귀하가 생각합니다) :
귀하의 플랫폼과 다른 플랫폼에서 높은 수준의 구현과 통신 할 때는 낮은 수준의 구현으로 저하하십시오. 실제로 전송할 XML이 무엇인지 파악한 다음 정상적인 코딩 방법을 사용하여 자체 플랫폼의 높은 수준의 구현 사용을 주장하는 대신 갑자기 간단 해집니다.

너무 추상적이지 않기를 바랍니다. 간단히 말해서 Java 플랫폼에 연결하는 .NET 플랫폼에있을 때 간단히 HttpWebRequest에서 헤더와 XML을 어셈블하여 전송하는 것이 좋습니다.


답변

PHP 웹 서비스를 소비하는데도 같은 문제가 있습니다.

이에 대한 유일한 대답은 프로토콜 유형을 SOAP가 아닌 REST로 변경하는 것입니다. 우리는 SOAP을 상호 운용 할 수 없었습니다.


답변