Okay, attached is a WSDL that worked fine for generating very simple to use wrapped document/literal services with WSDL2Java.

Now, the code WSDL2Java generates is as though the wrapped document/literal convention is broken.

It accepts a "Request" bean for each argument, and expects a "Response" bean in return.

What the heck?

    Thanks,
    Scott S. McCoy
<?xml version="1.0" encoding="UTF-8"?>
<!-- $Id: account.wsdl,v 1.2 2006/04/26 23:34:09 smccoy Exp $ -->
<!--
    This WSDL is for generation only.  It is not WS-I compliant, and actually
    in some spots might even been poorly formed WSDL.  This however makes it
    easier to read, maintain, reduces duplication, and doesn't matter:  The
    WSDL here is used only for code and further markup generation.  A WS-I
    Compliant WSDL should then be generated from the code generated from this
    WSDL, by Axis, automatically.
  -->

<wsdl:definitions name="urn:Account"
             targetNamespace="http://plapi.enhance.com/service/account";
             xmlns:tns="http://plapi.enhance.com/service/account";
             xmlns:typens="http://plapi.enhance.com/service/account";
             xmlns:authns="http://plapi.enhance.com/credentials";
             xmlns:xsd="http://www.w3.org/2001/XMLSchema";
             xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/";
             xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/";>

    <wsdl:types>
        <xsd:schema targetNamespace="http://plapi.enhance.com/service/account";>
            <xsd:include schemaLocation="account.xsd"/>
        </xsd:schema>
    </wsdl:types>

    <wsdl:message name="createAccountRequest">
        <wsdl:part name="createAccount" element="tns:createAccountRequest"/>
    </wsdl:message>

    <wsdl:message name="updateAccountRequest">
        <wsdl:part name="updateAccount" element="tns:updateAccountRequest"/>
    </wsdl:message>

    <wsdl:message name="fetchAccountRequest">
        <wsdl:part name="fetchAccount" element="tns:fetchAccountRequest"/>
    </wsdl:message>

    <wsdl:message name="cancelAccountRequest">
        <wsdl:part name="cancelAccount" element="tns:cancelAccountRequest"/>
    </wsdl:message>

    <wsdl:message name="listAccountsRequest">
        <wsdl:part name="listAccounts" element="tns:listAccountsRequest"/>
    </wsdl:message>

    <wsdl:message name="createUserRequest">
        <wsdl:part name="createUser" element="tns:createUserRequest"/>
    </wsdl:message>

    <wsdl:message name="updateUserRequest">
        <wsdl:part name="updateUser" element="tns:updateUserRequest"/>
    </wsdl:message>

    <wsdl:message name="grantAccessRequest">
        <wsdl:part name="grantAccess" element="tns:grantAccessRequest"/>
    </wsdl:message>

    <wsdl:message name="revokeAccessRequest">
        <wsdl:part name="revokeAccess" element="tns:revokeAccessRequest"/>
    </wsdl:message>

    <wsdl:message name="addFundsRequest">
        <wsdl:part name="addFunds" element="tns:addFundsRequest"/>
    </wsdl:message>

    <wsdl:message name="addCreditCardRequest">
        <wsdl:part name="addCreditCard" element="tns:addCreditCardRequest"/>
    </wsdl:message>


    <!-- we need to return a different message than we accept -->
    <wsdl:message name="createAccountResponse">
        <wsdl:part name="response" element="tns:createAccountResponse"/>
    </wsdl:message>

    <wsdl:message name="updateAccountResponse">
        <wsdl:part name="response" element="tns:updateAccountResponse"/>
    </wsdl:message>

    <wsdl:message name="fetchAccountResponse">
        <wsdl:part name="response" element="tns:fetchAccountResponse"/>
    </wsdl:message>

    <wsdl:message name="cancelAccountResponse">
        <wsdl:part name="response" element="tns:cancelAccountResponse"/>
    </wsdl:message>

    <wsdl:message name="listAccountsResponse">
        <wsdl:part name="response" element="tns:listAccountsResponse"/>
    </wsdl:message>

    <wsdl:message name="createUserResponse">
        <wsdl:part name="response" element="tns:createUserResponse"/>
    </wsdl:message>

    <wsdl:message name="updateUserResponse">
        <wsdl:part name="response" element="tns:updateUserResponse"/>
    </wsdl:message>

    <wsdl:message name="grantAccessResponse">
        <wsdl:part name="response" element="tns:grantAccessResponse"/>
    </wsdl:message>

    <wsdl:message name="revokeAccessResponse">
        <wsdl:part name="response" element="tns:revokeAccessResponse"/>
    </wsdl:message>

    <wsdl:message name="addFundsResponse">
        <wsdl:part name="response" element="tns:addFundsResponse"/>
    </wsdl:message>

    <wsdl:message name="addCreditCardResponse">
        <wsdl:part name="response" element="tns:addCreditCardResponse"/>
    </wsdl:message>

    <wsdl:portType name="AccountService">
        <wsdl:operation name="createAccount">
            <wsdl:input message="tns:createAccountRequest"/>
            <wsdl:output message="tns:createAccountResponse"/>
        </wsdl:operation>

        <wsdl:operation name="updateAccount">
            <wsdl:input message="tns:updateAccountRequest"/>
            <wsdl:output message="tns:updateAccountResponse"/>
        </wsdl:operation>

        <wsdl:operation name="fetchAccount">
            <wsdl:input message="tns:fetchAccountRequest"/>
            <wsdl:output message="tns:fetchAccountResponse"/>
        </wsdl:operation>

        <wsdl:operation name="listAccounts">
            <wsdl:input message="tns:listAccountsRequest"/>
            <wsdl:output message="tns:listAccountsResponse"/>
        </wsdl:operation>

