Title: RE: Need WSDL for this SOAP message
Wendy,
 
I'm not sure I understand why you're using the call interface. The main reason that you want to use WRAPPED is so that you can invoke your service using something like this:
 
       string ResponseInfo = service.SubscriptionRequest( usedId, password );
 
You should compile your WSDL file with wsdl2java and generate your client interface.
 
Anne
----- Original Message -----
Sent: Friday, August 01, 2003 5:37 PM
Subject: RE: Need WSDL for this SOAP message


Cory wrote:
> Using "document" in the wsdd is just telling Axis that when it generates the WSDL for this thing,
> it should tell the world (via soap:operation style="document") that the the message's that are sent
> to you should NOT be fashioned as RPC style messages

I'm not letting Axis generate the WSDL, and I do have
   <soap:operation soapAction="SubscriptionServicePort#subscribe" style="document"/>

(The latest version is here: http://www.public.asu.edu/~wsmoak/xml/webauth.wsdl)

So yes, I hope I'm announcing to the world that I want a plain old XML file in the body of the message, one that matches one of the schemas in the <types> section.

I'm down to a new and improved error message:

g:\irm\sharedsource\services>java edu.asu.vpia.webauth.SubscriptionClient -lhttp
://localhost:81/svcdev/services/MySubscriptionService
Using endpointURL:  http://localhost:81/svcdev/services/MySubscriptionService
org.xml.sax.SAXException: Bad types (class java.lang.String -> class edu.asu.vpi
a.webauth.Subscription)

And by using tcpmon, I think I've determined that my Client class is the problem.  It's based on the Client from example3, and it's sending this:

<?xml version="1.0" encoding="UTF-8"?>
<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>
  <ns1:subscribe soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns1="MySubscriptionService">
   <userId xsi:type="xsd:string">nobody</userId>
   <password xsi:type="xsd:string">passwd</password>
  </ns1:subscribe>
 </soapenv:Body>
</soapenv:Envelope>

Pretty close, actually.  <subscribe> should be <subscription>, but that's controlled by the line:
  call.setOperationName( new QName("MySubscriptionService", "subscribe") );
If I change it, I get:
  No such operation 'subscription'

It's not sending the SOAPAction either.  What does the Java client code look like for a document/literal message, one that has XML matching something in the <types> section of the wsdl?  Can you do it with the Call class, or is that only for RPC calls?  Client code is here:  http://www.public.asu.edu/~wsmoak/xml/SubscriptionClient.java

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

Reply via email to