2012-10-12 3 views
1

웹 서비스 네임 스페이스에 문제가 있습니다. 그것은 내 컴퓨터에서 잘 작동하지만, 팀 파운데이션 서버에 업로드 할 때, 다른 사람들에게는 작동하지 않습니다.웹 서비스 네임 스페이스

자신의 응용 프로그램에서 'Sentry.SAID'네임 스페이스에있는 웹 서비스 (나의 코드 'Sentry.SAID'는에서 'Sentry.SAID.Web'응용 프로그램에

Imports System.Web.Services 
Imports System.Web.Services.Protocols 
Imports System.ComponentModel 
Imports Sentry.SAID.Core 
Imports Sentry.SAID.Web 

<System.Web.Services.WebService(Namespace:="http://localhost")> _ 
<System.Web.Services.WebServiceBinding(ConformsTo:=WsiProfiles.BasicProfile1_1)> _ 
<ToolboxItem(False)> _ 
Public Class Powerbeatws 
    Inherits System.Web.Services.WebService 

XML 파일 내가/Powerbeatws.asmx을 localhost에 엔드 포인트 주소를 변경하는 경우 네임 스페이스

 <system.serviceModel> 
    <bindings> 
     <basicHttpBinding> 
     <binding name="PowerbeatwsSoap" closeTimeout="00:01:00" openTimeout="00:01:00" 
     receiveTimeout="00:10:00" sendTimeout="00:01:00" allowCookies="false" 
     bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard" 
     maxBufferSize="11000000" maxBufferPoolSize="524288" 
     maxReceivedMessageSize="11000000" 
     messageEncoding="Text" textEncoding="utf-8" transferMode="Buffered" 
     useDefaultWebProxy="true"> 
      <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384" 
      maxBytesPerRead="4096" maxNameTableCharCount="16384" /> 
      <security mode="None"> 
      <transport clientCredentialType="None" proxyCredentialType="None" 
      realm="" /> 
      <message clientCredentialType="UserName" algorithmSuite="Default" /> 
      </security> 
     </binding> 
     </basicHttpBinding> 
    </bindings> 
    <client> 
     <endpoint address="http://localhost:62862/Powerbeatws.asmx" binding="basicHttpBinding" 
     bindingConfiguration="PowerbeatwsSoap" contract="PowerbeatSR.PowerbeatwsSoap" 
     name="PowerbeatwsSoap" /> 
    </client> 
    </system.serviceModel> 

, 그것은 오류가 발생합니다. 어떤 생각이 나는이 localhost를 사용하여 별도의 컴퓨터에서 작업을 얻을 수있는 방법은?

현재 g로를 다른 컴퓨터에서 작동하려면 새 서비스 참조를 추가해야합니다.

+0

로컬 컴퓨터에서 62862 포트로 서비스를 실행한다고 가정하면 서비스를 호스팅하는 서비스 포트 번호가 다를 수 있습니다. – Pepto

+0

각 시스템의 서비스 포트 번호가 변경됩니다. –

+0

네임 스페이스의'http : // localhost'는 설정 파일의'http : // localhost : 62862'와 아무 관련이 없습니다. 그들은 완전히 무관하다. –

답변

0

웹 서비스에는 호스팅되는 서비스와 클라이언트가 소비하는 두 개의 엔티티가 있습니다.

둘 다 바인딩에 localhost를 사용하는 경우 동일한 포트 번호를 사용해야하거나 TFS에서 코드를 다운로드하는 사람은 localhost : 62862에서 서비스가 실행중인 포트로 끝점 바인딩을 변경해야합니다.

웹 서비스의 구성을 통해 또는 잘 알려진 포트가 모든 사람에 의해 사용되는 코드를 통해 특정 호스팅 주소를 만들 수 있습니다. 엔드 포인트 Y 인딩을 localhost : 51000으로 변경하고 서비스 호스트가 포트 51000에서 청취하고 있는지 확인하십시오.

팀이 문제는 로컬 호스트에서 동일한 포트 번호를 사용하지 않아서 바인딩이 작동하지 않는다고 생각합니다. 포트 62862에서 서비스를 호스팅하기 때문에 컴퓨터에서 작동합니다.

잘못 될 수 있습니다. 웹 서비스 코드를 공유 할 때 흔히 볼 수있는 문제는 아니지만 예외가 무엇인지 알 수는 없습니다.