2017-05-13 2 views
-1

저는 Json 형식의 WCF 서비스를 사용하여 Android에서 서버로 데이터를 게시하고 있습니다. 모든 것이 잘 작동합니다. 65KB 이상의 데이터를 게시하는 동안 문제가 발생했습니다. 하지만 나머지 데이터를 사용하여 동일한 데이터를 게시하면 정상적으로 작동합니다. 그것은 안드로이드에서 게시 할 때 문제가됩니다.400 잘못된 요청 : WCF를 사용하여 Android 기기에서 대량 데이터 (> 65KB) (JSON 형식) 휴식 서비스

바인딩 태그의 모든 속성을 최대 값으로 설정했습니다. reqderquotas 태그와 동일합니다. 다음은 웹 구성 설정입니다.

<bindings> 
<webHttpBinding> 
    <binding maxBufferPoolSize="2147483647" maxBufferSize="2147483647" maxReceivedMessageSize="2147483647" sendTimeout="00:20:00" receiveTimeout="00:20:00" openTimeout="00:20:00" closeTimeout="00:20:00"> 
     <readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647" maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647" /> 
    </binding> 
    </webHttpBinding> 
</bindings> 

내가 잘못하고있는 것을 알려주십시오. 동일한 웹 구성 설정으로 동일한 서비스를 사용하여 300KB 이상의 파일을 게시하고 있기 때문입니다. json을 게시 할 때 오류가 발생합니다.

+0

우리는 당신이 무엇을하고 있는지 볼 수 없습니다. 그럼 왜 우리가 도울 수 있다고 생각하니? – greenapps

+0

@greenapps 제공 할 것으로 기대하는 것. 그것은 곧장 앞으로 질문입니다. 65KB가 넘는 서버에 안드로이드의 데이터를 게시 할 수 없습니다. –

답변

0

일반적인 실수입니다. 아마 당신은 틀린쪽에 이것을 놓고 있습니다. 비누 서비스로 65k 이상을 받고 있다면 maxReceivedMessageSize을 늘려야합니다. 이제 클라이언트와 서버 크기가 모두 증가했는지 확인하십시오.

+0

maxReceivedMessageSize = "2147483647"을 이미 설정했지만 작동하지 않았습니다. 그것은 나쁜 요청을주고있다. –

+0

하지만 어느 쪽입니까? 이 클라이언트 측 구성 파일 또는 서버 측? web.config의 서버 측에 – David

+0

. 질문에 설정을 제공했습니다 –

0

대용량 데이터가 아니기 때문에 유효하지 않은 UTF-8 문자로 인해 요청이 잘못되었습니다. 나는 WCF 서비스를 진단하기 위해 다음을 사용했다.

<system.diagnostics> 
<sources> 
    <source name="System.ServiceModel" 
      switchValue="Information, ActivityTracing" 
      propagateActivity="true"> 
    <listeners> 
     <add name="traceListener" 
      type="System.Diagnostics.XmlWriterTraceListener" 
      initializeData= "c:\log\Traces.svclog" /> 
    </listeners> 
    </source> 
</sources>