HTTP不支持媒体类型问题

问题描述:

我使用WCF与ios应用程序,当请求某种方法时,IIS返回415错误,不支持媒体类型。 代理类是通过wsdl2objc生成的,与Windows应用程序调用相同的调用很好HTTP不支持媒体类型问题

+0

你能展示一些代码,你认为这个问题可能吗? – Chris

+0

我不知道它会在哪里发生,为这两个应用程序请求标头相同,唯一的区别是请求内容类型,对于ios它是text/xml,对于win应用程序它是application/soap + msbin1。我更改ios的contenttype并将其设置为应用程序/ soap + xml,因为当它是应用程序/ soap + msbin1 IIS返回状态400 – taffarel

该问题可能在您的WCF服务配置中,特别是您正在使用的绑定。我想你已经配置它使用自定义绑定或WSHttpBinding,但无论哪种方式,该服务预计 MIME类型,但从wsdl2objc生成的类所做的请求与text/xml。我不太清楚如何修复它,但首先配置标准BasicHttpBinding的服务并尝试一下。还要恢复您对wsdl2objc生成的代码所做的所有更改。
Btw WSHttpBinding使用SOAP 1.2,我不确定wsdl2objc是否可以使用它(我只用BasicHttpBinding测试过)。

+0

感谢graver,据我所知wsdl2objc不支持自定义绑定正确?我的服务配置了自定义绑定,我使用它来验证票证。在这种情况下,有没有办法在basichttpbinding中配置绑定进行验证?我也不确定wshttpbinding,当我用wsdl2objc使用asmx服务时,它也生成soap12客户端,但我从来没有使用它。 – taffarel