2013-11-21 5 views
7

한 데이터베이스 (Visual Fox Pro)에서 데이터를 읽고 SQL 서버에 저장하는 상속 된 코드로 작업합니다. 이들은 별도의 시스템이며 WebService를 사용하여 VFP에서 데이터가 포함 된 XML을 전송합니다.WebServiceRef Reference.cs 파일을 생성하는 이유는 무엇입니까?

필드가 두 데이터베이스에 모두 추가되었으며 데이터가 VFP 데이터베이스에 시드되었지만 데이터를 동기화 할 WebService에 문제가 있습니다. WebService가 올바르게 생성되어 XML (새로운 필드 및 데이터와 함께)을 전송하는 것으로 보이지만 .NET 응용 프로그램에서 처리하는 모델이 올바르게 생성되지 않고이 새로운 필드로 아무 작업도 수행되지 않는 것으로 보입니다.

개체 브라우저에서 'OnlineAudienceWebServiceRef'가 표시되는 동안 OnlineAudienceDAL.OnlineAudienceFoxProRow가 나타나며 모델의 열에 대한 설명이 포함 된 것으로 보입니다. 이 객체에 새 열을 추가하려고합니다 (새 데이터를 받기 위해)하지만 자동 생성 된 것처럼 보입니다.

기본적으로 Visual Studio가 WebService에 링크되어있을 때 내 질문이 근본적으로 무엇입니까? 어떤 파일이 생성되며 어떻게 생성됩니까?

웹 서비스가 새 데이터를 올바르게 전송한다고 가정하면 솔루션 탐색기에서 '웹 참조 업데이트'를 클릭하면 Refs가 업데이트 될 것으로 예상했지만 분명히 그렇지 않습니다. 그리고 나는 무엇이 진행되고 있는지 알고 싶습니다. 에.

새 열을 추가 한 'OnlineAudienceDAL.xsd'가 있지만 데이터를 읽는 데 사용 된 개체에는 영향을주지 않습니다. 응용 프로그램은 .NET의 V4를 사용하는의 App.config에 따르면

, 우리는 내가 .NET 여기에 가고있는 많은 것들에 익숙하지 않은 나는 Visual Studio 2010에서 Visual Studio 2010을

을 사용하고 싶습니다 좋은 방향으로 지적했다. 죄송합니다. 혼란 스럽다면 누락 된 정보와 명확하지 않은 정보를 알려주십시오.

도움 주셔서 감사합니다.

답변

8

이것은 예를 들어 로컬 폴더에있는 WSDL (또는 XSD) 파일이있는 경우 수동으로 웹 서비스를 생성하기 위해 비주얼 스튜디오에서 사용하는 명령 줄 유틸리티입니다. (WSDL은 웹 서비스 정의 파일입니다.)

내 경우 배치 파일에 있습니다 ... 또한 VB 파일을 생성하지만 C#으로 전환하기 쉽습니다. 마지막 명령 줄 인수로 가정합니다. \의 Program Files (x86)를 \ 마이크로 소프트 비주얼 스튜디오 8 \ SDK \ V2 :

cd C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\Bin 
wsdl.exe "c:\development\WebServiceClients\CORE_Webservice_Interface_WS.wsdl" /fields /n:Telus /out:"c:\Development\output\WebServiceClients\referencefile.vb" /l:VB 

WSDL.EXE이의 핵심 ... 아래의 옵션은 ...

C이다 .0 \ Bin> wsdl /? Microsoft (R) 웹 서비스 설명 언어 유틸리티 [Microsoft (R) .NET Framework, 버전 2.0.50727.42] Copyright (C) Microsoft Corporation. 판권 소유.

wsdl.exe - 유틸리티 WSDL 계약 파일, XSD 스키마와 에서 ASP.NET을 사용하여 XML 웹 서비스 클라이언트 및 XML 웹 서비스 코드를 생성합니다. 발견 문서를 해제하십시오. 이 도구는 disco.exe와 함께 사용할 수 있습니다.

wsdl.exe ...

  • 옵션 -

- URL 또는 경로는 WSDL 계약, XSD 스키마 또는 .discomap 문서.

/nologo 배너를 억제합니다.

