PHP: подключение к веб-сервисам DHL ELP с аутентификацией - PullRequest
0 голосов
/ 11 мая 2018

Я пытаюсь подключиться к веб-сервисам DHL ELP на PHP с базовой аутентификацией. Как мне отправить имя пользователя и пароль с помощью PHP и пройти аутентификацию на веб-сервисах DHL?

В SOAP UI я могу подключиться и сделать запрос / изменить / отменить.

Любая помощь будет оценена. Спасибо.

Смотрите код, который у меня есть:

class TypeElpProcess{
    var $Security;//TypeSecurity
    var $Command;//TypeCommand
    var $Data;//TypeData
}
class TypeSecurity{

}
class TypeCommand{
    var $Name;//_x0040_Name
    var $DirectRelease;//TypeFlag
    var $NextBusinessDay;//TypeFlag
    var $CompletePreviousLeg;//TypeFlag
    var $IncludePaperwork;//TypeFlag
    var $CalendarNoOfDays;//decimal
    var $CallMethod;//_x0040_CallMethod
}
class TypeData{
    var $OrderDetails;//TypeOrderDetails
    var $OrderAdditionInformation;//TypeAdditionalInfo
    var $ShipmentDetails;//TypeShipmentDetails
    var $Pieces;//TypePiece
    var $ShipperAddressSegment;//TypeAddress
    var $PickupAddressSegment;//TypeAddress
    var $ReturnLegDeliveryAddressSegment;//TypeAddress
    var $PackagingLegDeliveryAddressSegment;//TypeAddress
    var $RepairVendorAddressSegment;//TypeAddress
    var $PackageSupplierAddressSegment;//TypeAddress
    var $Notification;//TypeNotification
    var $Query;//TypeQuery
}
class TypeOrderDetails{
    var $RMANo;//_x0040_RMANo
    var $ShipperReferenceNo;//_x0040_ShipperReferenceNo
    var $BookingReferenceNo;//_x0040_BookingReferenceNo
    var $OrderNo;//_x0040_OrderNo
    var $DCNo;//_x0040_DCNo
    var $SiteNo;//_x0040_SiteNo
    var $ProtocolNo;//_x0040_ProtocolNo
    var $ProjectNo;//_x0040_ProjectNo
    var $CustomerProgramId;//_x0040_CustomerProgramId
    var $Booking_Language;//_x0040_Booking_Language
    var $EDI_Notification_Email;//_x0040_EDI_Notification_Email
    var $ProcessType;//_x0040_ProcessType
    var $ShowAccNoOnLabel;//TypeFlag
    var $UseSwapScenario;//TypeFlag
}
class TypeAdditionalInfo{
    var $AtNm;//_x0040_AtNm
    var $AtVal;//_x0040_AtVal
}
class TypeShipmentDetails{
    var $DangerousGoods;//TypeDangerousGoods
    var $CustomsHandling;//TypeCustomsHandling
    var $PayerAddressSegement;//TypePayerAddressSegement
    var $Services;//TypeService
    var $Paperwork;//TypePaperworks
    var $ShipmentAdditionInformation;//TypeAdditionalInfo
    var $Pieces;//TypePiece
    var $Leg;//_x0040_Leg
    var $MgNProdCd;//_x0040_MgNProdCd
    var $PlannedPuDt;//TypeDateString
    var $ActualPuDt;//TypeDateString
    var $PlannedDelDtm;//TypeDateTimeString
    var $ActualDlvDtm;//TypeDateTimeString
    var $ReadyTm;//time
    var $CloseTm;//time
    var $DeliveryTm;//time
    var $PuCutOffTm;//time
    var $LatestBookingTm;//time
    var $TransitDays;//decimal
    var $MinBoxDryIceDurationDays;//decimal
    var $CalendarViewResponseId;//decimal
    var $ShpId;//_x0040_ShpId
    var $OrgSrvaCd;//TypeCode3
    var $OrgFcCd;//TypeCode3
    var $DstSrvaCd;//TypeCode3
    var $DstFcCd;//TypeCode3
    var $PuTourId;//_x0040_PuTourId
    var $DscGds;//_x0040_DscGds
    var $InsVal;//_x0040_InsVal
    var $InsValCurCd;//TypeCode3
    var $SendPaperwork_EmailFlag;//TypeFlag
    var $SendPaperwork_SMSFlag;//TypeFlag
    var $SendPaperwork_FAXFlag;//TypeFlag
    var $DangerousGoodsContactNm;//_x0040_DangerousGoodsContactNm
    var $DangerousGoodsContactPhone;//_x0040_DangerousGoodsContactPhone
    var $DoBooking;//TypeFlag
    var $BookingReference;//_x0040_BookingReference
}
class TypeDangerousGoods{
    var $DangerousGoodsCode;//_x0040_DangerousGoodsCode
}
class TypeCustomsHandling{
    var $CustomsDocuments;//TypeCustomsDocument
    var $CustomsItem;//TypeCustomsItem
    var $TotGWgt;//TypeWeight
    var $TrmTrdCd;//TypeCode3
    var $RefNo;//_x0040_RefNo
    var $ExprtRsn;//_x0040_ExprtRsn
    var $TypeOfExport;//_x0040_TypeOfExport
    var $CustVal;//_x0040_CustVal
    var $CustValCurCd;//TypeCode3
    var $CustRmk;//_x0040_CustRmk
    var $ProformaInvoice;//TypeFlag
    var $CommercialInvoice;//TypeFlag
}
class TypeCustomsDocument{
    var $Format;//_x0040_Format
    var $CustDoc;//base64Binary
}
class TypeCustomsItem{
    var $CntnDsc;//_x0040_CntnDsc
    var $PtNo;//_x0040_PtNo
    var $CurCd;//TypeCode3
    var $COfManCd;//TypeCode2
    var $CntnVal;//_x0040_CntnVal
    var $CntnQnt;//_x0040_CntnQnt
    var $CntnNetWgt;//TypeWeight
    var $CmdtCd;//_x0040_CmdtCd
}
class TypePayerAddressSegement{
    var $Zip;//_x0040_Zip
    var $StrNo;//_x0040_StrNo
    var $StrNm;//_x0040_StrNm
    var $SCBldNm;//_x0040_SCBldNm
    var $CustNm;//_x0040_CustNm
    var $CtyNm;//_x0040_CtyNm
    var $CtryCd;//TypeCode2
    var $CtryDivNm;//_x0040_CtryDivNm
    var $CntNm;//_x0040_CntNm
    var $Ref;//_x0040_Ref
    var $AccNo;//_x0040_AccNo
}
class TypeService{
    var $SrvCd;//TypeCode2
}
class TypePaperworks{
    var $Format;//_x0040_Format2
    var $PprwrkData;//_x0040_PprwrkData
}
class TypePiece{
    var $PcsId;//_x0040_PcsId
    var $DclW;//TypeMeasure
    var $DclWgt;//TypeWeight
    var $DclL;//TypeMeasure
    var $DclH;//TypeMeasure
    var $CDUom;//TypeCode3
    var $CWgtUom;//TypeCode3
    var $CaseId;//_x0040_CaseId
    var $OptionalSupplyId;//_x0040_OptionalSupplyId
}
class TypeAddress{
    var $CommunicationDevice;//TypeCommunicationDevice
    var $Id;//_x0040_Id
    var $AddrBookMatchCode;//_x0040_AddrBookMatchCode
    var $Zip;//_x0040_Zip2
    var $StrNo;//_x0040_StrNo2
    var $StrNm;//_x0040_StrNm2
    var $SCBldNm;//_x0040_SCBldNm2
    var $CustNm;//_x0040_CustNm2
    var $CtyNm;//_x0040_CtyNm2
    var $Dist;//_x0040_Dist
    var $CtryCd;//TypeCode2
    var $CtryDivNm;//_x0040_CtryDivNm2
    var $CntNm;//_x0040_CntNm2
    var $Ref;//_x0040_Ref2
    var $Phone;//_x0040_Phone
    var $Fax;//_x0040_Fax
    var $Mobile;//_x0040_Mobile
    var $Email;//_x0040_Email
}
class TypeCommunicationDevice{
    var $DevTyCd;//_x0040_DevTyCd
    var $DevNo;//_x0040_DevNo
}
class TypeNotification{
    var $code;//_x0040_code
    var $message;//_x0040_message
}
class TypeQuery{
    var $createDT_From;//_x0040_createDT_From
    var $createDT_To;//_x0040_createDT_To
    var $PuDT_From;//_x0040_PuDT_From
    var $PuDT_To;//_x0040_PuDT_To
}
class TypeElpProcessResponse{
    var $Security;//TypeSecurity
    var $Command;//TypeCommand
    var $Data;//TypeResponse
}
class TypeResponse{
    var $RequestData;//TypeData
    var $ResponseData;//TypeData
}
class BookingElpEntry{
    var $ElpProcess;//TypeElpProcess
}
class BookingElpEntryResponse{
    var $ElpProcessResponse;//TypeElpProcessResponse
}
class dhl
 {
 var $soapClient;

    private static $classmap = array('TypeElpProcess'=>'TypeElpProcess'
    ,'TypeSecurity'=>'TypeSecurity'
    ,'TypeCommand'=>'TypeCommand'
    ,'TypeData'=>'TypeData'
    ,'TypeOrderDetails'=>'TypeOrderDetails'
    ,'TypeAdditionalInfo'=>'TypeAdditionalInfo'
    ,'TypeShipmentDetails'=>'TypeShipmentDetails'
    ,'TypeDangerousGoods'=>'TypeDangerousGoods'
    ,'TypeCustomsHandling'=>'TypeCustomsHandling'
    ,'TypeCustomsDocument'=>'TypeCustomsDocument'
    ,'TypeCustomsItem'=>'TypeCustomsItem'
    ,'TypePayerAddressSegement'=>'TypePayerAddressSegement'
    ,'TypeService'=>'TypeService'
    ,'TypePaperworks'=>'TypePaperworks'
    ,'TypePiece'=>'TypePiece'
    ,'TypeAddress'=>'TypeAddress'
    ,'TypeCommunicationDevice'=>'TypeCommunicationDevice'
    ,'TypeNotification'=>'TypeNotification'
    ,'TypeQuery'=>'TypeQuery'
    ,'TypeElpProcessResponse'=>'TypeElpProcessResponse'
    ,'TypeResponse'=>'TypeResponse'
    ,'BookingElpEntry'=>'BookingElpEntry'
    ,'BookingElpEntryResponse'=>'BookingElpEntryResponse'

    );

    function __construct($url='https://wsbexpressuat.dhl.com/ws/euDcgFramework.BookingELP.services:BookingElpSrvcProvider?wsdl')
         {
          $this->soapClient = new SoapClient($url,array("classmap"=>self::$classmap,"trace" => true,"exceptions" => true));
         }

    function BookingElpEntry(BookingElpEntry $BookingElpEntry)
        {

        $BookingElpEntryResponse = $this->soapClient->BookingElpEntry($BookingElpEntry);
        return $BookingElpEntryResponse;

        }
}

1 Ответ

0 голосов
/ 11 мая 2018

Возможный дубликат WSDL в PHP с базовой аутентификацией . По крайней мере, вы найдете ответ там:

$options = array(
            'login' => $username,
            'password' => $password,
           );
$client = new SoapClient($wsdl, $options);
...