How do I consume ASP.net generated WSDL with php SOAP client passing login as header
I have a WSDL that I need to consume... I've tried the online creation tools but they do not output php code that works at all (at least with this WSDL):
https://www.testimvrs.com/DLOrderService/DatalinkOrderService.asmx?WSDL
<wsdl:definitions xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:tns="http://datalinkservices.org/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" targetnamespace="http://datalinkservices.org/">
<wsdl:types>
<s:schema elementformdefault="qualified" targetnamespace="http://datalinkservices.org/">
<s:element name="validateUser">
<s:complextype>
<s:element name="validateUserResponse">
<s:complextype>
<s:sequence>
<s:element minoccurs="1" maxoccurs="1" name="validateUserResult" type="s:boolean">
<s:element name="Authorization" type="tns:Authorization">
<s:complextype name="Authorization">
<s:sequence>
<s:element minoccurs="0" maxoccurs="1" name="AcctID" type="s:string">
<s:element minoccurs="0" maxoccurs="1" name="UserID" type="s:string">
<s:element minoccurs="0" maxoccurs="1" name="Password" type="s:string">
<s:element minoccurs="0" maxoccurs="1" name="NewPassword" type="s:string">
<s:anyattribute>
<s:element name="changePassword">
<s:complextype>
<s:element name="changePasswordResponse">
<s:complextype>
<s:sequence>
<s:element minoccurs="1" maxoccurs="1" name="changePasswordResult" type="s:boolean">
<s:element name="getUserInfo">
<s:complextype>
<s:element name="getUserInfoResponse">
<s:complextype>
<s:sequence>
<s:element minoccurs="0" maxoccurs="1" name="getUserInfoResult" type="s:string">
<s:element name="calculateTotalLoss">
<s:complextype>
<s:sequence>
<s:element minoccurs="0" maxoccurs="1" name="inOrder" type="s:string">
<s:element name="calculateTotalLossResponse">
<s:complextype>
<s:sequence>
<s:element minoccurs="0" maxoccurs="1" name="calculateTotalLossResult" type="s:string">
<s:element name="sendOrders">
<s:complextype>
<s:sequence>
<s:element minoccurs="0" maxoccurs="1" name="inOrder" type="s:string">
<s:element name="sendOrdersResponse">
<s:complextype>
<s:sequence>
<s:element minoccurs="0" maxoccurs="1" name="sendOrdersResult" type="s:string">
<s:element name="sendBatch">
<s:complextype>
<s:sequence>
<s:element minoccurs="0" maxoccurs="1" name="inOrder" type="s:string">
<s:element name="sendBatchResponse">
<s:complextype>
<s:sequence>
<s:element minoccurs="0" maxoccurs="1" name="sendBatchResult" type="s:string">
<s:element name="searchReports">
<s:complextype>
<s:sequence>
<s:element minoccurs="0" maxoccurs="1" name="inSearch" type="s:string">
<s:element name="searchReportsResponse">
<s:complextype>
<s:sequence>
<s:element minoccurs="0" maxoccurs="1" name="searchReportsResult" type="s:string">
<s:element name="reportError">
<s:complextype>
<s:sequence>
<s:element minoccurs="0" maxoccurs="1" name="inError" type="s:string">
<s:element minoccurs="0" maxoccurs="1" name="f" type="s:base64Binary">
<s:element name="reportErrorResponse">
<s:complextype>
<s:element name="getList">
<s:complextype>
<s:sequence>
<s:element minoccurs="0" maxoccurs="1" name="inRequest" type="s:string">
<s:element name="getListResponse">
<s:complextype>
<s:sequence>
<s:element minoccurs="0" maxoccurs="1" name="getListResult" type="s:string">
<wsdl:message name="validateUserSoapIn">
<wsdl:part name="parameters" element="tns:validateUser">
<wsdl:message name="validateUserSoapOut">
<wsdl:part name="parameters" element="tns:validateUserResponse">
<wsdl:message name="validateUserAuthorization">
<wsdl:part name="Authorization" element="tns:Authorization">
<wsdl:message name="changePasswordSoapIn">
<wsdl:part name="parameters" element="tns:changePassword">
<wsdl:message name="changePasswordSoapOut">
<wsdl:part name="parameters" element="tns:changePasswordResponse">
<wsdl:message name="changePasswordAuthorization">
<wsdl:part name="Authorization" element="tns:Authorization">
<wsdl:message name="getUserInfoSoapIn">
<wsdl:part name="parameters" element="tns:getUserInfo">
<wsdl:message name="getUserInfoSoapOut">
<wsdl:part name="parameters" element="tns:getUserInfoResponse">
<wsdl:message name="getUserInfoAuthorization">
<wsdl:part name="Authorization" element="tns:Authorization">
<wsdl:message name="calculateTotalLossSoapIn">
<wsdl:part name="parameters" element="tns:calculateTotalLoss">
<wsdl:message name="calculateTotalLossSoapOut">
<wsdl:part name="parameters" element="tns:calculateTotalLossResponse">
<wsdl:message name="calculateTotalLossAuthorization">
<wsdl:part name="Authorization" element="tns:Authorization">
<wsdl:message name="sendOrdersSoapIn">
<wsdl:part name="parameters" element="tns:sendOrders">
<wsdl:message name="sendOrdersSoapOut">
<wsdl:part name="parameters" element="tns:sendOrdersResponse">
<wsdl:message name="sendOrdersAuthorization">
<wsdl:part name="Authorization" element="tns:Authorization">
<wsdl:message name="sendBatchSoapIn">
<wsdl:part name="parameters" element="tns:sendBatch">
<wsdl:message name="sendBatchSoapOut">
<wsdl:part name="parameters" element="tns:sendBatchResponse">
<wsdl:message name="sendBatchAuthorization">
<wsdl:part name="Authorization" element="tns:Authorization">
<wsdl:message name="searchReportsSoapIn">
<wsdl:part name="parameters" element="tns:searchReports">
<wsdl:message name="searchReportsSoapOut">
<wsdl:part name="parameters" element="tns:searchReportsResponse">
<wsdl:message name="searchReportsAuthorization">
<wsdl:part name="Authorization" element="tns:Authorization">
<wsdl:message name="reportErrorSoapIn">
<wsdl:part name="parameters" element="tns:reportError">
<wsdl:message name="reportErrorSoapOut">
<wsdl:part name="parameters" element="tns:reportErrorResponse">
<wsdl:message name="reportErrorAuthorization">
<wsdl:part name="Authorization" element="tns:Authorization">
<wsdl:message name="getListSoapIn">
<wsdl:part name="parameters" element="tns:getList">
<wsdl:message name="getListSoapOut">
<wsdl:part name="parameters" element="tns:getListResponse">
<wsdl:message name="getListAuthorization">
<wsdl:part name="Authorization" element="tns:Authorization">
<wsdl:porttype name="DatalinkOrderServicesSoap">
<wsdl:operation name="validateUser">
<wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Validate User
<wsdl:input message="tns:validateUserSoapIn">
<wsdl:output message="tns:validateUserSoapOut">
<wsdl:operation name="changePassword">
<wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Change Password
<wsdl:input message="tns:changePasswordSoapIn">
<wsdl:output message="tns:changePasswordSoapOut">
<wsdl:operation name="getUserInfo">
<wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Return User Information
<wsdl:input message="tns:getUserInfoSoapIn">
<wsdl:output message="tns:getUserInfoSoapOut">
<wsdl:operation name="calculateTotalLoss">
<wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Send orders and receive RegCalc reports
<wsdl:input message="tns:calculateTotalLossSoapIn">
<wsdl:output message="tns:calculateTotalLossSoapOut">
<wsdl:operation name="sendOrders">
<wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Send orders and receive reports
<wsdl:input message="tns:sendOrdersSoapIn">
<wsdl:output message="tns:sendOrdersSoapOut">
<wsdl:operation name="sendBatch">
<wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Send orders and receive reports
<wsdl:input message="tns:sendBatchSoapIn">
<wsdl:output message="tns:sendBatchSoapOut">
<wsdl:operation name="searchReports">
<wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Search authorized reports
<wsdl:input message="tns:searchReportsSoapIn">
<wsdl:output message="tns:searchReportsSoapOut">
<wsdl:operation name="reportError">
<wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Report Errors to CDR
<wsdl:input message="tns:reportErrorSoapIn">
<wsdl:output message="tns:reportErrorSoapOut">
<wsdl:operation name="getList">
<wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Retrieve List Items
<wsdl:input message="tns:getListSoapIn">
<wsdl:output message="tns:getListSoapOut">
<wsdl:binding name="DatalinkOrderServicesSoap" type="tns:DatalinkOrderServicesSoap">
<soap:binding transport="http://schemas.xmlsoap.org/soap/http">
<wsdl:operation name="validateUser">
<soap:operation soapaction="http://datalinkservices.org/validateUser" style="document">
<wsdl:input>
<soap:body use="literal">
<soap:header message="tns:validateUserAuthorization" part="Authorization" use="literal">
<wsdl:output>
<soap:body use="literal">
<wsdl:operation name="changePassword">
<soap:operation soapaction="http://datalinkservices.org/changePassword" style="document">
<wsdl:input>
<soap:body use="literal">
<soap:header message="tns:changePasswordAuthorization" part="Authorization" use="literal">
<wsdl:output>
<soap:body use="literal">
<wsdl:operation name="getUserInfo">
<soap:operation soapaction="http://datalinkservices.org/getUserInfo" style="document">
<wsdl:input>
<soap:body use="literal">
<soap:header message="tns:getUserInfoAuthorization" part="Authorization" use="literal">
<wsdl:output>
<soap:body use="literal">
<wsdl:operation name="calculateTotalLoss">
<soap:operation soapaction="http://datalinkservices.org/calculateTotalLoss" style="document">
<wsdl:input>
<soap:body use="literal">
<soap:header message="tns:calculateTotalLossAuthorization" part="Authorization" use="literal">
<wsdl:output>
<soap:body use="literal">
<wsdl:operation name="sendOrders">
<soap:operation soapaction="http://datalinkservices.org/sendOrders" style="document">
<wsdl:input>
<soap:body use="literal">
<soap:header message="tns:sendOrdersAuthorization" part="Authorization" use="literal">
<wsdl:output>
<soap:body use="literal">
<wsdl:operation name="sendBatch">
<soap:operation soapaction="http://datalinkservices.org/sendBatch" style="document">
<wsdl:input>
<soap:body use="literal">
<soap:header message="tns:sendBatchAuthorization" part="Authorization" use="literal">
<wsdl:output>
<soap:body use="literal">
<wsdl:operation name="searchReports">
<soap:operation soapaction="http://datalinkservices.org/searchReports" style="document">
<wsdl:input>
<soap:body use="literal">
<soap:header message="tns:searchReportsAuthorization" part="Authorization" use="literal">
<wsdl:output>
<soap:body use="literal">
<wsdl:operation name="reportError">
<soap:operation soapaction="http://datalinkservices.org/reportError" style="document">
<wsdl:input>
<soap:body use="literal">
<soap:header message="tns:reportErrorAuthorization" part="Authorization" use="literal">
<wsdl:output>
<soap:body use="literal">
<wsdl:operation name="getList">
<soap:operation soapaction="http://datalinkservices.org/getList" style="document">
<wsdl:input>
<soap:body use="literal">
<soap:header message="tns:getListAuthorization" part="Authorization" use="literal">
<wsdl:output>
<soap:body use="literal">
<wsdl:binding name="DatalinkOrderServicesSoap12" type="tns:DatalinkOrderServicesSoap">
<soap12:binding transport="http://schemas.xmlsoap.org/soap/http">
<wsdl:operation name="validateUser">
<soap12:operation soapaction="http://datalinkservices.org/validateUser" style="document">
<wsdl:input>
<soap12:body use="literal">
<soap12:header message="tns:validateUserAuthorization" part="Authorization" use="literal">
<wsdl:output>
<soap12:body use="literal">
<wsdl:operation name="changePassword">
<soap12:operation soapaction="http://datalinkservices.org/changePassword" style="document">
<wsdl:input>
<soap12:body use="literal">
<soap12:header message="tns:changePasswordAuthorization" part="Authorization" use="literal">
<wsdl:output>
<soap12:body use="literal">
<wsdl:operation name="getUserInfo">
<soap12:operation soapaction="http://datalinkservices.org/getUserInfo" style="document">
<wsdl:input>
<soap12:body use="literal">
<soap12:header message="tns:getUserInfoAuthorization" part="Authorization" use="literal">
<wsdl:output>
<soap12:body use="literal">
<wsdl:operation name="calculateTotalLoss">
<soap12:operation soapaction="http://datalinkservices.org/calculateTotalLoss" style="document">
<wsdl:input>
<soap12:body use="literal">
<soap12:header message="tns:calculateTotalLossAuthorization" part="Authorization" use="literal">
<wsdl:output>
<soap12:body use="literal">
<wsdl:operation name="sendOrders">
<soap12:operation soapaction="http://datalinkservices.org/sendOrders" style="document">
<wsdl:input>
<soap12:body use="literal">
<soap12:header message="tns:sendOrdersAuthorization" part="Authorization" use="literal">
<wsdl:output>
<soap12:body use="literal">
<wsdl:operation name="sendBatch">
<soap12:operation soapaction="http://datalinkservices.org/sendBatch" style="document">
<wsdl:input>
<soap12:body use="literal">
<soap12:header message="tns:sendBatchAuthorization" part="Authorization" use="literal">
<wsdl:output>
<soap12:body use="literal">
<wsdl:operation name="searchReports">
<soap12:operation soapaction="http://datalinkservices.org/searchReports" style="document">
<wsdl:input>
<soap12:body use="literal">
<soap12:header message="tns:searchReportsAuthorization" part="Authorization" use="literal">
<wsdl:output>
<soap12:body use="literal">
<wsdl:operation name="reportError">
<soap12:operation soapaction="http://datalinkservices.org/reportError" style="document">
<wsdl:input>
<soap12:body use="literal">
<soap12:header message="tns:reportErrorAuthorization" part="Authorization" use="literal">
<wsdl:output>
<soap12:body use="literal">
<wsdl:operation name="getList">
<soap12:operation soapaction="http://datalinkservices.org/getList" style="document">
<wsdl:input>
<soap12:body use="literal">
<soap12:header message="tns:getListAuthorization" part="Authorization" use="literal">
<wsdl:output>
<soap12:body use="literal">
<wsdl:service name="DatalinkOrderServices">
<wsdl:port name="DatalinkOrderServicesSoap" binding="tns:DatalinkOrderServicesSoap">
<soap:address location="https://www.testimvrs.com/DLOrderService/DatalinkOrderService.asmx">
<wsdl:port name="DatalinkOrderServicesSoap12" binding="tns:DatalinkOrderServicesSoap12">
<soap12:address location="https://www.testimvrs.com/DLOrderService/DatalinkOrderService.asmx">
What I have tried:
I've tried the online creation tools but they do not output php code that works at all (at least with this WSDL):
https://www.testimvrs.com/DLOrderService/DatalinkOrderService.asmx?WSDL