İstemci, yanıt içeriği türünün 'multipart/related; type="application/xop+xml"; start-info="text/xml"' olduğunu algıladı, ancak 'text/xml' bekliyordu.

alattin (17014) 9 yıl önce sordu

Asp.Net MVC ile Java ie yazılmış bir web servisine erişmek istediğimde, web servisi içindeki bir ketodu tetiklediğimde  aşağıdaki hatayı alıyorum:

İstemci, yanıt içeriği türünün 'multipart/related; type="application/xop+xml"; boundary="uuid:2aa1710d-3fb0-4101-9198-4260a39eb686"; start="<root.message@cxf.apache.org>"; start-info="text/xml"' olduğunu algıladı, ancak 'text/xml' bekliyordu.
İstek şu hata iletisini verdi:

Açıklama: Geçerli web isteği yürütülürken işlenmemiş özel durum oluştu. Lütfen hata ve kod içinde kaynaklandığı yer hakkında daha fazla bilgi almak için yığın izlemesini gözden geçirin.

Özel Durum Ayrıntıları: System.InvalidOperationException: İstemci, yanıt içeriği türünün 'multipart/related; type="application/xop+xml"; boundary="uuid:2aa1710d-3fb0-4101-9198-4260a39eb686"; start="<root.message@cxf.apache.org>"; start-info="text/xml"' olduğunu algıladı, ancak 'text/xml' bekliyordu.
İstek şu hata iletisini verdi:
--

Asp.net MVC uygulaması ile bir java web servisi üzerindeki metodu çalıştırırken alınan bu hatanın çözümü nedir?

Toplam 1 cevap


alattin (17014) 9 yıl önce cevapladı

Bir web servisinden şu mesajı alıyorsanız 

İstemci, yanıt içeriği türünün 'multipart/related; type="application/xop+xml"; boundary="uuid:2aa1710d-3fb0-4101-9198-4260a39eb686"; start="<root.message@cxf.apache.org>"; start-info="text/xml"' olduğunu algıladı, ancak 'text/xml' bekliyordu.

sorunu çözmek için şunu deneyebilirsiniz.

  1. Visual Studio ile projeyi açın.
  2. Projeye daha önce eklediğiniz web servisini silin.
  3. References bölümünü sağ tuşla tıklayın.
  4. Add Service Reference bölümünü tıklayın.
  5. Address bölümüne servis adresini yazın.
  6. OK tıklayın ve bu pencereden çıkın.

Eğer klasik web servislerini eklediğiniz gibi Add Service Reference  bölümünde Advanced'i tıklıyor ve Add Web Reference'i tıklıyorsanız ve buradan Web servisini ekliyorsanız bu hatayı alabilirsiniz.

Özellikle MTOM (Message Transmission Optimization Mechanism) destekli yani  XOP (XML-binary Optimized Packaging) kullanan servislerde bu şekilde referans verilmelidir.
 

Ayrıca Web.config içinde messageEncoding="Mtom" olarak ayarlayın. Aşağıdaki gibi.

 <system.serviceModel>
    <bindings>
      <basicHttpBinding>
        <binding name="PortalWebServiceSoapBinding"  messageEncoding="Mtom"/>
      </basicHttpBinding>
    </bindings>
    <client>
      <endpoint address="http://PortalWebService"
        binding="basicHttpBinding" bindingConfiguration="PortalWebServiceSoapBinding"
        contract="ServiceReference.PortalWebService" name="PortalWebServicePort" />
    </client>
  </system.serviceModel>