Title: RE: Need WSDL for this SOAP message

Anne wrote:
> Based on your current WSDL file (which looks correct), I would expect the
> client to send a SOAP message that looks like this:
> <e:body>
>    <ns1:SubscriptionAttributes xmlns:ns1="urn-subscription-ns-type">
>       <userId>nobody</userid>
>       <password>passwd</password>
>    </ns1:SubscriptionRequest>
> <e:body>

Hmmm... I was expecting the element just inside <body> to be <subscription> not <SubscriptionAttributes>.  Axis generated Subscription and SubscriptionResponse classes from that WSDL, the complexTypes.  (Not SubscriptionAttributes and SubscriptionResponse, the element names.)

In any case Axis complains unless it's <subscribe> which matches the method name.  Anything else, and I get:
   No such operation 'tagname'

I'm closer than I've ever been, but not quite there yet!  I think it's the client code that's broken now.  I don't know how to get it to make a <SubscriptionAttributes> or <subscription> tag around the userId and password tags.

I was hoping that by sending the SOAPAction, which now appears in the header and matches the SOAPAction in the WSDL file, that would tell Axis which service I was trying to call.  Instead, Axis is picking the first tag inside <body> as the name of the method.

But I'm running on guesses and assumptions at this point.  I'm sticking with the WSDL as-is since it's been blessed by Anne, and will try to adjust the wsdd and the client code to match.

The wsdl, wsdd, and client code are here:
http://www.public.asu.edu/~wsmoak/xml/

--
Wendy Smoak
Applications Systems Analyst, Sr.
Arizona State University, PA, IRM

Reply via email to