Problem with WSDL being consumed by SOAP in VB.NET

Posted on 2014-12-03
Last Modified: 2016-03-02

I am working on a project that communicates with the Magento SOAP API v2.
We have been utilizing the API fine, however a new extension was installed on the Magento server which altered the WSDL we had previously consumed.  After the change, we successfully imported the new WSDL, though now it fails during initialization with the error message:

The XML element 'giftcardUpdateResponseParam' from namespace 'urn:Magento' references a method and a type.
Change the method's message name using WebMethodAttribute or change the type's root element using the XmlRootAttribute.

After googling for a bit, it seems this response is common if there are conflicts in the object names.  Reference:

The WSDL we are working with can be found here:

Can anyone help identify the problem and provide a solution so that this WSDL can be imported into VB.NET and the objects created in the reference.vb can be initiated properly?

Thank you.
Question by:joduk777
  • 3
  • 2
LVL 11

Expert Comment

ID: 40481211
can you post you code snippet, that is failing or write a test code to replicate it and post here?

Author Comment

ID: 40481386
First, I created a new windows form application and added a web reference with name magento19 using the URL of the WSDL.
This is the entire code needed to produce the error.
When the class that contains the line : Public Shared MagentoAPIConnection As New Magento19.MagentoService
is initialized, it throws the error.

Public Class Form1

    Public Shared MagentoAPIConnection As New Magento19.MagentoService
    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles Me.Load

        Catch ex As Exception

        End Try
    End Sub
End Class

Author Comment

ID: 40481402
The inner exception shows "Method MagentoService.giftcardSendEmail can not be reflected."

The inner-inner exception shows "The XML element 'giftcardUpdateResponseParam' from namespace 'urn:Magento' references a method and a type. Change the method's message name using WebMethodAttribute or change the type's root element using the XmlRootAttribute."
LVL 11

Accepted Solution

srikanthreddyn143 earned 500 total points
ID: 40481760
Can you use wsdl as  a service reference?

Author Comment

ID: 40482232
Thank you.  I did a bit of research on this before implementing the changes.  As you suspected, loading the wsdl as a Service Reference eliminated the issue.

Featured Post

Free Tool: Site Down Detector

Helpful to verify reports of your own downtime, or to double check a downed website you are trying to access.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
ClickOnce Install - Shortcut Question 3 103
Re-imbursement Claim System 3 72
servlet web applications   metadata-complete="true" or false 3 109
QQ problem 22 42
In order to have all security and back ups taken care of, WordPress users can sign up for services with WP Engine.
International Data Corporation (IDC) prognosticates that before the current the year gets over disbursing on IT framework products to be sent in cloud environs will be $37.1B.
Learn how to set-up custom confirmation messages to users who complete your Wufoo form. Include inputs from fields in your form, webpage redirects, and more with Wufoo’s confirmation options.
Learn how to set-up PayPal payment integration in your Wufoo form. Allow your users to remit payment through PayPal upon completion of your online form. This is helpful for collecting membership payments, customer payments, donations, and more.

809 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question