Go Premium for a chance to win a PS4. Enter to Win

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 520
  • Last Modified:

Help needed with connection to web service using a WSDL file in VB.NET

We have obtained a WSDL file ('non VB.NET') from a customer to use for making a connection with their web service. All the web service certificates are are installed correctly on both sides. When I use the WSDL file with soapUI then I can sent a request to the web service at a specified endpoint address without any problems. The response to the request is received correctly in soapUI.

After that we started to use the WSDL in VB.NET to create a program that can exchange messages with the web service. We added the WSDL file as a Service Reference to the VB.NET project. A routine 'Reference.vb " is created under the project containing several routines, functions, definitions and so on. This looks correct to me. To sent a message from within the VB.NET application to the web service, we perform the following steps:
1.      Define a variable as a class of the WSDL definition for sending the message to the web service
2.      Fill the properties of the variable with information of the message
3.      Define the binding to use
4.      Define a variable as the portalServicePortClient of the WSDL file, with the endpoint address and the bindig as parameters
5.      Call the function of the WSDL that will sent the message to the web service
6.      Receive answer and process it

After calling the function of the WSDL, there is no response received. There is only a error message that is shown:
" Content Type application/soap+xml; charset=utf-8 was not supported by service http://broker-......................  The client and service bindings may be mismatched."

And when I try this over another port with SSL:

"An error occurred while receiving the HTTP response to https://broker....... This could be due to the service endpoint binding not using the HTTP protocol. This could also be due to an HTTP request context being aborted by the server (possibly due to the service shutting down). See server logs for more details."

Our customer does not receive a message in  the web service!

Any help is much appreciated!
0
Pirie
Asked:
Pirie
  • 3
2 Solutions
 
käµfm³d 👽Commented:
Have you confirmed with the customer which binding should be used (or was only one included in your app.config file)?
0
 
PirieAuthor Commented:
Hello Kaufmed,

Thanks for your reply!

In other projects in which we were reading a WSDL definition in VB.NET/VS for a link to a web service, we became a 'configuration.svcinfo' and a 'configuration91.svcinfo' file as a part of the service reference. These files contained information about the binding. Also, the app.config file was adapted with a Binding configuration section with the required settings. It was easy to create the link with the web service after that.

But after reading the WSDL definition where this question is about, the both files be created but there is no information in the files! The app.config also is not adapted. So it seems that there is no Binding information available or it is not required.

I have studied the files from the WSDL definition and searched for information about Binding. First in the WSDL file itself I found the following information about Binding:
    <wsdl:binding name="PortalServicePortSoapBinding" type="tns:PortalServicePort">
        <soap:binding style="document"
            transport="http://schemas.xmlsoap.org/soap/http" />

        <wsdl:operation name="toevoegenMelding">
            <soap:operation
                soapAction="http://www.interaccess.nl/ienm/lavs/portal/1_1/toevoegenMelding"
                style="document" />
            <wsdl:input>
                <soap:body use="literal" />
            </wsdl:input>
            <wsdl:output>
                <soap:body use="literal" />
            </wsdl:output>
            <wsdl:fault name="genericFaultMessage">
                <soap:fault use="literal" />
            </wsdl:fault>
        </wsdl:operation>
    </wsdl:binding>

There is also a file available 'bindings.xml' with this information:
<?xml version="1.0" ?>
<jaxb:bindings xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns:jaxb="http://java.sun.com/xml/ns/jaxb" xmlns:xjc="http://java.sun.com/xml/ns/jaxb/xjc"
    jaxb:extensionBindingPrefixes="xjc" version="2.1"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/jaxb ./bindingschema_2_0.xsd">
    <jaxb:globalBindings>
        <jaxb:serializable uid="1" />
    </jaxb:globalBindings>
</jaxb:bindings>

Any idea?
0
 
PirieAuthor Commented:
Hi,

I solved the problem myself. Using a standard binding is enough.

Thanks for you help
0
 
PirieAuthor Commented:
No futher aswers
0

Featured Post

VIDEO: THE CONCERTO CLOUD FOR HEALTHCARE

Modern healthcare requires a modern cloud. View this brief video to understand how the Concerto Cloud for Healthcare can help your organization.

  • 3
Tackle projects and never again get stuck behind a technical roadblock.
Join Now