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!
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)]
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With