Hi,

I've been given an old, undocumented, code for which I have to upgrade the WSDL and then develop using new services. (Axis1, NOT Axis2)

Already generated methods have many classes (v1 directory):

OldServiceFault.java
OldService_PortType.java
OldServiceProxy.java
OldService_Service.java
OldService_ServiceLocator.java
OldServiceSOAPSoapBindingStub.java
OldServiceSOAPStub.java


on the new generated one:
NewServiceFault.java
NewService_PortType.java
NewService_Service.java
NewService_ServiceLocator.java
NewServiceSOAPStub.java


SoapBindingStub and Proxy classes are missing and I need them.

OldServiceSOAPSoapBindingStub.java and OldServiceSOAPStub.java are very similar, but the latter has addBinding0, addBinding1 methods with more QNames definitions, something like:

******
qName = new javax.xml.namespace.QName("http://my.wsdl.com/namespace";, "SomeType");
            cachedSerQNames.add(qName);
            cls = java.math.BigInteger.class;
            cachedSerClasses.add(cls);

cachedSerFactories.add(org.apache.axis.encoding.ser.BaseSerializerFactory.createFactory(org.apache.axis.encoding.ser.SimpleSerializerFactory.class, cls, qName));

cachedDeserFactories.add(org.apache.axis.encoding.ser.BaseDeserializerFactory.createFactory(org.apache.axis.encoding.ser.SimpleDeserializerFactory.class, cls, qName));
******

on the other end the Proxy class do not resemble other classes, it implement the _PortType interface and apparently is used as a decorator to the BindingStub class that limit itself only to override the endpoint:

****
  public OldServiceProxy(String endpoint) {
    _endpoint = endpoint;
    _initOldServiceProxy();
  }

  private void _initOldServiceProxy() {
    try {
oldService_PortType = (new my.package.OldService_ServiceLocator()).getOldServiceSOAP();
      if (oldService_PortType != null) {
        if (_endpoint != null)

((javax.xml.rpc.Stub)oldService_PortType)._setProperty("javax.xml.rpc.service.endpoint.address", _endpoint);
        else
_endpoint = (String)((javax.xml.rpc.Stub)oldService_PortType)._getProperty("javax.xml.rpc.service.endpoint.address");
      }

    }
    catch (javax.xml.rpc.ServiceException serviceException) {}
  }
***

for every other methods it delegate to the service returned by the locator.

I've no experience in axis and googled a lot (even tried to study the axis 1.4 source code) before coming here to ask.


My question is: how do I generate those two classes?

thank you very much in advance
Regards
Daniele Segato

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to