Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] Parameter von ext/soap

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • [Erledigt] Parameter von ext/soap

    Ich möchte einen Webservice (SOAP, WSDL verfügbar) ansprechen. Über die PHP5-eigene SOAP-Klasse.

    Nun ist es so, dass die SOAP-Funktion, die ich aufrufen möchte, als Argument eine ziemlich verschachtelte Struktur hat.

    Ich habe heute schon ziemlich viel im Web gesucht, doch bislang noch kein Beispiel gefunden, was eine Anfrage mit verschachteltem Argument (immer nur eine Ebene mit einem oder mehreren Argumenten) behandelt. Auch im PHP-Handbuch ist die SOAP-Erweiterung nur sehr knapp und unvollständig mit leider (noch) wenig Usercomments dokumentiert.

    Meine Frage: Wie lautet die generelle Syntax für verschachtelte Parameter (oder nach welchem generellen Schema muss das nachfolgende $parameters aufgebaut sein).

    $return = $soapclient->myFunction ($parameters);

    Auszug aus der WSDL-Datei für mehr Klarheit:
    Code:
          <s:complexType name="GetModifiedOrdersInput">
            <s:sequence>
              <s:element name="QueryRequestHeader" type="que:queryRequestHeader" minOccurs="0"/>
              <s:element name="FromDate" type="s:dateTime" minOccurs="0"/>
              <s:element name="ToDate" type="s:dateTime" minOccurs="0"/>
              <s:element name="OrderQueryOptions" type="que:orderQueryOptions" minOccurs="0"/>
            </s:sequence>
          </s:complexType>
    
    ...
    
          <s:complexType name="queryRequestHeader">
            <s:sequence>
              <s:element name="PartnerCode" type="s:string" minOccurs="0"/>
              <s:element name="AuthToken" type="que:authToken" minOccurs="0"/>
              <s:element name="ReplayToken" type="s:string" minOccurs="0"/>
              <s:element name="UseReplayToken" type="s:boolean" minOccurs="0"/>
            </s:sequence>
          </s:complexType>
    
    ...
    
          <s:complexType name="orderQueryOptions">
            <s:sequence>
              <s:element name="ReturnProductDetail" type="s:boolean" minOccurs="0"/>
              <s:element name="ReturnContacts" type="s:boolean" minOccurs="0"/>
              <s:element name="ReturnCertificateInfo" type="s:boolean" minOccurs="0"/>
              <s:element name="ReturnFulfillment" type="s:boolean" minOccurs="0"/>
              <s:element name="ReturnCACerts" type="s:boolean" minOccurs="0"/>
              <s:element name="ReturnOrderAttributes" type="s:boolean" minOccurs="0"/>
            </s:sequence>
          </s:complexType>

  • #2
    also ein generelles schema bin ich der meinung wirst du nicht finden
    das es ja auf die zb.: WSDLStruct klasse ankommt
    es bestreitet keiner das JEDES WSDL Dokument wohlgeformt sein muss
    und anhand dessen die form der übergabe bestimmt wird.
    doch der "syntaktische" aufbau ... tja
    doch dazu muss der der anbieter des services mehr informationen an den
    nutzer des service bereitstellen

    eventuell:
    http://schemas.xmlsoap.org/wsdl/
    http://schemas.xmlsoap.org/wsdl/soap/
    http://schemas.xmlsoap.org/soap/encoding/

    zb. aufbau der parameter in einer struct

    Code:
    				//input
    				//only when to operation needs arguments
    				$parameters = $operation->getParameters();
    				if(count($parameters)>0){
    					$messageName = $operationName."Request";
    					$input=$this->addElement("wsdl:input", $operationTag);
    					$input->setAttribute("message", "tns:".$messageName);
    					$para=Array();
    					foreach((array)$parameters as $parameterName => $parameter){
    						$para[$parameterName] = $parameter->type;
    					}
    					$this->addMessage($messageName, $para);
    					$this->addInput($this->bindingOperationTags[$serviceName][$operationName]);
    				}
    
    
    				//output
    				//only when the operation returns something
    				if(!$operation->return || trim($operation->return) == "") throw new WSDLException('No return type for '.$operationName);
    				if(strtolower(trim($operation->return))!='void'){
    					$messageName = $operationName."Response";
    					$output = $this->addElement("wsdl:output", $operationTag);
    					$output->setAttribute("message", "tns:".$messageName);
    					$this->addOutput($this->bindingOperationTags[$serviceName][$operationName]);
    					$this->addMessage($messageName,Array($operation->name."Return" => $operation->return));
    				}


    edit:

    dies scheint recht interessant zu sein

    Code:
    //		$this->addToDebug("Adding typeElement '$name':'$type'");
    		$el=$this->addElement("xsd:element",$parent);
    		$el->setAttribute("name",$name);
    		
    		if($optional){//if it's an optional property, set minOccur to 0
    			$el->setAttribute("minOccur","0");
    			$el->setAttribute("maxOccur","1");
    		}
    		//check if XML Schema datatype
    		if($t=$this->checkSchemaType(strtolower($type)))
    				$el->setAttribute("type","xsd:".$t);
    		else{//no XML Schema datatype
    			//if valueType==Array, then create anonymouse inline complexType (within element tag without type attribute)
    			if(substr($type,-2)=='[]'){
    				if($this->array_inline){
    					$this->addComplexType($type,false,$el);
    				}else{
    					$name=substr($type,0,-2)."Array";
    					$el->setAttribute("type","tns:".$name);
    					$this->addComplexType($type,$name,false);
    				}
    			}else{//else, new complextype, outline (element with 'ref' attrib)
    				$el->setAttribute("type","tns:".$type);
    				$this->addComplexType($type,$type);
    			}
    		}

    Kommentar


    • #3
      Ich werde mich mal ein bisschen weitergehend damit beschäftigen - um die Strukturen weiter zu klären, hier die komplette (zensierte) WSDL-Datei:
      Code:
      <?xml version="1.0" encoding="utf-8"?>
      <definitions xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:conv="http://www.openuri.org/2002/04/soap/conversation/" xmlns:cw="http://www.openuri.org/2002/04/wsdl/conversation/" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:jms="http://www.openuri.org/2002/04/wsdl/jms/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:s0="********" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" targetNamespace="********">
        <types>
          <s:schema xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:que="********" elementFormDefault="qualified" targetNamespace="********">
            <s:element name="GetOrderByPartnerOrderID">
              <s:complexType>
                <s:sequence>
                  <s:element name="Request" type="que:GetOrderByPartnerOrderIDInput" minOccurs="0"/>
                </s:sequence>
              </s:complexType>
            </s:element>
            <s:element name="GetOrderByPartnerOrderIDResponse">
              <s:complexType>
                <s:sequence>
                  <s:element name="GetOrderByPartnerOrderIDResult" type="que:GetOrderByPartnerOrderIDOutput" minOccurs="0"/>
                </s:sequence>
              </s:complexType>
            </s:element>
            <s:element name="GetOrdersByDateRange">
              <s:complexType>
                <s:sequence>
                  <s:element name="Request" type="que:GetOrdersByDateRangeInput" minOccurs="0"/>
                </s:sequence>
              </s:complexType>
            </s:element>
            <s:element name="GetOrdersByDateRangeResponse">
              <s:complexType>
                <s:sequence>
                  <s:element name="GetOrdersByDateRangeResult" type="que:GetOrdersByDateRangeOutput" minOccurs="0"/>
                </s:sequence>
              </s:complexType>
            </s:element>
            <s:element name="CheckStatus">
              <s:complexType>
                <s:sequence>
                  <s:element name="Request" type="que:CheckStatusInput" minOccurs="0"/>
                </s:sequence>
              </s:complexType>
            </s:element>
            <s:element name="CheckStatusResponse">
              <s:complexType>
                <s:sequence>
                  <s:element name="CheckStatusResult" type="que:CheckStatusOutput" minOccurs="0"/>
                </s:sequence>
              </s:complexType>
            </s:element>
            <s:element name="hello">
              <s:complexType>
                <s:sequence>
                  <s:element name="Input" type="s:string" minOccurs="0"/>
                </s:sequence>
              </s:complexType>
            </s:element>
            <s:element name="helloResponse">
              <s:complexType>
                <s:sequence>
                  <s:element name="helloResult" type="s:string" minOccurs="0"/>
                </s:sequence>
              </s:complexType>
            </s:element>
            <s:element name="string" nillable="true" type="s:string"/>
            <s:element name="GetFulfillment">
              <s:complexType>
                <s:sequence>
                  <s:element name="Request" type="que:GetFulfillmentInput" minOccurs="0"/>
                </s:sequence>
              </s:complexType>
            </s:element>
            <s:element name="GetFulfillmentResponse">
              <s:complexType>
                <s:sequence>
                  <s:element name="GetFulfillmentResult" type="que:GetFulfillmentOutput" minOccurs="0"/>
                </s:sequence>
              </s:complexType>
            </s:element>
            <s:element name="GetModifiedOrders">
              <s:complexType>
                <s:sequence>
                  <s:element name="Request" type="que:GetModifiedOrdersInput" minOccurs="0"/>
                </s:sequence>
              </s:complexType>
            </s:element>
            <s:element name="GetModifiedOrdersResponse">
              <s:complexType>
                <s:sequence>
                  <s:element name="GetModifiedOrdersResult" type="que:GetModifiedOrdersOutput" minOccurs="0"/>
                </s:sequence>
              </s:complexType>
            </s:element>
            <s:element name="GetQuickApproverList">
              <s:complexType>
                <s:sequence>
                  <s:element name="Request" type="que:GetQuickApproverListInput" minOccurs="0"/>
                </s:sequence>
              </s:complexType>
            </s:element>
            <s:element name="GetQuickApproverListResponse">
              <s:complexType>
                <s:sequence>
                  <s:element name="GetQuickApproverListResult" type="que:GetQuickApproverListOutput" minOccurs="0"/>
                </s:sequence>
              </s:complexType>
            </s:element>
            <s:element name="GetUserAgreement">
              <s:complexType>
                <s:sequence>
                  <s:element name="Request" type="que:GetUserAgreementInput" minOccurs="0"/>
                </s:sequence>
              </s:complexType>
            </s:element>
            <s:element name="GetUserAgreementResponse">
              <s:complexType>
                <s:sequence>
                  <s:element name="GetUserAgreementResult" type="que:GetUserAgreementOutput" minOccurs="0"/>
                </s:sequence>
              </s:complexType>
            </s:element>
            <s:element name="ParseCSR">
              <s:complexType>
                <s:sequence>
                  <s:element name="Request" type="que:ParseCSRInput" minOccurs="0"/>
                </s:sequence>
              </s:complexType>
            </s:element>
            <s:element name="ParseCSRResponse">
              <s:complexType>
                <s:sequence>
                  <s:element name="ParseCSRResult" type="que:ParseCSROutput" minOccurs="0"/>
                </s:sequence>
              </s:complexType>
            </s:element>
            <s:complexType name="GetOrderByPartnerOrderIDInput">
              <s:sequence>
                <s:element name="QueryRequestHeader" type="que:queryRequestHeader" minOccurs="0"/>
                <s:element name="PartnerOrderID" type="s:string" minOccurs="0"/>
                <s:element name="OrderQueryOptions" type="que:orderQueryOptions" minOccurs="0"/>
              </s:sequence>
            </s:complexType>
            <s:complexType name="queryRequestHeader">
              <s:sequence>
                <s:element name="PartnerCode" type="s:string" minOccurs="0"/>
                <s:element name="AuthToken" type="que:authToken" minOccurs="0"/>
                <s:element name="ReplayToken" type="s:string" minOccurs="0"/>
                <s:element name="UseReplayToken" type="s:boolean" minOccurs="0"/>
              </s:sequence>
            </s:complexType>
            <s:complexType name="authToken">
              <s:sequence>
                <s:element name="UserName" type="s:string" minOccurs="0"/>
                <s:element name="Password" type="s:string" minOccurs="0"/>
              </s:sequence>
            </s:complexType>
            <s:complexType name="orderQueryOptions">
              <s:sequence>
                <s:element name="ReturnProductDetail" type="s:boolean" minOccurs="0"/>
                <s:element name="ReturnContacts" type="s:boolean" minOccurs="0"/>
                <s:element name="ReturnCertificateInfo" type="s:boolean" minOccurs="0"/>
                <s:element name="ReturnFulfillment" type="s:boolean" minOccurs="0"/>
                <s:element name="ReturnCACerts" type="s:boolean" minOccurs="0"/>
                <s:element name="ReturnOrderAttributes" type="s:boolean" minOccurs="0"/>
              </s:sequence>
            </s:complexType>
            <s:complexType name="GetOrderByPartnerOrderIDOutput">
              <s:sequence>
                <s:element name="QueryResponseHeader" type="que:queryResponseHeader" minOccurs="0"/>
                <s:element name="OrderDetail" type="que:OrderDetail" minOccurs="0"/>
              </s:sequence>
            </s:complexType>
            <s:complexType name="queryResponseHeader">
              <s:sequence>
                <s:element name="SuccessCode" type="s:int"/>
                <s:element name="Errors" type="que:ArrayOfError" minOccurs="0"/>
                <s:element name="Timestamp" type="s:dateTime" minOccurs="0"/>
                <s:element name="ReturnCount" type="s:int"/>
              </s:sequence>
            </s:complexType>
            <s:complexType name="ArrayOfError">
              <s:sequence>
                <s:element name="Error" type="que:Error" nillable="true" minOccurs="0" maxOccurs="unbounded"/>
              </s:sequence>
            </s:complexType>
            <s:complexType name="Error">
              <s:sequence>
                <s:element name="ErrorCode" type="s:int"/>
                <s:element name="ErrorField" type="s:string" minOccurs="0"/>
                <s:element name="ErrorMessage" type="s:string" minOccurs="0"/>
              </s:sequence>
            </s:complexType>
            <s:complexType name="OrderDetail">
              <s:sequence>
                <s:element name="ModificationEvents" type="que:ArrayOfModificationEvent" minOccurs="0"/>
                <s:element name="OrderInfo" type="que:orderInfo" minOccurs="0"/>
                <s:element name="QuickOrderDetail" type="que:quickOrderDetail" minOccurs="0"/>
                <s:element name="TrueOrderDetail" type="que:trueOrderDetail" minOccurs="0"/>
                <s:element name="OrderContacts" type="que:orderContacts" minOccurs="0"/>
                <s:element name="TCOrderDetail" type="que:TCOrderDetail" minOccurs="0"/>
                <s:element name="CertificateInfo" type="que:certificateInfo" minOccurs="0"/>
                <s:element name="Fulfillment" type="que:fulfillment" minOccurs="0"/>
                <s:element name="OrderAttributes" type="que:ArrayOfOrderAttribute" minOccurs="0"/>
              </s:sequence>
            </s:complexType>
            <s:complexType name="ArrayOfModificationEvent">
              <s:sequence>
                <s:element name="ModificationEvent" type="que:ModificationEvent" nillable="true" minOccurs="0" maxOccurs="unbounded"/>
              </s:sequence>
            </s:complexType>
            <s:complexType name="ModificationEvent">
              <s:sequence>
                <s:element name="ModificationEventID" type="s:int"/>
                <s:element name="ModificationEventName" type="s:string" minOccurs="0"/>
                <s:element name="ModificationTimestamp" type="s:dateTime" minOccurs="0"/>
              </s:sequence>
            </s:complexType>
            <s:complexType name="orderInfo">
              <s:sequence>
                <s:element name="PartnerOrderID" type="s:string" minOccurs="0"/>
                <s:element name="********OrderID" type="s:int" minOccurs="0"/>
                <s:element name="DomainName" type="s:string" minOccurs="0"/>
                <s:element name="OrderDate" type="s:dateTime" minOccurs="0"/>
                <s:element name="OrderCompleteDate" type="s:dateTime" minOccurs="0"/>
                <s:element name="OrderDeactivatedDate" type="s:dateTime" minOccurs="0"/>
                <s:element name="Price" type="s:string" minOccurs="0"/>
                <s:element name="Method" type="s:string" minOccurs="0"/>
                <s:element name="OrderStatusMajor" type="s:string" minOccurs="0"/>
                <s:element name="ValidityPeriod" type="s:int" minOccurs="0"/>
                <s:element name="ServerCount" type="s:int" minOccurs="0"/>
                <s:element name="RenewalInd" type="s:string" minOccurs="0"/>
                <s:element name="CUIndicator" type="s:string" minOccurs="0"/>
                <s:element name="ProductCode" type="s:string" minOccurs="0"/>
                <s:element name="RenewalBehavior" type="s:string" minOccurs="0"/>
                <s:element name="SpecialInstructions" type="s:string" minOccurs="0"/>
              </s:sequence>
            </s:complexType>
            <s:complexType name="quickOrderDetail">
              <s:sequence>
                <s:element name="OrderStatusMinor" type="que:orderStatusMinor" minOccurs="0"/>
                <s:element name="ApproverNotifiedDate" type="s:dateTime" minOccurs="0"/>
                <s:element name="ApproverConfirmDate" type="s:dateTime" minOccurs="0"/>
                <s:element name="ApproverEmailAddress" type="s:string" minOccurs="0"/>
              </s:sequence>
            </s:complexType>
            <s:complexType name="orderStatusMinor">
              <s:sequence>
                <s:element name="OrderStatusMinorCode" type="s:string" minOccurs="0"/>
                <s:element name="OrderStatusMinorName" type="s:string" minOccurs="0"/>
              </s:sequence>
            </s:complexType>
            <s:complexType name="trueOrderDetail">
              <s:sequence>
                <s:element name="OrderStatusMinor" type="que:orderStatusMinor" minOccurs="0"/>
                <s:element name="OrganizationInfo" type="que:organizationInfo" minOccurs="0"/>
              </s:sequence>
            </s:complexType>
            <s:complexType name="organizationInfo">
              <s:sequence>
                <s:element name="OrganizationName" type="s:string" minOccurs="0"/>
                <s:element name="DUNS" type="s:string" minOccurs="0"/>
                <s:element name="OrganizationAddress" type="que:organizationAddress" minOccurs="0"/>
              </s:sequence>
            </s:complexType>
            <s:complexType name="organizationAddress">
              <s:sequence>
                <s:element name="AddressLine1" type="s:string" minOccurs="0"/>
                <s:element name="AddressLine2" type="s:string" minOccurs="0"/>
                <s:element name="AddressLine3" type="s:string" minOccurs="0"/>
                <s:element name="City" type="s:string" minOccurs="0"/>
                <s:element name="Region" type="s:string" minOccurs="0"/>
                <s:element name="PostalCode" type="s:string" minOccurs="0"/>
                <s:element name="Country" type="s:string" minOccurs="0"/>
                <s:element name="Phone" type="s:string" minOccurs="0"/>
                <s:element name="Fax" type="s:string" minOccurs="0"/>
              </s:sequence>
            </s:complexType>
            <s:complexType name="orderContacts">
              <s:sequence>
                <s:element name="AdminContact" type="que:Contact" minOccurs="0"/>
                <s:element name="TechContact" type="que:Contact" minOccurs="0"/>
                <s:element name="BillingContact" type="que:Contact" minOccurs="0"/>
              </s:sequence>
            </s:complexType>
            <s:complexType name="Contact">
              <s:sequence>
                <s:element name="FirstName" type="s:string" minOccurs="0"/>
                <s:element name="LastName" type="s:string" minOccurs="0"/>
                <s:element name="Phone" type="s:string" minOccurs="0"/>
                <s:element name="Email" type="s:string" minOccurs="0"/>
              </s:sequence>
            </s:complexType>
            <s:complexType name="TCOrderDetail">
              <s:sequence>
                <s:element name="OrderStatusMinor" type="que:orderStatusMinor" minOccurs="0"/>
                <s:element name="InviteDate" type="s:dateTime" minOccurs="0"/>
                <s:element name="InviteDuration" type="s:int" minOccurs="0"/>
              </s:sequence>
            </s:complexType>
            <s:complexType name="certificateInfo">
              <s:sequence>
                <s:element name="CertificateStatus" type="s:string" minOccurs="0"/>
                <s:element name="StartDate" type="s:dateTime" minOccurs="0"/>
                <s:element name="EndDate" type="s:dateTime" minOccurs="0"/>
                <s:element name="CommonName" type="s:string" minOccurs="0"/>
                <s:element name="SerialNumber" type="s:string" minOccurs="0"/>
                <s:element name="Locality" type="s:string" minOccurs="0"/>
                <s:element name="State" type="s:string" minOccurs="0"/>
                <s:element name="Organization" type="s:string" minOccurs="0"/>
                <s:element name="Country" type="s:string" minOccurs="0"/>
                <s:element name="OrganizationalUnit" type="s:string" minOccurs="0"/>
                <s:element name="OrganizationalUnit2" type="s:string" minOccurs="0"/>
                <s:element name="OrganizationalUnit3" type="s:string" minOccurs="0"/>
                <s:element name="WebServerType" type="s:string" minOccurs="0"/>
                <s:element name="DNSNames" type="s:string" minOccurs="0"/>
              </s:sequence>
            </s:complexType>
            <s:complexType name="fulfillment">
              <s:sequence>
                <s:element name="CACerticates" type="que:ArrayOfCACertificate" minOccurs="0"/>
                <s:element name="ServerCertificate" type="s:string" minOccurs="0"/>
                <s:element name="IconScript" type="s:string" minOccurs="0"/>
                <s:element name="Certificate" type="s:string" minOccurs="0"/>
                <s:element name="PKCS7" type="s:string" minOccurs="0"/>
                <s:element name="PKCS12" type="s:string" minOccurs="0"/>
                <s:element name="PKCS12EncryptedPassword" type="s:string" minOccurs="0"/>
              </s:sequence>
            </s:complexType>
            <s:complexType name="ArrayOfCACertificate">
              <s:sequence>
                <s:element name="CACertificate" type="que:CACertificate" nillable="true" minOccurs="0" maxOccurs="unbounded"/>
              </s:sequence>
            </s:complexType>
            <s:complexType name="CACertificate">
              <s:sequence>
                <s:element name="Type" type="s:string" minOccurs="0"/>
                <s:element name="CACert" type="s:string" minOccurs="0"/>
              </s:sequence>
            </s:complexType>
            <s:complexType name="ArrayOfOrderAttribute">
              <s:sequence>
                <s:element name="OrderAttribute" type="que:OrderAttribute" nillable="true" minOccurs="0" maxOccurs="unbounded"/>
              </s:sequence>
            </s:complexType>
            <s:complexType name="OrderAttribute">
              <s:sequence>
                <s:element name="OrderTag" type="s:string" minOccurs="0"/>
                <s:element name="OrderValue" type="s:string" minOccurs="0"/>
              </s:sequence>
            </s:complexType>
            <s:complexType name="GetOrdersByDateRangeInput">
              <s:sequence>
                <s:element name="QueryRequestHeader" type="que:queryRequestHeader" minOccurs="0"/>
                <s:element name="FromDate" type="s:dateTime" minOccurs="0"/>
                <s:element name="ToDate" type="s:dateTime" minOccurs="0"/>
                <s:element name="DNSearchString" type="s:string" minOccurs="0"/>
                <s:element name="DNComponents" type="s:string" minOccurs="0"/>
                <s:element name="OrderQueryOptions" type="que:orderQueryOptions" minOccurs="0"/>
              </s:sequence>
            </s:complexType>
            <s:complexType name="GetOrdersByDateRangeOutput">
              <s:sequence>
                <s:element name="QueryResponseHeader" type="que:queryResponseHeader" minOccurs="0"/>
                <s:element name="FromDate" type="s:dateTime" minOccurs="0"/>
                <s:element name="ToDate" type="s:dateTime" minOccurs="0"/>
                <s:element name="OrderDetails" type="que:ArrayOfOrderDetail" minOccurs="0"/>
              </s:sequence>
            </s:complexType>
            <s:complexType name="ArrayOfOrderDetail">
              <s:sequence>
                <s:element name="OrderDetail" type="que:OrderDetail" nillable="true" minOccurs="0" maxOccurs="unbounded"/>
              </s:sequence>
            </s:complexType>
            <s:complexType name="CheckStatusInput">
              <s:sequence>
                <s:element name="QueryRequestHeader" type="que:queryRequestHeader" minOccurs="0"/>
                <s:element name="PartnerOrderID" type="s:string" minOccurs="0"/>
              </s:sequence>
            </s:complexType>
            <s:complexType name="CheckStatusOutput">
              <s:sequence>
                <s:element name="QueryResponseHeader" type="que:queryResponseHeader" minOccurs="0"/>
                <s:element name="OrderStatus" type="que:orderStatus" minOccurs="0"/>
              </s:sequence>
            </s:complexType>
            <s:complexType name="orderStatus">
              <s:sequence>
                <s:element name="OrderStatusMajor" type="s:string" minOccurs="0"/>
                <s:element name="OrderStatusMinor" type="que:orderStatusMinor" minOccurs="0"/>
              </s:sequence>
            </s:complexType>
            <s:complexType name="GetFulfillmentInput">
              <s:sequence>
                <s:element name="QueryRequestHeader" type="que:queryRequestHeader" minOccurs="0"/>
                <s:element name="PartnerOrderID" type="s:string" minOccurs="0"/>
                <s:element name="ReturnCACerts" type="s:boolean" minOccurs="0"/>
                <s:element name="ReturnIconScript" type="s:boolean" minOccurs="0"/>
              </s:sequence>
            </s:complexType>
            <s:complexType name="GetFulfillmentOutput">
              <s:sequence>
                <s:element name="QueryResponseHeader" type="que:queryResponseHeader" minOccurs="0"/>
                <s:element name="Fulfillment" type="que:fulfillment" minOccurs="0"/>
              </s:sequence>
            </s:complexType>
            <s:complexType name="GetModifiedOrdersInput">
              <s:sequence>
                <s:element name="QueryRequestHeader" type="que:queryRequestHeader" minOccurs="0"/>
                <s:element name="FromDate" type="s:dateTime" minOccurs="0"/>
                <s:element name="ToDate" type="s:dateTime" minOccurs="0"/>
                <s:element name="OrderQueryOptions" type="que:orderQueryOptions" minOccurs="0"/>
              </s:sequence>
            </s:complexType>
            <s:complexType name="GetModifiedOrdersOutput">
              <s:sequence>
                <s:element name="QueryResponseHeader" type="que:queryResponseHeader" minOccurs="0"/>
                <s:element name="FromDate" type="s:dateTime" minOccurs="0"/>
                <s:element name="ToDate" type="s:dateTime" minOccurs="0"/>
                <s:element name="OrderDetails" type="que:ArrayOfOrderDetail" minOccurs="0"/>
              </s:sequence>
            </s:complexType>
            <s:complexType name="GetQuickApproverListInput">
              <s:sequence>
                <s:element name="QueryRequestHeader" type="que:queryRequestHeader" minOccurs="0"/>
                <s:element name="Domain" type="s:string" minOccurs="0"/>
                <s:element name="IncludeUserAgreement" type="que:includeUserAgreement" minOccurs="0"/>
              </s:sequence>
            </s:complexType>
            <s:complexType name="includeUserAgreement">
              <s:sequence>
                <s:element name="UserAgreementProductCode" type="s:string" minOccurs="0"/>
              </s:sequence>
            </s:complexType>
            <s:complexType name="GetQuickApproverListOutput">
              <s:sequence>
                <s:element name="QueryResponseHeader" type="que:queryResponseHeader" minOccurs="0"/>
                <s:element name="ApproverList" type="que:ArrayOfApprover" minOccurs="0"/>
                <s:element name="UserAgreement" type="s:string" minOccurs="0"/>
              </s:sequence>
            </s:complexType>
            <s:complexType name="ArrayOfApprover">
              <s:sequence>
                <s:element name="Approver" type="que:Approver" nillable="true" minOccurs="0" maxOccurs="unbounded"/>
              </s:sequence>
            </s:complexType>
            <s:complexType name="Approver">
              <s:sequence>
                <s:element name="ApproverType" type="s:string" minOccurs="0"/>
                <s:element name="ApproverEmail" type="s:string" minOccurs="0"/>
              </s:sequence>
            </s:complexType>
            <s:complexType name="GetUserAgreementInput">
              <s:sequence>
                <s:element name="QueryRequestHeader" type="que:queryRequestHeader" minOccurs="0"/>
                <s:element name="UserAgreementProductCode" type="s:string" minOccurs="0"/>
              </s:sequence>
            </s:complexType>
            <s:complexType name="GetUserAgreementOutput">
              <s:sequence>
                <s:element name="QueryResponseHeader" type="que:queryResponseHeader" minOccurs="0"/>
                <s:element name="UserAgreement" type="s:string" minOccurs="0"/>
              </s:sequence>
            </s:complexType>
            <s:complexType name="ParseCSRInput">
              <s:sequence>
                <s:element name="QueryRequestHeader" type="que:queryRequestHeader" minOccurs="0"/>
                <s:element name="CSR" type="s:string" minOccurs="0"/>
              </s:sequence>
            </s:complexType>
            <s:complexType name="ParseCSROutput">
              <s:sequence>
                <s:element name="QueryResponseHeader" type="que:queryResponseHeader" minOccurs="0"/>
                <s:element name="DomainName" type="s:string" minOccurs="0"/>
                <s:element name="Country" type="s:string" minOccurs="0"/>
                <s:element name="Email" type="s:string" minOccurs="0"/>
                <s:element name="Locality" type="s:string" minOccurs="0"/>
                <s:element name="Organization" type="s:string" minOccurs="0"/>
                <s:element name="OrganizationUnit" type="s:string" minOccurs="0"/>
                <s:element name="State" type="s:string" minOccurs="0"/>
                <s:element name="IsValidTrueDomainName" type="s:boolean"/>
                <s:element name="IsValidQuickDomainName" type="s:boolean"/>
                <s:element name="HasBadExtensions" type="s:boolean"/>
              </s:sequence>
            </s:complexType>
          </s:schema>
      
        </types>
        <message name="GetOrderByPartnerOrderIDSoapIn">
          <part name="parameters" element="s0:GetOrderByPartnerOrderID"/>
        </message>
        <message name="GetOrderByPartnerOrderIDSoapOut">
          <part name="parameters" element="s0:GetOrderByPartnerOrderIDResponse"/>
        </message>
        <message name="GetOrdersByDateRangeSoapIn">
          <part name="parameters" element="s0:GetOrdersByDateRange"/>
        </message>
        <message name="GetOrdersByDateRangeSoapOut">
          <part name="parameters" element="s0:GetOrdersByDateRangeResponse"/>
        </message>
        <message name="CheckStatusSoapIn">
          <part name="parameters" element="s0:CheckStatus"/>
        </message>
        <message name="CheckStatusSoapOut">
          <part name="parameters" element="s0:CheckStatusResponse"/>
        </message>
        <message name="helloSoapIn">
          <part name="parameters" element="s0:hello"/>
        </message>
        <message name="helloSoapOut">
          <part name="parameters" element="s0:helloResponse"/>
        </message>
        <message name="GetFulfillmentSoapIn">
          <part name="parameters" element="s0:GetFulfillment"/>
        </message>
        <message name="GetFulfillmentSoapOut">
          <part name="parameters" element="s0:GetFulfillmentResponse"/>
        </message>
        <message name="GetModifiedOrdersSoapIn">
          <part name="parameters" element="s0:GetModifiedOrders"/>
        </message>
        <message name="GetModifiedOrdersSoapOut">
          <part name="parameters" element="s0:GetModifiedOrdersResponse"/>
        </message>
        <message name="GetQuickApproverListSoapIn">
          <part name="parameters" element="s0:GetQuickApproverList"/>
        </message>
        <message name="GetQuickApproverListSoapOut">
          <part name="parameters" element="s0:GetQuickApproverListResponse"/>
        </message>
        <message name="GetUserAgreementSoapIn">
          <part name="parameters" element="s0:GetUserAgreement"/>
        </message>
        <message name="GetUserAgreementSoapOut">
          <part name="parameters" element="s0:GetUserAgreementResponse"/>
        </message>
        <message name="ParseCSRSoapIn">
          <part name="parameters" element="s0:ParseCSR"/>
        </message>
        <message name="ParseCSRSoapOut">
          <part name="parameters" element="s0:ParseCSRResponse"/>
        </message>
        <message name="helloHttpGetIn">
          <part name="Input" type="s:string"/>
        </message>
        <message name="helloHttpGetOut">
          <part name="Body" element="s0:string"/>
        </message>
        <message name="helloHttpXMLIn">
          <part name="parameters" element="s0:string"/>
        </message>
        <message name="helloHttpXMLOut">
          <part name="parameters" element="s0:string"/>
        </message>
        <portType name="querySoap">
          <operation name="GetOrderByPartnerOrderID">
            <documentation>GetOrderByPartnerOrderIDOutput Get Order details using partner order ID.</documentation>
            <input message="s0:GetOrderByPartnerOrderIDSoapIn"/>
            <output message="s0:GetOrderByPartnerOrderIDSoapOut"/>
          </operation>
          <operation name="GetOrdersByDateRange">
            <documentation>GetOrdersByDateRangeOutput Get order details in given date range/</documentation>
            <input message="s0:GetOrdersByDateRangeSoapIn"/>
            <output message="s0:GetOrdersByDateRangeSoapOut"/>
          </operation>
          <operation name="CheckStatus">
            <documentation>CheckStatus Returns the status of an order.</documentation>
            <input message="s0:CheckStatusSoapIn"/>
            <output message="s0:CheckStatusSoapOut"/>
          </operation>
          <operation name="hello">
            <input message="s0:helloSoapIn"/>
            <output message="s0:helloSoapOut"/>
          </operation>
          <operation name="GetFulfillment">
            <documentation>GetFullfillment will return the appropriate fulfillment (e.g., certificate, icon script, etc.) for a particular order.</documentation>
            <input message="s0:GetFulfillmentSoapIn"/>
            <output message="s0:GetFulfillmentSoapOut"/>
          </operation>
          <operation name="GetModifiedOrders">
            <documentation>GetModifiedOrdersOutput Get orders modified in a given date range.</documentation>
            <input message="s0:GetModifiedOrdersSoapIn"/>
            <output message="s0:GetModifiedOrdersSoapOut"/>
          </operation>
          <operation name="GetQuickApproverList">
            <documentation>GetQuickApproverListOutput Get valid email approval list for given domain.</documentation>
            <input message="s0:GetQuickApproverListSoapIn"/>
            <output message="s0:GetQuickApproverListSoapOut"/>
          </operation>
          <operation name="GetUserAgreement">
            <documentation>GetUserAgreementOutput Returns the user agreement for a given product.</documentation>
            <input message="s0:GetUserAgreementSoapIn"/>
            <output message="s0:GetUserAgreementSoapOut"/>
          </operation>
          <operation name="ParseCSR">
            <input message="s0:ParseCSRSoapIn"/>
            <output message="s0:ParseCSRSoapOut"/>
          </operation>
        </portType>
        <portType name="queryHttpGet">
          <operation name="hello">
            <input message="s0:helloHttpGetIn"/>
            <output message="s0:helloHttpGetOut"/>
          </operation>
        </portType>
        <portType name="queryHttpXML">
          <operation name="hello">
            <input message="s0:helloHttpXMLIn"/>
            <output message="s0:helloHttpXMLOut"/>
          </operation>
        </portType>
        <binding name="querySoap" type="s0:querySoap">
          <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document"/>
          <operation name="GetOrderByPartnerOrderID">
            <soap:operation soapAction="********/GetOrderByPartnerOrderID" style="document"/>
            <input>
              <soap:body use="literal"/>
            </input>
            <output>
              <soap:body use="literal"/>
            </output>
          </operation>
          <operation name="GetOrdersByDateRange">
            <soap:operation soapAction="********/GetOrdersByDateRange" style="document"/>
            <input>
              <soap:body use="literal"/>
            </input>
            <output>
              <soap:body use="literal"/>
            </output>
          </operation>
          <operation name="CheckStatus">
            <soap:operation soapAction="********/CheckStatus" style="document"/>
            <input>
              <soap:body use="literal"/>
            </input>
            <output>
              <soap:body use="literal"/>
            </output>
          </operation>
          <operation name="hello">
            <soap:operation soapAction="********/hello" style="document"/>
            <input>
              <soap:body use="literal"/>
            </input>
            <output>
              <soap:body use="literal"/>
            </output>
          </operation>
          <operation name="GetFulfillment">
            <soap:operation soapAction="********/GetFulfillment" style="document"/>
            <input>
              <soap:body use="literal"/>
            </input>
            <output>
              <soap:body use="literal"/>
            </output>
          </operation>
          <operation name="GetModifiedOrders">
            <soap:operation soapAction="********/GetModifiedOrders" style="document"/>
            <input>
              <soap:body use="literal"/>
            </input>
            <output>
              <soap:body use="literal"/>
            </output>
          </operation>
          <operation name="GetQuickApproverList">
            <soap:operation soapAction="********/GetQuickApproverList" style="document"/>
            <input>
              <soap:body use="literal"/>
            </input>
            <output>
              <soap:body use="literal"/>
            </output>
          </operation>
          <operation name="GetUserAgreement">
            <soap:operation soapAction="********/GetUserAgreement" style="document"/>
            <input>
              <soap:body use="literal"/>
            </input>
            <output>
              <soap:body use="literal"/>
            </output>
          </operation>
          <operation name="ParseCSR">
            <soap:operation soapAction="********/ParseCSR" style="document"/>
            <input>
              <soap:body use="literal"/>
            </input>
            <output>
              <soap:body use="literal"/>
            </output>
          </operation>
        </binding>
        <binding name="queryHttpGet" type="s0:queryHttpGet">
          <http:binding verb="GET"/>
          <operation name="hello">
            <http:operation location="/hello"/>
            <input>
              <http:urlEncoded/>
            </input>
            <output>
              <mime:mimeXml part="Body"/>
            </output>
          </operation>
        </binding>
        <binding name="queryHttpXML" type="s0:queryHttpXML">
          <http:binding verb="POST"/>
          <operation name="hello">
            <http:operation/>
            <input>
              <mime:mimeXml part="Body"/>
            </input>
            <output>
              <mime:mimeXml part="Body"/>
            </output>
          </operation>
        </binding>
        <service name="query">
          <documentation>The Query Web Service provides operations for querying on Partner orders in a variety of ways.&lt;br> &lt;br></documentation>
          <port name="querySoap" binding="s0:querySoap">
            <soap:address location="********"/>
          </port>
          <port name="queryHttpGet" binding="s0:queryHttpGet">
            <http:address location="********"/>
          </port>
          <port name="queryHttpXML" binding="s0:queryHttpXML">
            <http:address location="********"/>
          </port>
        </service>
      </definitions>

      Kommentar

      Lädt...
      X