Comments inline below between <rjb>...</rjb>

Russell Butek
[EMAIL PROTECTED]


"Houman Moshtagh" <[EMAIL PROTECTED]> on 05/17/2002 02:25:54 AM

Please respond to [EMAIL PROTECTED]

To:    <[EMAIL PROTECTED]>
cc:
Subject:    Re: WSDL2Java against a WSDL file from MS Soap





Hello Russel,





Below I've paste the WSDL file.



I get from this WSDL file not the usual 4 files with the same context.



-          CreateCOM.java  -->  First line it extends javax.xml.rpc.Service
instead of java.rmi.Remote

<rjb>
Why should this extend java.rmi.Remote?  It is the service interface.  It
gets its name from the service clause in the WSDL.
</rjb>

-          CreateCOMLocator.java --> Looks like the same as
<classname>ServiceLocator.java

<rjb>
?  What's this "<classname>ServiceLocator.java" that you refer to?  This is
the <serviceName>Locator class which is the implementation for the service
interface above.
</rjb>

-          CreateCOMSoapPort.java --> Looks like the same as
<classname>Service.java but it extends javax.xml.rpc.Service instead of
java.rmi.Remote

<rjb>
This is the interface that the stub implements.  It gets its name from the
portType clause in the WSDL.
</rjb>

-          CreateCOMSoapBindingStub.java --> never used before.

<rjb>
"Never used before"?  What do you mean?  We've always had stubs.  They
implement the portTypeinterface and allow you to make remote calls.  You
don't necessarily program to them (you typically only program to the
interface) but they've always been there.
</rjb>





I'm not sure, maybe I have to use the SoapBindingStub.java.



Thanks a lot

Houman









CreateCOM.java:



package org.tempuri;



public interface CreateCOM extends javax.xml.rpc.Service

    public String getCreateCOMSoapPortAddress();



    public org.tempuri.CreateCOMSoapPort getCreateCOMSoapPort() throws
javax.xml.rpc.ServiceException;



    public org.tempuri.CreateCOMSoapPort getCreateCOMSoapPort(java.net.URL
portAddress) throws javax.xml.rpc.ServiceException;

}















CreateCOMSoapPort.java:



package org.tempuri;



public interface CreateCOMSoapPort extends java.rmi.Remote

    public java.lang.Object makeConnection(java.lang.String uid,
java.lang.String password) throws java.rmi.RemoteException;

}













CreateCOMLocator.java:



package org.tempuri;



public class CreateCOMLocator extends org.apache.axis.client.Service
implements org.tempuri.CreateCOM {



    // Use to get a proxy class for CreateCOMSoapPort

    private final java.lang.String CreateCOMSoapPort_address = "
http://localhost/server/CreateCOM.ASP";;



    public String getCreateCOMSoapPortAddress() {

        return CreateCOMSoapPort_address;

    }



    public org.tempuri.CreateCOMSoapPort getCreateCOMSoapPort() throws
javax.xml.rpc.ServiceException {

       java.net.URL endpoint;

        try {

            endpoint = new java.net.URL(CreateCOMSoapPort_address);

        }

        catch (java.net.MalformedURLException e) {

            return null; // unlikely as URL was validated in WSDL2Java

        }

        return getCreateCOMSoapPort(endpoint);

    }



    public org.tempuri.CreateCOMSoapPort getCreateCOMSoapPort(java.net.URL
portAddress) throws javax.xml.rpc.ServiceException {

        try {

            return new org.tempuri.CreateCOMSoapBindingStub(portAddress,
this);

        }

        catch (org.apache.axis.AxisFault e) {

            return null; // ???

        }

    }



    /**

     * For the given interface, get the stub implementation.

     * If this service has no port for the given interface,

     * then ServiceException is thrown.

     */

    public java.rmi.Remote getPort(Class serviceEndpointInterface) throws
javax.xml.rpc.ServiceException {

        try {

            if
(org.tempuri.CreateCOMSoapPort.class.isAssignableFrom(serviceEndpointInterface))



                return new org.tempuri.CreateCOMSoapBindingStub(new
java.net.URL(CreateCOMSoapPort_address), this);

            }

        }

        catch (Throwable t) {

            throw new javax.xml.rpc.ServiceException(t);

        }

        throw new javax.xml.rpc.ServiceException("There is no stub
implementation for the interface:  " + (serviceEndpointInterface == null ?
"null" : serviceEndpointInterface.getName()));

    }



}

















WSDL File:



<?xml version='1.0' encoding='UTF-8' ?>

 <!-- Generated 05/03/02by Microsoft SOAP Toolkit WSDL File Generator,
Version 1.02.813.0 -->

<definitions  name ='CreateCOM'   targetNamespace
= 'http://tempuri.org/wsdl/'

       xmlns:wsdlns='http://tempuri.org/wsdl/'

       xmlns:typens='http://tempuri.org/type'

       xmlns:soap='http://schemas.xmlsoap.org/wsdl/soap/'

       xmlns:xsd='http://www.w3.org/2001/XMLSchema'

       xmlns:stk='http://schemas.microsoft.com/soap-toolkit/wsdl-extension'

       xmlns='http://schemas.xmlsoap.org/wsdl/'>

  <types>

    <schema targetNamespace='http://tempuri.org/type'

      xmlns='http://www.w3.org/2001/XMLSchema'

      xmlns:SOAP-ENC='http://schemas.xmlsoap.org/soap/encoding/'

      xmlns:wsdl='http://schemas.xmlsoap.org/wsdl/'

      elementFormDefault='qualified'>

    </schema>

  </types>

  <message name='CreateCOM.makeConnection'>

    <part name='uid' type='xsd:string'/>

    <part name='password' type='xsd:string'/>

  </message>

  <message name='CreateCOM.makeConnectionResponse'>

    <part name='Result' type='xsd:anyType'/>

  </message>

  <portType name='CreateCOMSoapPort'>

    <operation name='makeConnection' parameterOrder='uid password'>

      <input message='wsdlns:CreateCOM.makeConnection' />

      <output message='wsdlns:CreateCOM.makeConnectionResponse' />

    </operation>

  </portType>

  <binding name='CreateCOMSoapBinding' type='wsdlns:CreateCOMSoapPort' >

    <stk:binding preferredEncoding='UTF-8'/>

    <soap:binding style='rpc' transport
='http://schemas.xmlsoap.org/soap/http' />

    <operation name='makeConnection' >

      <soap:operation soapAction
='http://tempuri.org/action/CreateCOM.makeConnection' />

      <input>

        <soap:body use='encoded' namespace='http://tempuri.org/message/'

              encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' />

      </input>

      <output>

        <soap:body use='encoded' namespace='http://tempuri.org/message/'

              encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' />

      </output>

    </operation>

  </binding>

  <service name='CreateCOM' >

    <port name='CreateCOMSoapPort' binding='wsdlns:CreateCOMSoapBinding' >

      <soap:address location='http://localhost/server/CreateCOM.ASP' />

    </port>

  </service>

</definitions>




Reply via email to