2012-05-21 4 views
0

ios 응용 프로그램과 함께 WCF를 사용하고 일부 메서드 요청시 IIS에서 415 오류, 지원되지 않는 미디어 유형을 반환합니다. wsdl2objc를 통해 프록시 클래스가 생성되었으므로 Windows 응용 프로그램과 동일한 호출이 제대로 작동합니다.HTTP 지원되지 않음 미디어 유형 문제

+0

문제가 발생한 것으로 생각되는 부분에 코드를 표시 할 수 있습니까? – Chris

+0

어디서 그런 일이 일어날 지 모릅니다. 두 애플리케이션의 헤더를 동일하게 요청하십시오. 유일한 차이는 요청 컨텐츠 유형이었습니다. ios는 text/xml이었고, win app는 application/soap + msbin1입니다. ios의 contenttype을 변경하고 application/soap + xml로 설정합니다. 응용 프로그램/soap + msbin1 일 때 IIS가 상태 400을 반환하기 때문에 – taffarel

답변

1

문제는 아마도 WCF 서비스 구성, 특히 사용중인 바인딩에 있습니다. 사용자 지정 바인딩 또는 WSHttpBinding 중 하나를 사용하도록 구성한 것으로 가정합니다. 그러나 서비스에서는 mime 형식이 필요하지만 wsdl2objc에서 생성 된 클래스의 요청은 text/xml입니다. 나는 그것을 고칠 방법이 확실치 않지만, 표준 BasicHttpBinding에 대한 서비스를 구성하여 시작하고 시도해보십시오. 또한 wsdl2objc에서 생성 된 코드에 대한 모든 변경 사항을 되돌립니다.
Btw WSHttpBinding은 SOAP 1.2를 사용하며 wsdl2objc이 작동 할 수 있는지 확실하지 않습니다. (나는 BasicHttpBinding으로 만 테스트했습니다).

+0

감사 담당자가 wsdl2objc가 맞춤 바인딩을 올바르게 지원하지 않는다는 것을 이해합니다. 내 서비스가 사용자 정의 바인딩으로 구성되면 인증 티켓에 사용합니다. 이 경우 인증을 위해 basichttpbinding에서 바인딩을 구성 할 수있는 방법이 있습니까? wsdl2objc와 함께 asmx 서비스를 사용할 때도 soap12 클라이언트를 생성 할 때 wshttpbinding에 대해서 확신 할 수 없지만 사용하지는 않았습니다. – taffarel

관련 문제