비교적 작은 문제가 있습니다. 내 응용 프로그램과 타사 프로그램을 개발하고 인터페이스하고 있습니다. 이 둘 사이의 통신은 SOAP 웹 서비스에 의해 이루어진다. 그들은 나에게 데이터를 받고 보내는데 사용할 wsdl을 제공했다. wsdl.exe 도구를 사용하여 서비스 인터페이스와 클라이언트를 만들었습니다. 생성하는 동안 오류나 경고가 없습니다.생성 된 SOAP 서비스 인터페이스가 올바른 네임 스페이스에 없습니다.
문제는 생성 된 코드 네임 스페이스에서 비롯됩니다. 인터페이스에 정의 된 것을 사용하는 대신 tempuri.org를 사용합니다. 좋아, 더 큰 문제는, 내가
[ServiceContract (Namespace = "theDesiredNamespace")]
문제의 네임 스페이스를 정의 할 수없는 것은 내가
http://theDesiredNamespace/myMethod
에서 내 웹 서비스 방법에 대한 액세스를 제공하려면 대신 내 서비스가 그것을 제공하는 것입니다 :
http://theDesiredNamespace/nameOfTheInterface/myMethod
여기서 nameOfTheInterface는 wsdl 도구가 자동으로 생성 한 인터페이스의 이름입니다.
내가 어떻게 처리 할 수 있는지에 대한 조언이 있으십니까? 가장 쉬운 해결책은 실제로 제 3 자에게 내 새로운 wsdl 버전을 보내야한다는 것입니다 (완료되어야 함). 그러나 나는 선택의 여지가 없습니다.
이 문제를 해결할 수있는 방법이 있습니까?
답장을 보내 주셔서 감사합니다. Wmf가 아닌 ASMX 웹 서비스의 경우 wsdl에 동의하지만 어떻게 서버 인터페이스 코드를 생성합니까? 그렇다면 XML 네임 스페이스와 내가 액세스 할 수있는 URL의 차이점을 이해할 수 있지만 원하는 방식으로이 URL을 설정하는 것은 어렵습니다. 내가 원하지 않는 인터페이스 이름을 자동으로 추가합니다. [ServiceContract]의 url에 사용 된 네임 스페이스를 설정했지만 그와 내 메소드 이름 사이에 인터페이스 이름을 계속 추가합니다. – srodriguez
svcutil.exe 명령을 사용하십시오. –