Actually, I just realized that there might be one more layer of
wrapper in the response message. If you can give a sample SOAP
response message, that would help.

But, based on your current WSDL definition, I expect your response
message schema to look like this:

<s:element name="GetAVSResponseCodeValueResponse">
 <s:complexType>
  <s:sequence>
   <s:element minOccurs="0" maxOccurs="1"
      name="GetAVSResponseCodeValueResult" />
    <s:complexType>
     <s:sequence>
      <s:element name="NewDataSet">
       <s:complexType>
        <s:sequence>
         <s:element name="s:AVSRespCode">
          <s:complexType>
           <s:sequence>
            <s:element minOccurs="1" maxOccurs="1"
                name="AVSCode" type="s:string"/>
            <s:element minOccurs="1" maxOccurs="1"
                name="AVSMessage" type="s:string"/>
            <s:element minOccurs="1" maxOccurs="1"
                name="ID" type="s:string"/>
            <s:element minOccurs="1" maxOccurs="1"
                name="Status" type="s:string"/>
           </s:sequence>
          </s:complexType>
         </s:element>
        </s:sequence>
       </s:complexType>
      </s:element>
     </s:sequence>
    </s:complexType>
   </s:element>
  </s:sequence>
 </s:complexType>
</s:element>


On Mon, 28 Feb 2005 18:28:36 -0500, Anne Thomas Manes <[EMAIL PROTECTED]> wrote:
> I'm with Dino. I think you should convince your card processing
> service people to provide you with a decent schema. My chief concern
> is in regards to future maintenance. What if these "card processing
> service" people decide to change the message structure at some point
> in the future. Do they have a plan to inform you of these changes?
> 
> If they aren't willing to provide you with a schema, then it's
> relatively easy for you to construct one from the format they've
> supplied. Do you know if they are using any namespaces in the XML
> string? Your sample shows no namespaces, but if they add them, that
> will definitely impact your WSDL definition.
> 
> Your schema should look like this:
> 
> <s:element name="GetAVSResponseCodeValueResponse">
>   <s:complexType>
>     <s:sequence>
>       <s:element name="NewDataSet">
>         <s:complexType>
>           <s:sequence>
>             <s:element name="s:AVSRespCode">
>               <s:complexType>
>                 <s:sequence>
>                   <s:element minOccurs="1" maxOccurs="1"
>                       name="AVSCode" type="s:string"/>
>                   <s:element minOccurs="1" maxOccurs="1"
>                       name="AVSMessage" type="s:string"/>
>                   <s:element minOccurs="1" maxOccurs="1"
>                       name="ID" type="s:string"/>
>                   <s:element minOccurs="1" maxOccurs="1"
>                       name="Status" type="s:string"/>
>                </s:sequence>
>               </s:complexType>
>             </s:element>
>           </s:sequence>
>         </s:complexType>
>       </s:element>
>     </s:sequence>
>   </s:complexType>
> </s:element>
> 
> - Anne
> 
> 
> On Mon, 28 Feb 2005 14:43:23 -0800, Dino Chiesa <[EMAIL PROTECTED]> wrote:
> > Not stupid...
> >
> > Your approach is reasonable, but... Can you not contact the "card
> > processing service" people and ask them to resolve the  difference
> > between the doc and the WSDL ?
> >
> >
> > -----Original Message-----
> > From: Elaine Nance [mailto:[EMAIL PROTECTED]
> > Sent: Monday, February 28, 2005 3:45 PM
> > To: [email protected]
> > Subject: Handmade WSDL?
> >
> > Hope this is not stupid, but
> >
> > Problem:  the wsdl for our (supposedly) enterprise credit card
> > processing service shows well defined request parameters, but the
> >   SOAP responses are all designated as string, as shown below.
> >
> > I am thinking that the best way to generate the client stubs I need in
> > Java is to create a wsdl with better response typing and generate the
> > stubs using WSDL2Java and then test.
> >
> > Does it make sense to proceed like the above? or should I just build
> > parsers using SAX or DOM or whatever?
> >
> > Thank you,
> > Elaine
> >
> >   - example request
> > <s:element name="GetAVSResponseCodeValue">
> >    <s:complexType>
> >      <s:sequence>
> >        <s:element minOccurs="0" maxOccurs="1" name="sCode"
> > type="s:string" />
> >      </s:sequence>
> >    </s:complexType>
> > </s:element>
> >
> >   - example response as given
> > <s:element name="GetAVSResponseCodeValueResponse">
> >    <s:complexType>
> >      <s:sequence>
> >        <s:element minOccurs="0" maxOccurs="1"
> > name="GetAVSResponseCodeValueResult" type="s:string" />
> >      </s:sequence>
> >    </s:complexType>
> > </s:element>
> >
> >   - WHAT THE RESPONSE SHOULD LOOK LIKE (I THINK) <s:element
> > name="GetAVSResponseCodeValueResponse">
> >    <s:complexType type="s:AVSRespCode">
> >      <s:sequence>
> >        <s:element minOccurs="1" maxOccurs="1" name="AVSCode"
> > type="s:string"/>
> >        <s:element minOccurs="1" maxOccurs="1" name="AVSMessage"
> > type="s:string"/>
> >        <s:element minOccurs="1" maxOccurs="1" name="ID"
> > type="s:string"/>
> >        <s:element minOccurs="1" maxOccurs="1" name="Status"
> > type="s:string"/>
> >      </s:sequence>
> >    </s:complexType>
> > </s:element>
> >
> >   - ALTERNATIVELY
> > <s:element name="GetAVSResponseCodeValueResponse">
> >    <s:complexType type="s:NewDataSet">
> >      <s:sequence type="s:AVSRespCode">
> >        <s:element minOccurs="1" maxOccurs="1" name="AVSCode"
> > type="s:string"/>
> >        <s:element minOccurs="1" maxOccurs="1" name="AVSMessage"
> > type="s:string"/>
> >        <s:element minOccurs="1" maxOccurs="1" name="ID"
> > type="s:string"/>
> >        <s:element minOccurs="1" maxOccurs="1" name="Status"
> > type="s:string"/>
> >      </s:sequence>
> >    </s:complexType>
> > </s:element>
> >
> >   - the web service docs indicate that the xml returned (minus SOAP
> > envelope) will look like the following:
> >
> > <NewDataSet>
> >    <AVSRespCode>
> >      <AVSCode>1</AVSCode>
> >      <AVSMessage>No Address Supplied</AVSMessage>
> >      <ID>1</ID>
> >      <Status>E</Status>
> >    </AVSRespCode>
> > </NewDataSet>
> >
> > <~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> >   |  Computers are useless. They can only give you answers.
> >   |                                 --  Pablo Picasso  --
> > <~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> >
> >
>

Reply via email to