RE: [BH] First (Very Rought) Outline of Beyond HTTP

> No, I simply find WSDL confusing and I'm rather ignorant of it. 

Hi Joseph, I also find WSDL confusing... This is the first time for me to
touch 
the WSDL schema in details. I would suggest that we should ask help from
some WSDL 
experts at W3C(?) to validate the proposed WSDL with extensible elements
fragment.

> Cool, that's a good schema for the data instance sent via XForms -- and
that 
> can be included in the WSDL *instance's* wsdl:types. My question is about 
> the WSDL itself. Does WSDL generically allow you to place any old element 
> from a foreign namespace in it's instance? (I don't think so.) If it does 
> permit this, does it require you to first provide a schema to validate the

> augmented instance? I think so because of this in the WSDL schema:

Yes, it is true for the second question. You can see a use case here:
http://aspn.activestate.com/ASPN/Mail/Message/WSDL/832328

Thanks for your revised schema for "my:Privacy." Overall, we should have
something
like these + the XForm fragment:

http://registry.example.com/2003/wsdlext.xsd
============================================

<xsd:schema
  targetNamespace="http://registry.example.com/2003/wsdlext"
  xmlns:my="http://registry.example.com/2003/wsdlext"
  xmlns:xsd="http://www.w3.org/2001/XMLSchema"
  xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
  elementFormDefault="qualified">
  
  <xsd:import
  namespace="http://schemas.xmlsoap.org/wsdl/"
  schemaLocation="http://schemas.xmlsoap.org/wsdl/" />
  
  <xsd:element name="my:Privacy"
    substitutionGroup="wsdl:globalExt">
    <xsd:complexType>
      <xsd:complexContent>
        <xsd:extension base="wsdl:tExtensibilityElement">
          <xsd:sequence />
          <xsd:attribute name="rel"  type="xsd:string" use="required"/>
          <xsd:attribute name="href" type="xsd:anyURI" use="required"/>
        </xsd:extension>
      </xsd:complexContent>
    </xsd:complexType>
  </xsd:element>

</xsd:schema>


http://registry.example.com/2003/ns1.xsd
========================================

<schema targetNamespace="http://registry.example.com/2003/ns1"
  xmlns="http://www.w3.org/2000/10/XMLSchema">

  <complexType name="OrderInfo">
    <all>
      <complexType name="PersonalInfo">
        <all>
          <complexType name="Name">
            <all>
              <element name="First" type="string"/>
              <element name="Middle" type="string"/>
              <element name="Last" type="string"/>
            </all>
          </complexType>        
          <complexType name="Address">
            <all>
              <element name="Street" type="string"/>
              <element name="City" type="string"/>
              <element name="State" type="string"/>
              <element name="Zip" type="string"/>
            </all>
          </complexType>
        </all>
      </complexType>
      <complexType name="DomainInfo">
        <all>
          <element name="TLD" type="string"/>
          <element name="DomainName" type="string"/>
        </all>
      </complexType> 
    </all>
  </complexType>

  <element name="RegistrationStatus" type="string"/>

</schema>


http://registry.example.com/2003/registerservice.wsdl
=====================================================

<?xml version="1.0" encoding="utf-8" ?>
<definitions name="RegisterService"
  targetNamespace="http://registry.example.com/2003/definitions"
        xmlns:tns="http://registry.example.com/2003/definitions"
         xmlns:my="http://registry.example.com/2003/wsdlext.xsd"
       xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
            xmlns="http://schemas.xmlsoap.org/wsdl/">

  <import namespace="http://registry.example.com/2003/ns1"
           location="http://registry.example.com/2003/ns1.xsd"/>

  <my:Privacy my:rel="P3Pv1"
my:href="http://registry.example.com/P3P/PolicyReferences.xml"/>

  <message name="RegisterDomainNameInput">
    <part name="body" element="tns:OrderInfo"/>
  </message>

  <message name="RegisterDomainNameOutput">
    <part name="body" element="tns:RegistrationStatus"/>
  </message>

  <portType name="RegisterDomainNamePortType">
    <operation name="RegisterDomainName">
      <input message="tns:RegisterDomainNameInput"/>
      <output message="tns:RegisterDomainNameOutput"/>
    </operation>
  </portType>

  <binding name="RegisterDomainNameSoapBinding"
type="tns:RegisterDomainNamePortType">
    <soap:binding style="document"
transport="http://schemas.xmlsoap.org/soap/http"/>
    <operation name="RegisterDomainName">
      <soap:operation
soapAction="http://registry.example.com/RegisterService/RegisterDomainName"/
>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
  </binding>

  <service name="RegisterService">
    <documentation>Register Service</documentation>
    <port name="RegisterDomainNamePort"
binding="tns:RegisterDomainNameSoapBinding">
      <soap:address location="http://registry.example.com/RegisterService"/>
    </port>
  </service>

</definitions>

Received on Thursday, 15 May 2003 01:12:09 UTC