|
I realize that I made a mistake in my earlier
postings.
I previously stated that the way you indicate in your WSDL file that you want a WRAPPED service is to make sure that the <wsdl:message> name is the same as the <wsdl:operation> name. But in fact, what you have to do is make sure that the element name referenced in the <wsdl:part> is the same as the <wsdl:operation>. So, the proper definitions in Wendy's WSDL should look like this: <types> <schema targetNamespace="urn:subscription-ns-type" xmlns:typens="urn:subscription-ns-type" xmlns="http://www.w3.org/2001/XMLSchema"> <complexType name="subscription"> <sequence> <element maxOccurs="1" minOccurs="1" name="userId" type="xsd:string" /> <element maxOccurs="1" minOccurs="1" name="password" type="xsd:string" /> </sequence> </complexType> <element name="SubscriptionRequest" type="typens:subscription" /> ... </schema> </types> ... <message name="SubscriptionInput"> <part name="body" element="typens:SubscriptionRequest" /> </message> ... <portType name="SubscriptionServicePort"> <operation name="SubscriptionRequest"> <input message="tns:SubscriptionInput" /> <output message="tns:SubscriptionOutput" /> </operation> </portType> Sorry for leading you astray.
Anne
----- Original Message ----- From: Wendy Smoak To: '[EMAIL PROTECTED]' Sent: Friday, August 01, 2003 6:33 PM Subject: 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 |
Title: RE: Need WSDL for this SOAP message
- Re: Need WSDL for this SOAP message Anne Thomas Manes
- RE: Need WSDL for this SOAP message Wendy Smoak
- RE: Need WSDL for this SOAP message Mike Perham
- RE: Need WSDL for this SOAP message Cory Wilkerson
- RE: Need WSDL for this SOAP message Wendy Smoak
- RE: Need WSDL for this SOAP message Wendy Smoak
- Re: Need WSDL for this SOAP message Anne Thomas Manes
- Re: Need WSDL for this SOAP message Anne Thomas Manes
- RE: Need WSDL for this SOAP message Wendy Smoak
- Re: Need WSDL for this SOAP message Anne Thomas Manes
- RE: Need WSDL for this SOAP message Anne Thomas Manes
- RE: Need WSDL for this SOAP message Wendy Smoak
