Still celebrating National IT Professionals Day with 3 months of free Premium Membership. Use Code ITDAY17

x
?
Solved

Problem with WSDL being consumed by SOAP in VB.NET

Posted on 2014-12-03
5
Medium Priority
?
559 Views
Last Modified: 2016-03-02
Hello,

I am working on a vb.net 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:
http://softwareblog.morlok.net/2010/07/02/naming-collision-in-asmx-web-service/


The WSDL we are working with can be found here: http://magento19.blackbaudpos.com/index.php/api/v2_soap?wsdl=1

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.
0
Comment
Question by:joduk777
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 3
  • 2
5 Comments
 
LVL 11

Expert Comment

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

Author Comment

by:joduk777
ID: 40481386
First, I created a new windows form application and added a web reference with name magento19 using the URL of the WSDL.
2014-12-04-1342.png
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
        Try

        Catch ex As Exception

        End Try
    End Sub
End Class
0
 

Author Comment

by:joduk777
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."
0
 
LVL 11

Accepted Solution

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

Author Comment

by:joduk777
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.
0

Featured Post

Understanding Web Applications

Without even knowing it, most of us are using web applications on a daily basis. Gmail and Yahoo email, Twitter, Facebook, and eBay are used by most of us daily—and they are web applications. We often confuse these web applications tools for websites.  So, what is the difference?

Question has a verified solution.

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

Entering time in Microsoft Access can be difficult. An input mask often bothers users more than helping them and won't catch all typing errors. This article shows how to create a textbox for 24-hour time input with full validation politely catching …
These days, all we hear about hacktivists took down so and so websites and retrieved thousands of user’s data. One of the techniques to get unauthorized access to database is by performing SQL injection. This article is quite lengthy which gives bas…
Wufoo.com provides powerful tools for surveying targeted groups, and utilizing data from completed surveys to find trends, discover areas of demand or customer expectation, and make business decisions on products or services.
This tutorial demonstrates a quick way of adding group price to multiple Magento products.

715 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