2015-01-09 7 views
0

나는 자바 프로그래머이며 다른 회사의 공급자가 구현해야하는 웹 서비스를 정의하는 WSDL을 만들었 기 때문에 시스템에서 다른 공급자를 동일한 방식으로 호출 할 수 있습니다. Java에서 WSDL로 작업하면 정상적으로 작동합니다. 함께 작동하는 서버와 클라이언트를 생성 할 수 있으며 Endpoint.publish (URL)는 WSDL을 존중하고 추가 주석과 대체 된 service-url로 게시합니다.웹 서비스를 생성 할 때 .NET에서 WSDL을 보존 할 수 있습니까?

이제 서비스 제공자 중 하나가 .NET asmx를 사용하여 서비스를 구현합니다. 이는 (https://<providers-service-url>?WSDL으로 표시되는 것처럼) WSDL을 완전히 변형하는 것으로 보이며 생성 된 클래스를 사용할 때 서비스가 실패합니다 wsdl은) 서비스를 호출합니다. 오류는 NPE와 동일한 .NET을 나타냅니다. SOAPUI는 실행중인 서비스를 가리킬 때 잘 작동합니다.

나는 제공자가 자신의 서비스를 생성하기 위해

wsdl.exe /serverInterface <my.wsdl> 

를 사용 믿습니다.

그래서 거기 모든 .NET 전문가에 대한 질문이 있습니다 : 그것은 고객과 원래의 WSDL에서 생성 작동 있도록

어떻게 공급자가 서비스를 생성해야합니까?

.NET 서비스가 원본 WSDL을 보존 할 수 있으므로 https://<providers-service-url>?WSDL은 원래 WSDL과 거의 동일합니까? 모든 입력에 대한

감사합니다.

답변

0

WSDL은 실제로 서비스를 구현하는 사람들이 어떤 메소드가 노출되어 있는지와 엔드 포인트 등을 볼 수있게 해주는 일종의 명세 문서입니다. 과거 .NET을 사용하여 Java 웹 서비스를 사용했고 실제로 WSDL 파일은 다소 사소한 역할을합니다. .NET 개발자는 Visual Studio IDE를 통해 서비스에 대한 참조를 간단히 만들 수 있습니다. 이렇게하면 다양한 방법을 구현하는 데 필요한 클래스를 만들 수 있습니다. 물론 그는 보안 모델이 무엇인지 알아야 올바른 바인딩을 구현할 수 있습니다. 많은 사람들은 Java가 .NET에서 훌륭하게 작동하지 않는다고 말할 것입니다. 확실히 그 점에서 극복해야 할 이상한 장애물이 있습니다. 그러나 .NET에서 소비 할 수 없었던 Java 웹 서비스를 직접 접할 수는 없습니다. .

+0

감사합니다. Eric,하지만 나는 자신을 분명히했는지 확신 할 수 없습니다. 클라이언트를 생성하고 공급자가 .NET에서 만든 서비스를 사용하는 데 문제가 없습니다. 원래 WSDL을 잊어 버렸지 만 WSDL에서 클라이언트 클래스를 생성하고 공급자가 .NET에서 서비스를 생성하도록해야합니다. 내 고객에게 웹 서비스를 알려주십시오. 그러나 서비스 생성 방식이 서비스 (및 게시 된 WSDL)를 변경 했으므로 호출이 실패합니다. 그래서 제 경우에는 WSDL이 문제의 핵심입니다. –