/언어 : 생성 된 프록시 클래스에 사용할 언어입니다. 'CS', 'VB', 'JS', 'VJS', 'CPP'중에서 선택하거나 System.CodeDom.Compiler.CodeDomProvider를 구현하는 클래스의 정규화 된 이름을 제공하십시오. 기본 언어는 이며 'CS'(CSharp)입니다. 약식은 '/ l :'입니다.

/sharetypees 유형 공유 기능을 켭니다. 이 기능은 다른 서비스 (네임 스페이스, 이름 및 와이어 서명이 동일해야 함)간에 공유되는 동일한 유형에 대한 단일 유형 정의 인 과 함께 하나의 코드 파일을 생성합니다. http : // URL을 사용하는 서비스를 명령 줄 매개 변수 으로 참조하거나 로컬 파일에 대한 discomap 문서를 만듭니다.

/verbose /sharetypes 스위치가 지정되면 추가 정보를 표시합니다. 약식은 '/ v'입니다.

/fields 속성 대신 필드를 생성하십시오. 짧은 양식은 '/ f'입니다.

/order 입자 구성원에 명시적인 순서 식별자를 생성하십시오.

/enableDataBinding 데이터 바인딩을 사용하려면 생성 된 모든 유형에 INotifyPropertyChanged 인터페이스를 구현하십시오. 짧은 양식은 '/ edb'입니다.

/namespace : 생성 된 프록시 또는 템플릿의 네임 스페이스. 기본 네임 스페이스 은 전역 네임 스페이스입니다. 약식은 '/ n :'입니다.

/out : 생성 된 프록시 코드의 파일 이름 또는 디렉토리 경로. 기본 파일 이름은 서비스 이름에서 파생됩니다. 짧은 양식은 '/ o :'입니다.

/프로토콜 : 구현할 기본 프로토콜을 덮어 씁니다. 'SOAP', 'SOAP12', 'HttpGet', 'HttpPost'중에서 선택하십시오.

/사용자 이름 : 는/암호 : /도메인 : 이 인증이 필요한 서버에 연결할 때 자격 증명을 사용합니다. 짧은 양식은 '/ u :', '/ p :'및 '/ d :'입니다.

/proxy : http 요청에 사용할 프록시 서버의 URL입니다. 기본값은 시스템 프록시 설정을 사용하는 것입니다.

/proxyusername : /된 proxyPassword : /proxydomain 다음 인증이 필요한 프록시 서버에 연결할 때 자격 증명을 사용합니다. 짧은 양식은 '/ pu :', '/ pp :'및 '/ pd :'입니다.

/appsettingurlkey : 코드 생성시 Url 속성의 기본값 인 값을 읽는 데 사용하는 구성 키입니다. 기본값은 config 파일에서 읽지 않습니다. 약식은 '/ urlkey :'입니다.

/appsettingbaseurl : URL 조각을 계산할 때 사용할 기본 URL입니다. appsettingurlkey 옵션도 지정해야합니다. url 조각은 이며, appsettingbaseurl 에서 WSDL 문서의 url에 대한 상대 URL을 계산 한 결과입니다. 약식은 '/ baseurl :'입니다.

/parsableerrors 컴파일러에서보고 한 것과 유사한 형식으로 오류를 인쇄하십시오.

  • 고급은 -

/서버 서버 스위치는 사용되지 않습니다. 대신/serverInterface를 사용하십시오. 계약을 기반으로 ASP.NET을 사용하여 XML 웹 서비스 구현을위한 추상 클래스를 생성합니다. 기본값은 클라이언트 프록시 클래스를 생성하는 것입니다.

/serverInterface ASP.Net 웹 서비스의 서버 측 구현을위한 인터페이스를 생성합니다. 인터페이스는 wsdl 문서의 각 바인딩에 대해 생성됩니다. wsdl만이 wsdl 계약을 구현합니다. 인터페이스를 구현하는 클래스 은 클래스 메소드에 다음 중 하나 (웹 서비스 속성 또는 wsdl 계약을 변경하는 속성의 직렬화)를 포함하면 안됩니다. 짧은 양식은 '/ si'입니다.

/매개 변수 : 지정된 xml 파일의 명령 줄 옵션을 읽습니다. 이를 통해 은 을 선택하는 것과 같은 명령 줄에서 사용할 수없는 옵션을 지정할 수 있습니다. 어떤 유형의 비동기 프로그래밍 모델이 생성됩니까? 자세한 내용은 도구 설명서를 참조하십시오. 약식은 '/ par :'입니다.

관련 문제