문제

프로젝트에 유형을 공유하는 수많은 웹 서비스가 있습니다.

단순화를 위해 두 가지 웹 서비스로 시연 할 것입니다.

webservice1 at http : //myserver/webservice.asmxwebservice2 at http : //myserver/webservice.asmx

내가 사용하는이 두 서비스에 대한 프록시를 생성 할 때 :

WSDL /ShareTypes http : //myserver/webservice1.asmx http : //myserver/webservice2.asmx/AppSettingUrlKey : WebServiceUrl /namespace : mynamespace /out:myproxy.cs

문제는 AppSetTingUrlKey가 프록시 파일의 각 웹 서비스에 대해 동일하다는 것입니다. 여러 AppSettingUrlKey 매개 변수를 지정하고 싶습니다. 이것은 어떻게 성취됩니까? /shareTypes 매개 변수를 사용할 수있게되었으므로 식별 된 각 웹 서비스에 대해 특별히 AppSetTingUrlKey를 지정하는 솔루션이 있어야합니다.

이것이 wsdl.exe에서는 불가능하다면 내가 무엇을 제안 하시겠습니까? 차라리 wsdl.exe 출력이 생성 된 코드를 업데이트하지 않으려 고 WSDL.exe 출력을 업데이트하지 않으려 고 웹 서비스의 각 인스턴스로 URL을 통과하는 전체 응용 프로그램을 사용하고 싶지 않습니다.

도움이 되었습니까?

해결책

생성 된 프록시 클래스는 부분 클래스이므로 내 솔루션은 다른 (생성되지 않은) 코드 파일에 자신의 생성자를 추가하는 것이며, 이는 각 프록시에 대해 다른 설정을 명시 적으로 읽습니다.

다른 팁

엘리야 자신의 답변을 고용하기 위해 여기에 내가 준 이메일 답변이 있습니다.

XML 이이 텍스트 상자에 잘 붙여지지 않았기 때문에 블로그를 작성해야했습니다. http://www.rickdoes.net/blog/archive/2008/09/29/wsdl-shared-types-and-configuration.aspx

AHH, URL을 지나가는 과부하 생성자가있는 다른 부분 클래스를 작성하는 대신 WSDL.exe에 다음과 같은 추가 매개 변수가 내 문제를 해결합니다 ...

WSDL /ShareTypes http : //myserver/webservice1.asmx http : //myserver/webservice2.asmx /AppSettingUrlKey : WebServiceUrl /namespace : mynamespace /out:myproxy.cs /AppSettingUrlKey : BaseSoapurl /AppSettingBaseUrl :http : // myserver/

web.config에 Basesoapurl appsetting이 있으면이를 대체하는 데 사용됩니다. http : // myserver/ myproxy.cs의 하위 문자열. AppSetting이 존재하지 않으면 wsdl.exe에 제공된 경로 만 사용합니다 (예 : Appsetting 또는 AppSetting 또는 AppSetting 또는 AppSetting 또는 AppSetting 또는 http : //myserver/webservice1.asmx appSetting을 사용하지 않을 때).

Rick Kierner에게 올바른 방향으로 나를 지적 해 주셔서 감사합니다.

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