axis-java-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Daniele Segato <daniele.seg...@gmail.com>
Subject Axis1 1.4 - How do I generate BindingStub and Proxy for endpoint overriding?
Date Wed, 29 Aug 2012 18:16:14 GMT
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: java-user-unsubscribe@axis.apache.org
For additional commands, e-mail: java-user-help@axis.apache.org


Mime
View raw message