WSDL and SOAP

Discussion in 'XML' started by johnnyc3po, Jan 16, 2007.

  1. johnnyc3po

    johnnyc3po Guest

    Hey all,

    I recently started working with an ecommerce vendor and was looking at
    their WSDL to get an idea of how the data should go over. Now i've
    worked with a different vendor in the past who also used WSDL/SOAP for
    data exchange and have found some pecularities with this new vendor.

    Normally, what i'm used to seeing is is a definition of the method like
    so in the WSDL

    <wsdl:eek:peration name="ccValidateCard" parameterOrder="merchantName ccn
    expdate maskedCcn cardType returnCode">
    <wsdl:input message="impl:ccValidateCardRequest"
    name="ccValidateCardRequest"/>
    <wsdl:eek:utput message="impl:ccValidateCardResponse"
    name="ccValidateCardResponse"/>
    </wsdl:eek:peration>

    Normally I would building up my soap object using

    soapobject.ccValidateCard (param, param, etc)


    with the new vendor, the operations are defined differently..

    <wsdl:eek:peration name="PaymentCC">
    <wsdl:input message="tns:paymentCCSoapIn"/>
    <wsdl:eek:utput message="tns:paymentCCSoapOut"/>
    </wsdl:eek:peration>

    It seems they are using complex types, the element PaymentCC is defined
    as

    <s:element name="PaymentCC">
    −
    <s:complexType>
    −
    <s:sequence>
    <s:element minOccurs="0" maxOccurs="1" name="creditCardInfo"
    type="s1:CCStruct"/>
    </s:sequence>
    </s:complexType>
    </s:element>

    And when i look at CCStruct i see..

    <s:complexType name="CCStruct">
    −
    <s:sequence>
    <s:element minOccurs="1" maxOccurs="1" name="dUserID" type="s:double"/>
    <s:element minOccurs="1" maxOccurs="1" name="dBaseAmount"
    type="s:double"/>
    <s:element minOccurs="0" maxOccurs="1" name="strApplicationID"
    type="s:string"/>
    <s:element minOccurs="1" maxOccurs="1" name="dAmount" type="s:double"/>
    <s:element minOccurs="0" maxOccurs="1" name="dBaseAmounts"
    type="s1:ArrayOfDouble"/>
    <s:element minOccurs="1" maxOccurs="1" name="dConvFee"
    type="s:double"/>
    <s:element minOccurs="0" maxOccurs="1" name="strAcctNum"
    type="s:string"/>
    <s:element minOccurs="0" maxOccurs="1" name="strExpDate"
    type="s:string"/>
    <s:element minOccurs="0" maxOccurs="1" name="strCVV2" type="s:string"/>
    <s:element minOccurs="0" maxOccurs="1" name="strAcctHolderName"
    type="s:string"/>
    <s:element minOccurs="0" maxOccurs="1" name="strAcctHolderAddress1"
    type="s:string"/>
    <s:element minOccurs="0" maxOccurs="1" name="strAcctHolderAddress2"
    type="s:string"/>
    <s:element minOccurs="0" maxOccurs="1" name="strCity" type="s:string"/>
    <s:element minOccurs="0" maxOccurs="1" name="strState"
    type="s:string"/>
    <s:element minOccurs="0" maxOccurs="1" name="strCountry"
    type="s:string"/>
    <s:element minOccurs="0" maxOccurs="1" name="strEmail"
    type="s:string"/>
    <s:element minOccurs="0" maxOccurs="1" name="strHomePhone"
    type="s:string"/>
    <s:element minOccurs="0" maxOccurs="1" name="strBusinessPhone"
    type="s:string"/>
    <s:element minOccurs="0" maxOccurs="1" name="strTransactionData"
    type="s:string"/>
    <s:element minOccurs="1" maxOccurs="1" name="bSignatureFlag"
    type="s:boolean"/>
    <s:element minOccurs="0" maxOccurs="1" name="strSourceID"
    type="s:string"/>
    <s:element minOccurs="0" maxOccurs="1" name="strTrackData"
    type="s:string"/>
    <s:element minOccurs="1" maxOccurs="1" name="transactionSource"
    type="s1:TransactionSource"/>
    <s:element minOccurs="1" maxOccurs="1" name="bDelayCapture"
    type="s:boolean"/>
    <s:element minOccurs="1" maxOccurs="1" name="iTimeout" type="s:int"/>
    <s:element minOccurs="0" maxOccurs="1" name="cde"
    type="s1:ArrayOfString"/>
    <s:element minOccurs="0" maxOccurs="1" name="strCardType"
    type="s:string"/>
    <s:element minOccurs="0" maxOccurs="1" name="strCustomerID"
    type="s:string"/>
    <s:element minOccurs="0" maxOccurs="1" name="strAcctHolderAddress"
    type="s:string"/>
    <s:element minOccurs="1" maxOccurs="1" name="dFee" type="s:double"/>
    <s:element minOccurs="0" maxOccurs="1" name="strZipCode"
    type="s:string"/>
    </s:sequence>
    </s:complexType>


    So the issue i'm having is i don't see a method expecting parameters in
    the WSDL, how am i supposed to send data with the webservice?



    Thanks

    -John
    johnnyc3po, Jan 16, 2007
    #1
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. Dark
    Replies:
    1
    Views:
    4,609
    milfar
    Nov 14, 2008
  2. Chris Bedford
    Replies:
    0
    Views:
    565
    Chris Bedford
    Aug 21, 2003
  3. Stephen Edgecombe

    WSDL.EXE: WSDL Import Directive

    Stephen Edgecombe, Aug 13, 2003, in forum: ASP .Net Web Services
    Replies:
    0
    Views:
    227
    Stephen Edgecombe
    Aug 13, 2003
  4. RH
    Replies:
    1
    Views:
    252
    Dino Chiesa [Microsoft]
    May 27, 2004
  5. Me
    Replies:
    2
    Views:
    415
Loading...

Share This Page