ash691
asked on
WebService/Soap returing 0 values.
I'm trying my first real SOAP call to consume a webservice. I normally use REST/URL.
I have the WSDL loaded as a App_WebReference (VS 2012).
I set up the ratequote set up properly (I can hover over and see the authentication and quote request details data).
I think the webservice is being hit because it returns all the correct data fields but with no data in them returned.
I don’t think my quote request details are making their way to the webservice. MY guess is my syntax or constructs are incorrect. I’ve pasted in the part of the wsdl I think will help. I hope this makes sense. I’ve been at it for over a day+ now. I’ve been researching but the lights not coming on. Thanks
WSDL
I have the WSDL loaded as a App_WebReference (VS 2012).
I set up the ratequote set up properly (I can hover over and see the authentication and quote request details data).
I think the webservice is being hit because it returns all the correct data fields but with no data in them returned.
I don’t think my quote request details are making their way to the webservice. MY guess is my syntax or constructs are incorrect. I’ve pasted in the part of the wsdl I think will help. I hope this makes sense. I’ve been at it for over a day+ now. I’ve been researching but the lights not coming on. Thanks
Dim rrratequote As New wsdl_roadrunner.QuoteRequest
Dim FMScredentials As New wsdl_roadrunner.AuthenticationHeader
With FMScredentials
.UserName = ("Shipper")
.Password = ("freight")
End With
Dim fgtdetails(1) As wsdl_roadrunner.ShipmentDetail
fgtdetails(1) = New ShipmentDetail
With fgtdetails(1)
.ActualClass = ("60")
.Weight = ("1800")
End With
With rrratequote
.OriginZip = ("38455")
.DestinationZip = ("30303")
.PalletCount = ("2")
.ShipDate = ("9/6/2013")
.OriginType = ("B")
.PaymentType = ("P")
.ShipmentDetails = fgtdetails
End With
Dim ratequote As wsdl_roadrunner.RateQuoteRequest = New wsdl_roadrunner.RateQuoteRequest(FMScredentials, rrratequote)
Dim response As wsdl_roadrunner.QuoteResponse = New wsdl_roadrunner.QuoteResponse()
WSDL
<?xml version="1.0" encoding="utf-8"?>
<wsdl:definitions xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:tns="https://webservices.rrts.com/ratequote/" xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" targetNamespace="https://webservices.rrts.com/ratequote/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
<wsdl:types>
<s:schema elementFormDefault="qualified" targetNamespace="https://webservices.rrts.com/ratequote/">
<s:element name="RateQuote">
<s:complexType>
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="request" type="tns:QuoteRequest" />
</s:sequence>
</s:complexType>
</s:element>
<s:complexType name="QuoteRequest">
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="OriginZip" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="DestinationZip" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="ShipmentDetails" type="tns:ArrayOfShipmentDetail" />
<s:element minOccurs="0" maxOccurs="1" name="OriginType" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="PaymentType" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="PalletCount" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="LinearFeet" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="CubicFeet" type="s:string" />
<s:element minOccurs="1" maxOccurs="1" name="Pieces" type="s:int" />
<s:element minOccurs="0" maxOccurs="1" name="ServiceDeliveryOptions" type="tns:ArrayOfServiceOptions" />
<s:element minOccurs="0" maxOccurs="1" name="COD" type="tns:CODFee" />
<s:element minOccurs="0" maxOccurs="1" name="Discount" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="ListedConsigneeCity" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="InternalUse" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="PalletPosition" type="s:string" />
<s:element minOccurs="1" maxOccurs="1" name="ShipDate" type="s:dateTime" />
</s:sequence>
</s:complexType>
<s:complexType name="ArrayOfShipmentDetail">
<s:sequence>
<s:element minOccurs="0" maxOccurs="unbounded" name="ShipmentDetail" nillable="true" type="tns:ShipmentDetail" />
</s:sequence>
</s:complexType>
<s:complexType name="ShipmentDetail">
<s:sequence>
<s:element minOccurs="1" maxOccurs="1" name="ActualClass" type="s:double" />
<s:element minOccurs="1" maxOccurs="1" name="Weight" type="s:int" />
</s:sequence>
</s:complexType>
<s:complexType name="ArrayOfServiceOptions">
<s:sequence>
<s:element minOccurs="0" maxOccurs="unbounded" name="ServiceOptions" nillable="true" type="tns:ServiceOptions" />
</s:sequence>
</s:complexType>
<s:complexType name="ServiceOptions">
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="ServiceCode" type="s:string" />
</s:sequence>
</s:complexType>
<s:complexType name="CODFee">
<s:sequence>
<s:element minOccurs="1" maxOccurs="1" name="Prepaid" type="s:boolean" />
<s:element minOccurs="1" maxOccurs="1" name="CODAmount" type="s:double" />
</s:sequence>
</s:complexType>
<s:element name="RateQuoteResponse">
<s:complexType>
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="RateQuoteResult" type="tns:QuoteResponse" />
</s:sequence>
</s:complexType>
</s:element>
<s:complexType name="QuoteResponse">
<s:sequence>
<s:element minOccurs="1" maxOccurs="1" name="QuoteNumber" type="s:int" />
<s:element minOccurs="1" maxOccurs="1" name="NetCharge" type="s:double" />
<s:element minOccurs="0" maxOccurs="1" name="Customer" type="tns:CustomerInformation" />
<s:element minOccurs="0" maxOccurs="1" name="RoutingInfo" type="tns:RoutingInformation" />
<s:element minOccurs="0" maxOccurs="1" name="RateDetails" type="tns:ArrayOfQuoteDetail" />
<s:element minOccurs="0" maxOccurs="1" name="OriginType" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="PaymentType" type="s:string" />
<s:element minOccurs="1" maxOccurs="1" name="CODAmount" type="s:double" />
<s:element minOccurs="1" maxOccurs="1" name="ShipmentDate" type="s:dateTime" />
<s:element minOccurs="1" maxOccurs="1" name="CustomerCubicFoot" type="s:int" />
<s:element minOccurs="1" maxOccurs="1" name="HawaiianRatedCubicFoot" type="s:int" />
</s:sequence>
</s:complexType>
ASKER
Here's the entire WSDL.
<?xml version="1.0" encoding="utf-8"?>
<wsdl:definitions xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:tns="https://webservices.rrts.com/ratequote/" xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" targetNamespace="https://webservices.rrts.com/ratequote/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
<wsdl:types>
<s:schema elementFormDefault="qualified" targetNamespace="https://webservices.rrts.com/ratequote/">
<s:element name="RateQuote">
<s:complexType>
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="request" type="tns:QuoteRequest" />
</s:sequence>
</s:complexType>
</s:element>
<s:complexType name="QuoteRequest">
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="OriginZip" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="DestinationZip" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="ShipmentDetails" type="tns:ArrayOfShipmentDetail" />
<s:element minOccurs="0" maxOccurs="1" name="OriginType" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="PaymentType" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="PalletCount" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="LinearFeet" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="CubicFeet" type="s:string" />
<s:element minOccurs="1" maxOccurs="1" name="Pieces" type="s:int" />
<s:element minOccurs="0" maxOccurs="1" name="ServiceDeliveryOptions" type="tns:ArrayOfServiceOptions" />
<s:element minOccurs="0" maxOccurs="1" name="COD" type="tns:CODFee" />
<s:element minOccurs="0" maxOccurs="1" name="Discount" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="ListedConsigneeCity" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="InternalUse" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="PalletPosition" type="s:string" />
<s:element minOccurs="1" maxOccurs="1" name="ShipDate" type="s:dateTime" />
</s:sequence>
</s:complexType>
<s:complexType name="ArrayOfShipmentDetail">
<s:sequence>
<s:element minOccurs="0" maxOccurs="unbounded" name="ShipmentDetail" nillable="true" type="tns:ShipmentDetail" />
</s:sequence>
</s:complexType>
<s:complexType name="ShipmentDetail">
<s:sequence>
<s:element minOccurs="1" maxOccurs="1" name="ActualClass" type="s:double" />
<s:element minOccurs="1" maxOccurs="1" name="Weight" type="s:int" />
</s:sequence>
</s:complexType>
<s:complexType name="ArrayOfServiceOptions">
<s:sequence>
<s:element minOccurs="0" maxOccurs="unbounded" name="ServiceOptions" nillable="true" type="tns:ServiceOptions" />
</s:sequence>
</s:complexType>
<s:complexType name="ServiceOptions">
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="ServiceCode" type="s:string" />
</s:sequence>
</s:complexType>
<s:complexType name="CODFee">
<s:sequence>
<s:element minOccurs="1" maxOccurs="1" name="Prepaid" type="s:boolean" />
<s:element minOccurs="1" maxOccurs="1" name="CODAmount" type="s:double" />
</s:sequence>
</s:complexType>
<s:element name="RateQuoteResponse">
<s:complexType>
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="RateQuoteResult" type="tns:QuoteResponse" />
</s:sequence>
</s:complexType>
</s:element>
<s:complexType name="QuoteResponse">
<s:sequence>
<s:element minOccurs="1" maxOccurs="1" name="QuoteNumber" type="s:int" />
<s:element minOccurs="1" maxOccurs="1" name="NetCharge" type="s:double" />
<s:element minOccurs="0" maxOccurs="1" name="Customer" type="tns:CustomerInformation" />
<s:element minOccurs="0" maxOccurs="1" name="RoutingInfo" type="tns:RoutingInformation" />
<s:element minOccurs="0" maxOccurs="1" name="RateDetails" type="tns:ArrayOfQuoteDetail" />
<s:element minOccurs="0" maxOccurs="1" name="OriginType" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="PaymentType" type="s:string" />
<s:element minOccurs="1" maxOccurs="1" name="CODAmount" type="s:double" />
<s:element minOccurs="1" maxOccurs="1" name="ShipmentDate" type="s:dateTime" />
<s:element minOccurs="1" maxOccurs="1" name="CustomerCubicFoot" type="s:int" />
<s:element minOccurs="1" maxOccurs="1" name="HawaiianRatedCubicFoot" type="s:int" />
</s:sequence>
</s:complexType>
<s:complexType name="CustomerInformation">
<s:sequence>
<s:element minOccurs="1" maxOccurs="1" name="AccountNumber" type="s:int" />
<s:element minOccurs="0" maxOccurs="1" name="Name" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="Address1" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="Address2" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="City" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="State" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="ZipCode" type="s:string" />
</s:sequence>
</s:complexType>
<s:complexType name="RoutingInformation">
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="DestinationState" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="DestinationZip" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="OriginState" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="OriginZip" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="EstimatedTransitDays" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="OriginTerminal" type="s:string" />
</s:sequence>
</s:complexType>
<s:complexType name="ArrayOfQuoteDetail">
<s:sequence>
<s:element minOccurs="0" maxOccurs="unbounded" name="QuoteDetail" nillable="true" type="tns:QuoteDetail" />
</s:sequence>
</s:complexType>
<s:complexType name="QuoteDetail">
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="ActualClass" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="RatedClass" type="s:string" />
<s:element minOccurs="1" maxOccurs="1" name="Charge" type="s:double" />
<s:element minOccurs="0" maxOccurs="1" name="Code" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="Description" type="s:string" />
<s:element minOccurs="1" maxOccurs="1" name="Rate" type="s:double" />
<s:element minOccurs="0" maxOccurs="1" name="Weight" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="ExtraMessages" type="s:string" />
</s:sequence>
</s:complexType>
<s:element name="AuthenticationHeader" type="tns:AuthenticationHeader" />
<s:complexType name="AuthenticationHeader">
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="UserName" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="Password" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="Site" type="s:string" />
</s:sequence>
<s:anyAttribute />
</s:complexType>
<s:element name="RateQuoteByAccount">
<s:complexType>
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="request" type="tns:QuoteAccountRequest" />
</s:sequence>
</s:complexType>
</s:element>
<s:complexType name="QuoteAccountRequest">
<s:complexContent mixed="false">
<s:extension base="tns:QuoteRequest">
<s:sequence>
<s:element minOccurs="1" maxOccurs="1" name="Account" type="s:int" />
</s:sequence>
</s:extension>
</s:complexContent>
</s:complexType>
<s:element name="RateQuoteByAccountResponse">
<s:complexType>
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="RateQuoteByAccountResult" type="tns:QuoteResponse" />
</s:sequence>
</s:complexType>
</s:element>
<s:element name="RateQuoteByAccountByTerminal">
<s:complexType>
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="request" type="tns:QuoteAccountByTerminalRequest" />
</s:sequence>
</s:complexType>
</s:element>
<s:complexType name="QuoteAccountByTerminalRequest">
<s:complexContent mixed="false">
<s:extension base="tns:QuoteAccountRequest">
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="TerminalCode" type="s:string" />
</s:sequence>
</s:extension>
</s:complexContent>
</s:complexType>
<s:element name="RateQuoteByAccountByTerminalResponse">
<s:complexType>
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="RateQuoteByAccountByTerminalResult" type="tns:QuoteResponse" />
</s:sequence>
</s:complexType>
</s:element>
</s:schema>
</wsdl:types>
<wsdl:message name="RateQuoteSoapIn">
<wsdl:part name="parameters" element="tns:RateQuote" />
</wsdl:message>
<wsdl:message name="RateQuoteSoapOut">
<wsdl:part name="parameters" element="tns:RateQuoteResponse" />
</wsdl:message>
<wsdl:message name="RateQuoteAuthenticationHeader">
<wsdl:part name="AuthenticationHeader" element="tns:AuthenticationHeader" />
</wsdl:message>
<wsdl:message name="RateQuoteByAccountSoapIn">
<wsdl:part name="parameters" element="tns:RateQuoteByAccount" />
</wsdl:message>
<wsdl:message name="RateQuoteByAccountSoapOut">
<wsdl:part name="parameters" element="tns:RateQuoteByAccountResponse" />
</wsdl:message>
<wsdl:message name="RateQuoteByAccountAuthenticationHeader">
<wsdl:part name="AuthenticationHeader" element="tns:AuthenticationHeader" />
</wsdl:message>
<wsdl:message name="RateQuoteByAccountByTerminalSoapIn">
<wsdl:part name="parameters" element="tns:RateQuoteByAccountByTerminal" />
</wsdl:message>
<wsdl:message name="RateQuoteByAccountByTerminalSoapOut">
<wsdl:part name="parameters" element="tns:RateQuoteByAccountByTerminalResponse" />
</wsdl:message>
<wsdl:message name="RateQuoteByAccountByTerminalAuthenticationHeader">
<wsdl:part name="AuthenticationHeader" element="tns:AuthenticationHeader" />
</wsdl:message>
<wsdl:portType name="RateQuoteSoap">
<wsdl:operation name="RateQuote">
<wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">This method sends back a rate quote from the Road Runner Transportation Services System</wsdl:documentation>
<wsdl:input message="tns:RateQuoteSoapIn" />
<wsdl:output message="tns:RateQuoteSoapOut" />
</wsdl:operation>
<wsdl:operation name="RateQuoteByAccount">
<wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">This method sends back a rate quote from the Road Runner Transportation Services System</wsdl:documentation>
<wsdl:input message="tns:RateQuoteByAccountSoapIn" />
<wsdl:output message="tns:RateQuoteByAccountSoapOut" />
</wsdl:operation>
<wsdl:operation name="RateQuoteByAccountByTerminal">
<wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">This method sends back a rate quote from the Road Runner Transportation Services System</wsdl:documentation>
<wsdl:input message="tns:RateQuoteByAccountByTerminalSoapIn" />
<wsdl:output message="tns:RateQuoteByAccountByTerminalSoapOut" />
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="RateQuoteSoap" type="tns:RateQuoteSoap">
<soap:binding transport="http://schemas.xmlsoap.org/soap/http" />
<wsdl:operation name="RateQuote">
<soap:operation soapAction="https://webservices.rrts.com/ratequote/RateQuote" style="document" />
<wsdl:input>
<soap:body use="literal" />
<soap:header message="tns:RateQuoteAuthenticationHeader" part="AuthenticationHeader" use="literal" />
</wsdl:input>
<wsdl:output>
<soap:body use="literal" />
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="RateQuoteByAccount">
<soap:operation soapAction="https://webservices.rrts.com/ratequote/RateQuoteByAccount" style="document" />
<wsdl:input>
<soap:body use="literal" />
<soap:header message="tns:RateQuoteByAccountAuthenticationHeader" part="AuthenticationHeader" use="literal" />
</wsdl:input>
<wsdl:output>
<soap:body use="literal" />
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="RateQuoteByAccountByTerminal">
<soap:operation soapAction="https://webservices.rrts.com/ratequote/RateQuoteByAccountByTerminal" style="document" />
<wsdl:input>
<soap:body use="literal" />
<soap:header message="tns:RateQuoteByAccountByTerminalAuthenticationHeader" part="AuthenticationHeader" use="literal" />
</wsdl:input>
<wsdl:output>
<soap:body use="literal" />
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:binding name="RateQuoteSoap12" type="tns:RateQuoteSoap">
<soap12:binding transport="http://schemas.xmlsoap.org/soap/http" />
<wsdl:operation name="RateQuote">
<soap12:operation soapAction="https://webservices.rrts.com/ratequote/RateQuote" style="document" />
<wsdl:input>
<soap12:body use="literal" />
<soap12:header message="tns:RateQuoteAuthenticationHeader" part="AuthenticationHeader" use="literal" />
</wsdl:input>
<wsdl:output>
<soap12:body use="literal" />
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="RateQuoteByAccount">
<soap12:operation soapAction="https://webservices.rrts.com/ratequote/RateQuoteByAccount" style="document" />
<wsdl:input>
<soap12:body use="literal" />
<soap12:header message="tns:RateQuoteByAccountAuthenticationHeader" part="AuthenticationHeader" use="literal" />
</wsdl:input>
<wsdl:output>
<soap12:body use="literal" />
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="RateQuoteByAccountByTerminal">
<soap12:operation soapAction="https://webservices.rrts.com/ratequote/RateQuoteByAccountByTerminal" style="document" />
<wsdl:input>
<soap12:body use="literal" />
<soap12:header message="tns:RateQuoteByAccountByTerminalAuthenticationHeader" part="AuthenticationHeader" use="literal" />
</wsdl:input>
<wsdl:output>
<soap12:body use="literal" />
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="RateQuote">
<wsdl:port name="RateQuoteSoap" binding="tns:RateQuoteSoap">
<soap:address location="https://webservices.rrts.com/rating/ratequote.asmx" />
</wsdl:port>
<wsdl:port name="RateQuoteSoap12" binding="tns:RateQuoteSoap12">
<soap12:address location="https://webservices.rrts.com/rating/ratequote.asmx" />
</wsdl:port>
</wsdl:service>
</wsdl:definitions>
OK. It's as I mentioned above. The class you are looking for appears to be named RateQuoteSoapClient, so you need:
And the method I *think* you are after is named wsdl_roadrunner_RateQuoteS oap_RateQu ote, so you need:
Try that out; let me know if you have any issues.
Dim client As New wsdl_roadrunner.RateQuoteSoapClient()
And the method I *think* you are after is named wsdl_roadrunner_RateQuoteS
response = client.wsdl_roadrunner_RateQuoteSoap_RateQuote(ratequote)
Try that out; let me know if you have any issues.
ASKER
This wont work as it's not in the intellisense:
response = client.wsdl_roadrunner_Rat eQuoteSoap _RateQuote (ratequote )
I tried response = client.RateQuote(FMScreden tials, rrratequote) but it throws an error
?ex.message
"System.Web.Services.Proto cols.SoapE xception: Server Exception at RRTS.RateQuote.RateQuote.R ateQuote(Q uoteReques t request)"
response = client.wsdl_roadrunner_Rat
I tried response = client.RateQuote(FMScreden
?ex.message
"System.Web.Services.Proto
How did you create the wsdl_roadrunner.RateQuoteR equest and wsdl_roadrunner.QuoteRespo nse classes? Did you use a tool/utility?
ASKER
I right clicked on my project (vs2012) and selected add service reference. Then I entered the url :
https://webservices.rrts.com/rating/ratequote.asmx?WSDL
It showed a service at hat location and I added it to my project under the name
wsdl_roadrunner.
https://webservices.rrts.com/rating/ratequote.asmx?WSDL
It showed a service at hat location and I added it to my project under the name
wsdl_roadrunner.
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER
Ah HA. Finally got it. I don't know what happened HA. After stacking my dims at top like you did and tweaking a few things I got it to at least send back errors form the server this morning and once I sent in a good zip code combination in areas this carrier services I started getting rates. Cool. Thank You very much. I went back to the wsdl and the code and its starting to make sense now.
Dim FMScredentials As wsdl_roadrunner.AuthenticationHeader = New wsdl_roadrunner.AuthenticationHeader
Dim rrratequote As wsdl_roadrunner.QuoteRequest = New wsdl_roadrunner.QuoteRequest
Dim ratequote As wsdl_roadrunner.RateQuoteRequest = New wsdl_roadrunner.RateQuoteRequest(FMScredentials, rrratequote)
Dim client As wsdl_roadrunner.RateQuoteSoapClient = New wsdl_roadrunner.RateQuoteSoapClient
Dim response As wsdl_roadrunner.QuoteResponse = New wsdl_roadrunner.QuoteResponse()
With FMScredentials
.UserName = ("Ship")
.Password = ("Freight")
End With
Dim fgtdetails(0) As wsdl_roadrunner.ShipmentDetail
fgtdetails(0) = New ShipmentDetail
With fgtdetails(0)
.ActualClass = ("60")
.Weight = ("1800")
End With
With rrratequote
.OriginZip = ("75201")
.DestinationZip = ("30303")
.PalletCount = ("2")
.ShipDate = ("9/6/2013")
.OriginType = ("B")
.PaymentType = ("P")
.ShipmentDetails = fgtdetails
End With
Try
response = client.RateQuote(FMScredentials, rrratequote)
Catch ex As Exception
Dim msg As String = ex.Message
End Try
You've only created variables that represented request parameters and response objects for the service. You haven't actually invoked the service. There should be a class defined under your "wsdl_roadrunner" namespace that has the word "Client" in its name. That is the proxy class that you should use to invoke the service. It most likely has a method defined on it that takes in a wsdl_roadrunner.RateQuoteR
e.g.
Open in new window