2016-11-30 1 views
0

SOAP-UI에서 IIS C# REST/JSON 웹 서비스로 POST를 수행하고 있습니다. SSL을 요구하도록 web.config를 변경했고이 문제가 시작되었습니다. 허용되지 않고 IIS 웹 서비스가 SSL로 변경되었습니다. 추적 수신기에서SOAP-UI HTTP 상태 : 405 - 들어오는 요청의 HTTP 메소드 'GET'이 허용되지 않습니다.

HTTP/1.1 405 Method Not Allowed 
Allow: POST 
Content-Length: 1565 
Content-Type: text/html; charset=UTF-8 
Server: Microsoft-IIS/7.5 

:

지금은 SOAP-UI의 RAW보기에서 오류가 발생하고있어 SOAP-UI는 POST를 수행하는 경우

<ExceptionString>System.InvalidOperationException: The HTTP method 'GET' of the incoming request (with URI 'https://mysite/MyApp/SQRTREST.svc/placeOrderSQRT/') is not allowed.</ExceptionString> 
<StackTrace> at System.Runtime.Diagnostics.EtwDiagnosticTrace.WriteExceptionToTraceString(XmlTextWriter xml, Exception exception, Int32 remainingLength, Int32 remainingAllowedRecursionDepth) 
    at System.Runtime.Diagnostics.EtwDiagnosticTrace.ExceptionToTraceString(Exception exception, Int32 maxTraceStringLength) 
    at System.Runtime.Diagnostics.EtwDiagnosticTrace.GetSerializedPayload(Object source, TraceRecord traceRecord, Exception exception, Boolean getServiceReference) 
    at System.Runtime.TraceCore.HandledExceptionWarning(EtwDiagnosticTrace trace, String param0, Exception exception) 
    at System.ServiceModel.Dispatcher.HttpUnhandledOperationInvoker.Invoke(Object instance, Object[] inputs, Object[]&amp;amp; outputs) 
    at System.ServiceModel.Dispatcher.DispatchOperationRuntime.InvokeBegin(MessageRpc&amp;amp; rpc) 
    at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage5(MessageRpc&amp;amp; rpc) 
    at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage31(MessageRpc&amp;amp; rpc) 
    at System.ServiceModel.Dispatcher.MessageRpc.Process(Boolean isOperationContextSet) 
    at System.ServiceModel.Dispatcher.ChannelHandler.DispatchAndReleasePump(RequestContext request, Boolean cleanThread, OperationContext currentOperationContext) 
    at System.ServiceModel.Dispatcher.ChannelHandler.HandleRequest(RequestContext request, OperationContext currentOperationContext) 
    at System.ServiceModel.Dispatcher.ChannelHandler.AsyncMessagePump(IAsyncResult result) 

그럼, 왜이다 HTTP "GET"메소드와 관련된 오류?

이것은 Production의 SOAP-UI에서도 발생하지만 외부 클라이언트는 사용중인 소프트웨어를 사용하여 웹 서비스를 계속 호출 할 수 있습니다.

StackOverflow에서 405에 대한 다른 게시물을 볼 수 있지만 SOAP-UI 게시를 처리하는 내용은 없습니다. 게시 후 다음 날에

업데이트 위 : 내가 디버그/추적과 설정을 가지고

1) -) 및 SOAP-UI를 실행할 때 추적이 결코 방법

2를 입력하지 I가 설정 포스트를 수행하는 C# 클라이언트 프로그램이며 메소드에 들어가서 디버그/추적을 사용할 수 있습니다 (끝내려는 다른 문제로 끝납니다).

업데이트 2 : 일부 연구 결과에 따르면 HTTP 헤더가 암호화된다는 사실과 관련이 있다고 생각합니다. SOAP-Ui 포럼의 누군가가 HTTP 헤더가 누락되었다고 언급했습니다. 하지만 그 날 리드 곳 ... 확실하지

답변

0

이 솔루션에 나를 인도 :

https://forums.iis.net/t/1152122.aspx?HTTP+1+1+405+Method+Not+Allowed+Allow+OPTIONS+TRACE+GET+HEAD

나는 단지 내 메소드 이름에 후행 슬래시를 추가했다. 끝점을 xxx.svc로 설정했습니다. 그런 다음 Resource를/Resource1과 같은 값으로 설정했습니다. /Resource1 /로 변경하면됩니다.

위의 링크는 디렉토리 등을 읽으려고합니다.

+0

SSL과 관련이 없으므로 /가 끝에있는 이전 스크린 샷을 발견했습니다. – NealWalters

관련 문제