2011-11-17 6 views
0

J'ai besoin d'aide pour utiliser l'outil SoapUI.Comment spécifier une entrée de type de données complexe dans une requête SOAP dans l'outil SoapUI

Je teste les API webServices à l'aide de cet outil.

Il y a une API appelée "getUsageReport()" qui prend les paramètres 2 entrée

  • <datasources> de type <akaaurdt:ArrayOfString>
  • <start date> de type <xsd:string>

<akaaurdt:ArrayOfString> est défini comme ci-dessous.

<complexType name="ArrayOfString"> 
    <complexContent> 
    <restriction base="soapenc:Array"> 
    <attribute ref="soapenc:arrayType" wsdl:arrayType="xsd:string[]" /> 
    </restriction> 
    </complexContent> 
</complexType> 

le xml demande dans l'interface utilisateur de savon est comme ci-dessous

<soapenv:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:bil="https://control.akamai.com/BillingReports.xsd" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"> 
    <soapenv:Header/> 
    <soapenv:Body> 
     <bil:getUsageReport soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"> 
     <datasources xsi:type="bil:ArrayOfString" soapenc:arrayType="xsd:string[]"/> 
     <startDate xsi:type="xsd:string">?</startDate> 
     </bil:getUsageReport> 
    </soapenv:Body> 
</soapenv:Envelope> 

lorsque je clique sur RUN en donnant une date à la demande, c'est la réponse

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> 
    <soapenv:Body> 
     <soapenv:Fault> 
     <faultcode>soapenv:Server.generalException</faultcode> 
     <faultstring>akaaurdt:ApplicationError:ApplicationError:(?? No Data for Given Start Date. Please resubmit with a more recent date)</faultstring> 
     <detail> 
      <ns1:exceptionName xmlns:ns1="http://xml.apache.org/axis/">com.akamai.aws.util.AWSFault</ns1:exceptionName> 
      <ns2:hostname xmlns:ns2="http://xml.apache.org/axis/">qa-portal-ws01.qaextranet.akamai.com</ns2:hostname> 
     </detail> 
     </soapenv:Fault> 
    </soapenv:Body> 
</soapenv:Envelope> 

Comment puis-je spécifier le paramètre <datasources> dans cette requête xml pour obtenir la réponse désirée?

S'il vous plaît me aider

-Kiran

Répondre

1

vous devez spécifier la date

<startDate xsi:type="xsd:string">?</startDate> 

il est nécessaire dans la demande, le format de date, je ne sais pas comment il est défini, parce que c'est le type de chaîne, et pas le type de date.

Essayez avec yyyy/MM/dd, est le type de format de date.

+0

merci pour la réponse rapide. J'ai spécifié la date en fait. Mais la documentation indique qu'il y a 2 paramètres d'entrée pour cette API dans l'ordre ''. Mais je ne suis pas en mesure de donner l'autre entrée i.e ''.J'ai besoin d'aide sur ce –

+0

quelque chose comme ça: ' jdbc/resourceName jdbc/resourceName' –

+0

@Cristian .. ce qui suit est correct .. pls m'aident \t \t 1-FO0A7 20110110

0

Vous ne voulez plus jamais soumettre une demande? des espaces réservés. Modifiez la demande pour qu'il y ait des données réelles.

+0

@Chrish: Salut Chris .. .. Nope je suis en précisant la date, mais face à des problèmes avec l'autre type de données –

+0

dans mon savon demande j'ai besoin de remplacer cette ligne '' avec un tableau réel de chaîne. Pouvez-vous s'il vous plaît m'aider avec cette –

2
  1. Exécutez getReports (ou getReportingGroups) des rapports de facturation. Disons que retourne un contractCode appelé 55555.
  2. Run méthode getUsageReport et il devrait ressembler à ce qui suit:

<soapenv:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:bil="https://control.akamai.com/BillingReports.xsd" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"> 
    <soapenv:Header/> 
    <soapenv:Body> 
     <bil:getUsageReport soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"> 
     <datasources xsi:type="bil:ArrayOfString" soapenc:arrayType="xsd:string[]"> 
     <datasource xsi:type="xsd:string">55555</datasource> 
    </datasources> 
     <startDate xsi:type="xsd:string">20120620</startDate> 
     </bil:getUsageReport> 
    </soapenv:Body> 
</soapenv:Envelope> 
Questions connexes