POST와 GET을 모두 내 웹 서비스에서 실행하는 데 실망한 시간을 보내고 있습니다. 멈추고, 차게해서 무엇이 잘못되었는지 알아 내야합니다.간단한 WCF 서비스 작동에 문제가 있습니다.
나는 문자열을 가져 와서 반향하는 매우 간단한 방법으로 분류했습니다. 이것은 localhost에서 설정 한 IIS에서 작동하지만 제작 상자에서 작동하지만 동일한 구성이 테스트 시스템을 손상시킵니다. 제가 뭘 잘못하고 있는지 알려주세요. 액세스 할 때 :
http://test.softwaredesignexcellence.com/WebPostService/WebPostSvc.svc/json/Test?testtext=test%20me
을 나는 텍스트 "서비스"를 알리는 작은 텍스트의 서브 헤더 대담한 헤더 페이지를 얻고있다 "발견되지 엔드 포인트를.". 왜이 메시지가 나타 납니까? 동일한 서비스가 쿼리 문자열 "http : //localhost/Services/WebPostSvc.svc/json/Test? testtext = test % 20me"을 사용하여 로컬 호스트에서 작동합니다. 그것은 약간 다른 응답을주고 내부이기 때문에,
<string>Echoing test me</string>
프로덕션 서버, 난에 대한 링크를 넣지 수 있지만, 그것은 여전히 잘 작동하고 : 나는 반응을 얻고있다
<string xmlns="http://schemas.microsoft.com/2003/10/Serialization/">Echoing test me</string>
로컬로 게시 할 때 로컬 웹 서버에 충돌하면 모든 것이 효과적입니다. 게시 된 폴더를 프로덕션 서버에 복사하고 해당 서버에 비슷한 URL을 입력하면 모든 것이 작동하고 동일한 코드와 동일한 설정이 테스트 서버에 보내지고 위에 나열된 오류 (종점 찾을 수 없습니다.). 테스트 서버에서 간단한 서비스를 실행하지 못하게하는 것이 무엇인지 이해하지 못합니까? 웹 서비스
인터페이스 :
[ServiceContract(Namespace="http://services.alorica.com/WebPostSvc/1.0")]
public interface IWebPostSvc
{
[OperationContract]
[WebGet]
string Test(string testtext);
}
이 내가 작업을 얻기 위해 노력하고 간단한 방법이다 : 나는 바이올린을 켜는 된대로
[WebService(Namespace = "http://services.alorica.com/WebPostSvc/1.0")]
[ServiceBehavior(Namespace = "http://services.alorica.com/WebPostSvc/1.0")]
public class WebPostSvc : IWebPostSvc
{
public string Test(string testtext)
{
return String.Format("Echoing {0}", testtext);
}
}
내 설정
는 unweildy지고있다 그들 모두가 작동하도록 노력하고 있습니다. 업데이트 - serviceHostingEnvironment 섹션을 제거했습니다. 웹 서비스가 아직 작동 중이며 SOAP로 작업하고 있지만 json이 여전히 "엔드 포인트를 찾을 수 없습니다"라는 정보를 제공하고 있습니다. WebGet이에 UriTemplate을 추가 할 수<system.serviceModel>
<!-- Set up Custom Behaviors -->
<behaviors>
<endpointBehaviors>
<behavior name="jsonBehavior">
<webHttp/>
</behavior>
</endpointBehaviors>
<serviceBehaviors>
<behavior name="SvcMetaBehavior" >
<serviceMetadata httpGetEnabled="true" />
<serviceDebug includeExceptionDetailInFaults="false" />
</behavior>
</serviceBehaviors>
</behaviors>
<!-- Set up the binding configuration -->
<bindings>
<basicHttpBinding>
<binding name="SOAPBinding">
<security mode="None">
</security>
</binding>
</basicHttpBinding>
<webHttpBinding>
<binding name="JSONBinding"
hostNameComparisonMode="StrongWildcard"
receiveTimeout="00:10:00"
sendTimeout="00:10:00"
openTimeout="00:10:00"
closeTimeout="00:10:00"
maxReceivedMessageSize="1000000"
maxBufferPoolSize="2000000"
bypassProxyOnLocal="false"
useDefaultWebProxy="true" >
<security mode="None">
</security>
</binding>
</webHttpBinding>
</bindings>
<services>
<!-- -->
<service behaviorConfiguration="SvcMetaBehavior"
name="WebPostService.WebPostSvc"
>
<endpoint address="soap"
binding="basicHttpBinding"
bindingConfiguration="SOAPBinding"
contract="WebPostService.IWebPostSvc"
/>
<endpoint address="json"
binding="webHttpBinding"
bindingConfiguration="JSONBinding"
behaviorConfiguration="jsonBehavior"
contract="WebPostService.IWebPostSvc"
/>
<endpoint contract="IMetadataExchange" binding="mexHttpBinding" address="mex" />
</service>
</services>
</system.serviceModel>
당신은 서비스가 기존 엔드 포인트의 정의 된'host' 속성이없는 건가요? –
3 개의 enpoint가 정의되어 있습니다. 바인딩과 행동 구성 후 끝으로 – stephenbayer
죄송합니다, 호스트 – Slick86