[kepler-dev] Web Service Stub security error .......tried to access field org.apache.xpath.compiler.FunctionTable.m_functions from class org.apache.xml.security.Init

jagan Jagan.Kommineni at infotech.monash.edu.au
Sun Dec 12 14:48:59 PST 2004


Hi,

Since Java version 1.4.2_05, Java has included an out-of-date version of 
Xalan. By copying jar file of the new version of Xalan (overriding the 
version of Xalan of Java 1.4.2_05) into the $HOME/lib/endorsed, I was 
able to sort out this problem.

with regards,

Jagan Kommineni

jagan wrote:

> When I run run_ws() function as part of kepler actor I am getting 
> error message whereas when I run as java application, I am not getting 
> any error message. The error message is as shown below,
> =============================================================
> $ java -version
> java version "1.4.2_05"
> Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2_05-b04)
> Java HotSpot(TM) Client VM (build 1.4.2_05-b04, mixed mode)
> ============================================================
> I am running application with axis-1_2RC1 library jars. I tried to 
> keep these jars infront of other jars which are part kepler 
> deployment. Even then I didn't have any luck.
>
> Currently there is no security  over the side of  web service  but I 
> am getting error  message relating to WSSecurity.
> Would some body can help to fix this problem?.
> with regards,
>
> Jagan Kommineni
> ==============================================================
> Part Kepler Actor:
> ============== public void fire() throws IllegalActionException {
>    super.fire();
>    run_ws()
>    }
> ==============================================
> Part of  Application:
> ================
> public static void main(String [] args) {
>
>    WebServiceStub wsStub = new WebServiceStub();
>                   wsStub.run_ws();
>  }
> ========================================================
> void run_ws()
>  {       _urlStr = new 
> String("http://mahar.csse.monash.edu.au:43900/axis/services/AxisGns?wsdl"); 
>
>    _methodNameStr = new String("getFileLocation");
>    try {
>    _wsdlParser.run( _urlStr);
>    }
>    catch (Exception ex) {
>      System.out.println("<EXCEPTION> There was an error while parsing 
> the WSDL in fire. "
>             + ex + ". </EXCEPTION>");
>    }
>    getServiceBinding();
>    try {
>      SymbolTable symbolTable =  _wsdlParser.getSymbolTable();
>      BindingEntry bEntry = 
> symbolTable.getBindingEntry(_binding.getQName());
>      Operation operation = null;
>      Parameters parameters = null;
>      Iterator iter = bEntry.getParameters().keySet().iterator();
>      for (; iter.hasNext(); ) {
>        Operation oper = (Operation) iter.next();
>        if (oper.getName().equals( _methodNameStr)) {
>          operation = oper;
>          parameters = (Parameters) bEntry.getParameters().get(oper);
>        }
>      }
>          try {
>      System.out.println("I am jagan before creating service \n");
>      org.apache.axis.client.Service myServiceClient =
>          new org.apache.axis.client.Service( _wsdlParser,  
> _service.getQName());
>      System.out.println("Method name in fire: " +  _methodNameStr);
>      System.out.println("The method name "+ _methodNameStr);
>       _call = myServiceClient.createCall(QName.valueOf( _portName),
>                                         QName.valueOf( _methodNameStr));
>      System.out.println( _call.getClass().getName() + "Call 
> implementation");
>
>      ( (org.apache.axis.client.Call)   _call).setTimeout(new 
> Integer(600000));
>  
>  /*
>  System.out.println("<USERNAME> " + userName.stringValue() + " 
> </USERNAME>");
>  _call.setProperty(Call.USERNAME_PROPERTY, userName.stringValue());
>  System.out.println("<PASSWORD> " + password.stringValue() + " 
> </PASSWORD>");
>  _call.setProperty(Call.PASSWORD_PROPERTY, password.stringValue());
>  */
>  System.out.println("The before call invoke \n");
>  System.out.println("Starting the invoke!");
>  //Element invokeResult = (Element) call.invoke(objArr);
>  Object invokeResult = _call.invoke(new Object[] 
> {"CCAM1:mahar.csse.monash.edu.au:/u/cluster2/postg/jagan/John/qsb_amipxx-OUT/globamxx.197901", 
> new Integer(1)});
>      System.out.println("Got resuts from the invoke ........\n");  
>      System.out.println("Got results from the invoke..."+ invokeResult);
>
>    }
>    catch (ServiceException se) {
>      System.out.println("<EXCEPTION> Service exception in fire() 
> method: "
>             + se.getMessage() + ". </EXCEPTION>");
>    }
>    catch (java.rmi.RemoteException rex) {
>      System.out.println("<EXCEPTION> Remote exception in fire() method: "
>             + rex.getMessage() + ". </EXCEPTION>");
>                }
>    }
>    catch (Exception ex) {
>          System.out.println("<EXCEPTION> Remote exception in fire() 
> method: "
>               + ex.getMessage() + ". </EXCEPTION>");
>          }
>  
>   }
> =============================================================
> Error message:
> ===========================================================
>     [java] I am jagan before creating service
>
>     [java] Method name in fire: getFileLocation
>     [java] The method name getFileLocation
>     [java] org.apache.axis.client.CallCall implementation
>     [java] The before call invoke
>
>     [java] Starting the invoke!
>     [java] java.lang.RuntimeException: java.lang.IllegalAccessError: 
> tried to a
> ccess field org.apache.xpath.compiler.FunctionTable.m_functions from 
> class org.a
> pache.xml.security.Init
>     [java]     at 
> ptolemy.actor.process.ProcessThread.run(ProcessThread.java:21
> 9)
>     [java] Caused by: java.lang.IllegalAccessError: tried to access 
> field org.a
> pache.xpath.compiler.FunctionTable.m_functions from class 
> org.apache.xml.securit
> y.Init
>     [java]     at org.apache.xml.security.Init.init(Unknown Source)
>     [java]     at 
> org.globus.ogsa.impl.security.authentication.wssec.WSSecurity
> Engine.<clinit>(WSSecurityEngine.java:55)
>     [java]     at 
> org.globus.ogsa.impl.security.authentication.wssec.WSSecurity
> ClientHandler.handleResponse(WSSecurityClientHandler.java:51)
>     [java]     at 
> org.apache.axis.handlers.HandlerChainImpl.handleResponse(Hand
> lerChainImpl.java:153)
>     [java]     at 
> org.apache.axis.handlers.JAXRPCHandler.invoke(JAXRPCHandler.j
> ava:84)
>     [java]     at 
> org.globus.ogsa.utils.JAXRPCHandler.invoke(JAXRPCHandler.java
> :16)
>     [java]     at 
> org.apache.axis.strategies.InvocationStrategy.visit(Invocatio
> nStrategy.java:71)
>     [java]     at 
> org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:150)
>     [java]     at 
> org.apache.axis.SimpleChain.invoke(SimpleChain.java:120)
>     [java]     at 
> org.apache.axis.client.AxisClient.invoke(AxisClient.java:193)
>
>     [java]     at 
> org.apache.axis.client.Call.invokeEngine(Call.java:2564)
>     [java]     at org.apache.axis.client.Call.invoke(Call.java:2553)
>     [java]     at org.apache.axis.client.Call.invoke(Call.java:2248)
>     [java]     at org.apache.axis.client.Call.invoke(Call.java:2171)
>     [java]     at org.apache.axis.client.Call.invoke(Call.java:1691)
>     [java]     at 
> org.sdm.spa.WebServiceStub.fire(WebServiceStub.java:300)
>     [java]     at 
> ptolemy.actor.process.ProcessThread.run(ProcessThread.java:18
> 1)
> =========================================================
> $ java WebServiceStub
> I am jagan before creating service
>
> Method name in fire: getFileLocation
> The method name getFileLocation
> org.apache.axis.client.CallCall implementation
> The before call invoke
>
> Starting the invoke!
> Got resuts from the invoke ........
>
> Got results from the invoke...mahar.csse.monash.edu.au:43900:W:75:1:e
>
> jagan at mohan ~/griddles/webservices/axis/client
> $
> ===========================================
>
> _______________________________________________
> kepler-dev mailing list
> kepler-dev at ecoinformatics.org
> http://www.ecoinformatics.org/mailman/listinfo/kepler-dev





More information about the Kepler-dev mailing list