Operating System - OpenVMS
cancel
Showing results for 
Search instead for 
Did you mean: 

Axis2 port missing method?

 
Shasta Willson
Occasional Contributor

Axis2 port missing method?

I have a class which extends org.apache.axis2.client.Stub

This class uses the addAnonymousOperations() method, which works fine on my Vista box and is also present in this Axis2 API: http://www.docjar.com/docs/api/org/apache/axis2/client/Stub.html#addAnonymousOperations

But on OpenVMS running the jar with that class in it gives me this error:

java.lang.NoSuchMethodError: org.redacted.myStub.addAnonymousOperations()V

After confirming that the expected axis2 .jar was present and on the classpath, I wrote a jartester:

--------------------------
-------------------------------------------------
import java.lang.reflect.Method;

public class JarTester {

public static void main(String [] args)
throws java.lang.ClassNotFoundException, java.lang.NoSuchMethodException
{
Class obj = Class.forName("org.apache.axis2.client.Stub");
Method [] methods = obj.getDeclaredMethods();
for (int i=0;i System.out.println(methods[i]);
System.out.println(obj.getSuperclass() + ": superclass");
System.out.println(obj.getPackage() + ": package");
}
}
--------------------------------------------------

I get this :
------------------------------------------------
protected void org.apache.axis2.client.Stub.finalize() throws
java.lang.Throwable
protected static org.apache.axiom.soap.SOAPFactory
org.apache.axis2.client.Stub.getFactory(java.lang.String)
public void org.apache.axis2.client.Stub.cleanup() throws
org.apache.axis2.AxisFault
public org.apache.axis2.client.ServiceClient
org.apache.axis2.client.Stub._getServiceClient()
public void org.apache.axis2.client.Stub._setServiceClient(org.apache.axis2.client.ServiceClient)
protected static org.apache.axiom.soap.SOAPEnvelope
org.apache.axis2.client.Stub.createEnvelope(org.apache.axis2.client.Options)
throws org.apache.axiom.soap.SOAPProcessingException
protected void org.apache.axis2.client.Stub.setServiceClientEPR(java.lang.String)
protected void org.apache.axis2.client.Stub.addHttpHeader(org.apache.axis2.context.MessageContext,java.lang.String,java.lang.String)
protected void org.apache.axis2.client.Stub.addPropertyToOperationClient(org.apache.axis2.client.OperationClient,java.lang.String,java.lang.Object)
protected void org.apache.axis2.client.Stub.addPropertyToOperationClient(org.apache.axis2.client.OperationClient,java.lang.String,boolean)
protected void org.apache.axis2.client.Stub.addPropertyToOperationClient(org.apache.axis2.client.OperationClient,java.lang.String,int)
protected void org.apache.axis2.client.Stub.setMustUnderstand(org.apache.axiom.om.OMElement,org.apache.axiom.om.OMNamespace)
protected void org.apache.axis2.client.Stub.addHeader(org.apache.axiom.om.OMElement,org.apache.axiom.soap.SOAPEnvelope,boolean)
protected void org.apache.axis2.client.Stub.addHeader(org.apache.axiom.om.OMElement,org.apache.axiom.soap.SOAPEnvelope)
class java.lang.Object: superclass
package org.apache.axis2.client: package

-----------------------------------------------

Notice that it confirms the package I'm looking at is org.apache.axis2.client, however there is NO method in there by the desired name, and that the parent is Object, so it's not from up the chain. It's like the Vista port just missed that method...

Can someone point me in a useful direction? Perhaps I'm tired and have missed something that's glaringly obvious to fresh eyes?

- Shasta
3 REPLIES 3
H.Becker
Honored Contributor

Re: Axis2 port missing method?

>>> Axis2 port missing method?

Unlikely. It seems to be a native java class, so there is nothing "ported" to VMS.

AXIS2 for VMS is based on "Apache Axis2 1.3 build (10-08-2007)". addAnonymousOperations() looks like a 1.4 method.
Shasta Willson
Occasional Contributor

Re: Axis2 port missing method?

What are you talking about? addAnonymousOperations() is part of the org.apache.axis2.client.Stub class.

At least in some builds -- this morning I found others discussing this as a version specific bug in axis2:

https://issues.apache.org/jira/browse/AXIS2-3658?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12617677#action_12617677

So, looks like it may have more to do with the Axis version than with OpenVMS. I'll be experimenting with commenting out that line and/or judicious replacement of .jars
Shasta Willson
Occasional Contributor

Re: Axis2 port missing method?

Ah...I just figured out your answer -- that since the files are pure-Java there shouldn't be a porting problem.

Agreed, except that Axis2 for VMS is described as a port ( http://www.openvms.compaq.com/openvms/products/ips/axis2/ ) which suggests it wasn't just plunked over, but edited, pure Java or not.