<!-- This is being removed from the interface
        <wsdl:operation name="cancelAccount">
            <wsdl:input message="tns:cancelAccount"/>
            <wsdl:output message="tns:cancelAccountResponse"/>
        </wsdl:operation>
        -->

        <wsdl:operation name="createUser">
            <wsdl:input message="tns:createUserRequest"/>
            <wsdl:output message="tns:createUserResponse"/>
        </wsdl:operation>

        <wsdl:operation name="updateUser">
            <wsdl:input message="tns:updateUserRequest"/>
            <wsdl:output message="tns:updateUserResponse"/>
        </wsdl:operation>

        <wsdl:operation name="grantAccess">
            <wsdl:input message="tns:grantAccessRequest"/>
            <wsdl:output message="tns:grantAccessResponse"/>
        </wsdl:operation>

        <wsdl:operation name="revokeAccess">
            <wsdl:input message="tns:revokeAccessRequest"/>
            <wsdl:output message="tns:revokeAccessResponse"/>
        </wsdl:operation>

        <wsdl:operation name="addFunds">
            <wsdl:input message="tns:addFundsRequest"/>
            <wsdl:output message="tns:addFundsResponse"/>
        </wsdl:operation>

        <wsdl:operation name="addCreditCard">
            <wsdl:input message="tns:addCreditCardRequest"/>
            <wsdl:output message="tns:addCreditCardResponse"/>
        </wsdl:operation>
    </wsdl:portType>

    <wsdl:binding name="AccountSOAPBinding" type="tns:AccountService">
        <soap:binding style="document"
                      transport="http://schemas.xmlsoap.org/soap/http"/>

        <wsdl:operation name="createAccount">
          <soap:operation soapAction="createAccount"/>
          <wsdl:input>
            <soap:body use="literal" parts="createAccount"/>
          </wsdl:input>
          <wsdl:output>
            <soap:body use="literal"/>
          </wsdl:output>
        </wsdl:operation>

        <wsdl:operation name="updateAccount">
          <soap:operation soapAction="createAccount"/>
          <wsdl:input>
            <soap:body use="literal" parts="updateAccount"/>
          </wsdl:input>
          <wsdl:output>
            <soap:body use="literal"/>
          </wsdl:output>
        </wsdl:operation>

        <wsdl:operation name="fetchAccount">
          <soap:operation soapAction="createAccount"/>
          <wsdl:input>
            <soap:body use="literal" parts="fetchAccount"/>
          </wsdl:input>
          <wsdl:output>
            <soap:body use="literal"/>
          </wsdl:output>
        </wsdl:operation>

        <wsdl:operation name="listAccounts">
          <soap:operation soapAction="listAccounts"/>
          <wsdl:input>
            <soap:body use="literal" parts="listAccounts"/>
          </wsdl:input>
          <wsdl:output>
            <soap:body use="literal"/>
          </wsdl:output>
        </wsdl:operation>

<!-- This operation should not be exposed to the public, and thus is removed
     from the interface.
        <wsdl:operation name="cancelAccount">
          <soap:operation soapAction="cancelAccount"/>
          <wsdl:input>
            <soap:body use="literal" parts="cancelAccount"/>
          </wsdl:input>
          <wsdl:output>
            <soap:body use="literal"/>
          </wsdl:output>
        </wsdl:operation>
        -->

        <wsdl:operation name="createUser">
          <soap:operation soapAction="createUser"/>
          <wsdl:input>
            <soap:body use="literal" parts="createUser"/>
          </wsdl:input>
          <wsdl:output>
            <soap:body use="literal"/>
          </wsdl:output>
        </wsdl:operation>

        <wsdl:operation name="updateUser">
          <soap:operation soapAction="updateUser"/>
          <wsdl:input>
            <soap:body use="literal" parts="updateUser"/>
          </wsdl:input>
          <wsdl:output>
            <soap:body use="literal"/>
          </wsdl:output>
        </wsdl:operation>

        <wsdl:operation name="grantAccess">
          <soap:operation soapAction="grantAccess"/>
          <wsdl:input>
            <soap:body use="literal" parts="grantAccess"/>
          </wsdl:input>
          <wsdl:output>
            <soap:body use="literal"/>
          </wsdl:output>
        </wsdl:operation>

        <wsdl:operation name="revokeAccess">
          <soap:operation soapAction="revokeAccess"/>
          <wsdl:input>
            <soap:body use="literal" parts="revokeAccess"/>
          </wsdl:input>
          <wsdl:output>
            <soap:body use="literal"/>
          </wsdl:output>
        </wsdl:operation>

        <wsdl:operation name="addFunds">
          <soap:operation soapAction="addFunds"/>
          <wsdl:input>
            <soap:body use="literal" parts="addFunds"/>
          </wsdl:input>
          <wsdl:output>
            <soap:body use="literal"/>
          </wsdl:output>
        </wsdl:operation>

        <wsdl:operation name="addCreditCard">
          <soap:operation soapAction="addCreditCard"/>
          <wsdl:input>
            <soap:body use="literal" parts="addCreditCard"/>
          </wsdl:input>
          <wsdl:output>
            <soap:body use="literal"/>
          </wsdl:output>
        </wsdl:operation>

    </wsdl:binding>

    <wsdl:service name="AccountWebService">
        <wsdl:port name="AccountWebService" binding="tns:AccountSOAPBinding">
            <soap:address
                location="http://plapi.enhance.com/services/AccountWebService"/>
        </wsdl:port>
    </wsdl:service>
</wsdl:definitions>

Attachment: account.xsd
Description: Binary data

Attachment: credentials.xsd
Description: Binary data

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to