Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Namespace is not supported with rpc\\literal SOAP. The wrapper element has to be unqualified

I'm currently working on an integration with a leasing service provider, which runs (I assume) a Java service.

When I add the service reference in Visual Studio 2012, the reference is created correctly and I can call the methods specified in the service.

The problem arises when I get a response from the service.

Let's say I call the service with wrong parameters getCalculation and I get the JSON response JSONException. The problem is, that Visual Studio throws an exception There was an error reflecting 'JSONException'. and as InnerException: {"Namespace='http://service.ecommerce.cetelem.hu/' is not supported with rpc\\literal SOAP. The wrapper element has to be unqualified."}

This is the web.config code:

<system.serviceModel>  
    <bindings>  
        <basicHttpBinding>  
            <binding name="EcommerceServiceImplPortBinding">  
                <security mode="Transport" />  
            </binding>  
            <binding name="EcommerceServiceImplPortBinding1" />  
        </basicHttpBinding>  
    </bindings>  
    <client>  
        <endpoint address="https://ecomdemo.cetelem.hu:443/ecommerce/EcommerceService"
          binding="basicHttpBinding" bindingConfiguration="EcommerceServiceImplPortBinding"
          contract="CetelemInstallmentsService.EcommerceService" name="EcommerceServiceImplPort" />  
    </client>  
</system.serviceModel>

If this is of any help, I'm using WebAPI for the user "front-end".

Thank you for all the answers!

like image 726
Peter Trobec Avatar asked Aug 16 '13 09:08

Peter Trobec


1 Answers

I figured this thing out eventually, but with the help of another post on SO: SOAP Requests in .net

All I needed to change in the service refence file was:

[System.ServiceModel.XmlSerializerFormatAttribute(Style = System.ServiceModel.OperationFormatStyle.Rpc, SupportFaults = true)]

To:

[System.ServiceModel.XmlSerializerFormatAttribute(Style = System.ServiceModel.OperationFormatStyle.Document, SupportFaults = true)]
like image 144
Peter Trobec Avatar answered Sep 22 '22 04:09

Peter Trobec