cancel
Showing results for 
Search instead for 
Did you mean: 

Service call Exception : ClassNotFoundException XMLTokenReader

Former Member
0 Kudos

Hi All,

I am trying to call a webservice using a StandAloneProxy generated by Netweaver. <b>The call works fine when called from a POJO.</b> But when deployed and called from a jsp page, it returns the following error. I've included sapxmltoolkit.jar that holds XMLTokenReader class but to no avail.

<i>java.rmi.RemoteException: Service call exception; nested exception is:

java.lang.ClassNotFoundException: com.sap.engine.lib.xml.parser.tokenizer.XMLTokenReader

Found in negative cache

-


Loader Info -


ClassLoader name: [rim.com/eSellingWebAppFS]

Parent loader name: [Frame ClassLoader]

References:

common:service:http;service:servlet_jsp

service:ejb

common:service:iiop;service:naming;service:p4;service:ts

service:jmsconnector

library:jsse

library:servlet

common:library:IAIKSecurity;library:activation;library:mail;library:tcsecssl

library:ejb20

library:j2eeca

library:jms

library:opensql

.........</i>

<b>Error causing code:</b>


    Z_ES_CUSTOMER_SEARCHResponse custSearchResponse = new Z_ES_CUSTOMER_SEARCHResponse();
    Z_ES_CUSTOMER_SEARCHServiceImpl serviceImpl = new Z_ES_CUSTOMER_SEARCHServiceImpl();
    Z_ES_CUSTOMER_SEARCHPortType servicePort = serviceImpl.getLogicalPort();
    ((Stub)servicePort)._setProperty(javax.xml.rpc.Stub.USERNAME_PROPERTY,authUsername);
    ((Stub)servicePort)._setProperty(javax.xml.rpc.Stub.PASSWORD_PROPERTY,authPassword);

    Z_ES_CUSTOMER_SEARCH params = new Z_ES_CUSTOMER_SEARCH();
    ZESCRITERIA zescriteriaArr[] = new ZESCRITERIA[criteriaList.size()];
    Iterator criteriaIter = criteriaList.iterator();
    int index = 0;
    while(criteriaIter.hasNext()) {
	SearchCriteria criteria = (SearchCriteria)criteriaIter.next();
	ZESCRITERIA zescriteria = new ZESCRITERIA();
	zescriteria.setOBJECT(SearchCriteria.CUSTOMER_OBJECT);
	zescriteria.setOPERATION(criteria.getSearchOperation());
	zescriteria.setSEARCH_NAME(criteria.getSearchName());
	zescriteria.setHIGH(criteria.getHighValue());
	zescriteria.setLOW(criteria.getLowValue());
	zescriteriaArr[index++] = zescriteria;
    }
    params.setSEARCH_CRITERIA(zescriteriaArr);

    params.setRESULT_SET(new ZESKUNNRHITS[0]);
    params.setRETURN(new BAPIRET2[0]);
    params.setSEARCH_OBJECT(SearchCriteria.CUSTOMER_OBJECT);

    Z_ES_CUSTOMER_SEARCHResponse response = servicePort.z_ES_CUSTOMER_SEARCH(params); <b><<---- ERROR</b>

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

If I Use "Set Additional libraries" and select "webservices" which has sapxmltoolkit.jar.. I get this error above.

If I add the sapxmltoolkit.jar in my project separately then I get the java Likage error saying that it violated the loader constraint.

<b>violates loader constraints java.lang.LinkageError

Class com/sap/engine/lib/xml/parser/tokenizer/XMLTokenReader violates loader constraints</b>

Whats wrong?

Former Member
0 Kudos

We have come across exactly the same problem, but with a "deployable proxy". We are using stack 16.

We are calling a web service exposed by BW, and the response seems to generate this documented error.

(please see error info below)

Has anyone else come across this problem, and more importantly, the solution?

If you need more technical specs, I can provide it.

Thanks in advance !

**********************************************************

HTTP/1.1 500 Internal Server Error

Connection: close

Server: SAP J2EE Engine/6.40

Content-Type: text/xml; charset=UTF-8

Date: Thu, 04 May 2006 15:36:26 GMT

<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>SOAP-ENV:Client</faultcode><faultstring>Erreur lors de l'appel du proxy BW

java.rmi.RemoteException: Service call exception; nested exception is:

java.lang.ClassNotFoundException: com.sap.engine.lib.xml.parser.tokenizer.XMLTokenReader

Found in negative cache

-


Loader Info -


ClassLoader name: [sap.com/TestBWProxy]

Parent loader name: [Frame ClassLoader]

References:

common:service:http;service:servlet_jsp

service:ejb

common:service:iiop;service:naming;service:p4;service:ts

service:jmsconnector

library:jsse

library:servlet

common:library:IAIKSecurity;library:activation;library:mail;library:tcsecssl

library:ejb20

library:j2eeca

library:jms

library:opensql

common:library:com.sap.security.api.sda;library:com.sap.security.core.sda;library:security.class;library:webservices_lib;service:adminadapter;service:basicadmin;service:com.sap.security.core.ume.service;service:configuration;service:connector;service:dbpool;service:deploy;service:jmx;service:jmx_notification;service:keystore;service:security;service:userstore

interface:resourcecontext_api

interface:webservices

interface:cross

interface:ejbserialization

Resources:

/usr/sap/DA1/DVEBMGS91/j2ee/cluster/server0/apps/sap.com/TestBWProxy/webservices_container/wsClients/ws_cl_0/jars/com.hydroquebec.test.bw.proxy.BWProxy.jar

/usr/sap/DA1/DVEBMGS91/j2ee/cluster/server0/apps/sap.com/TestBWProxy/webservices_container/wsClients/app_jars/TestBWProxy.jar

Loading model: {parent,references,local}

-


at com.hydroquebec.test.bw.proxy.Z_RRW3_GET_QUERY_VIEW_DATASoapBindingStub.RRW3_GET_QUERY_VIEW_DATA(Z_RRW3_GET_QUERY_VIEW_DATASoapBindingStub.java:98)

at com.hydroquebec.test.bw.ejb.TestBWBean.getQueryData3(TestBWBean.java:93)

at com.hydroquebec.test.bw.ejb.TestBWLocalLocalObjectImpl0.getQueryData3(TestBWLocalLocalObjectImpl0.java:177)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

at java.lang.reflect.Method.invoke(Method.java:324)

at com.sap.engine.services.webservices.runtime.EJBImplementationContainer.invokeMethod(EJBImplementationContainer.java:126)

at com.sap.engine.services.webservices.runtime.RuntimeProcessor.process(RuntimeProcessor.java:157)

at com.sap.engine.services.webservices.runtime.RuntimeProcessor.process(RuntimeProcessor.java:79)

at com.sap.engine.services.webservices.runtime.servlet.ServletDispatcherImpl.doPost(ServletDispatcherImpl.java:92)

at SoapServlet.doPost(SoapServlet.java:51)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)

at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:390)

at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:264)

at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:347)

at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:325)

at com.sap.engine.services.httpserver.server.RequestAnalizer.invokeWebContainer(RequestAnalizer.java:887)

at com.sap.engine.services.httpserver.server.RequestAnalizer.handle(RequestAnalizer.java:241)

at com.sap.engine.services.httpserver.server.Client.handle(Client.java:92)

at com.sap.engine.services.httpserver.server.Processor.request(Processor.java:148)

at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:33)

at com.sap.engine.core.cluster.impl6.session.MessageRunner.run(MessageRunner.java:41)

at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)

at java.security.AccessController.doPrivileged(Native Method)

at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:100)

at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:170)

Caused by: java.lang.ClassNotFoundException: com.sap.engine.lib.xml.parser.tokenizer.XMLTokenReader

Found in negative cache

-


Loader Info -


ClassLoader name: [sap.com/TestBWProxy]

Parent loader name: [Frame ClassLoader]

References:

common:service:http;service:servlet_jsp

service:ejb

common:service:iiop;service:naming;service:p4;service:ts

service:jmsconnector

library:jsse

library:servlet

common:library:IAIKSecurity;library:activation;library:mail;library:tcsecssl

library:ejb20

library:j2eeca

library:jms

library:opensql

common:library:com.sap.security.api.sda;library:com.sap.security.core.sda;library:security.class;library:webservices_lib;service:adminadapter;service:basicadmin;service:com.sap.security.core.ume.service;service:configuration;service:connector;service:dbpool;service:deploy;service:jmx;service:jmx_notification;service:keystore;service:security;service:userstore

interface:resourcecontext_api

interface:webservices

interface:cross

interface:ejbserialization

Resources:

/usr/sap/DA1/DVEBMGS91/j2ee/cluster/server0/apps/sap.com/TestBWProxy/webservices_container/wsClients/ws_cl_0/jars/com.hydroquebec.test.bw.proxy.BWProxy.jar

/usr/sap/DA1/DVEBMGS91/j2ee/cluster/server0/apps/sap.com/TestBWProxy/webservices_container/wsClients/app_jars/TestBWProxy.jar

Loading model: {parent,references,local}

-


at com.sap.engine.frame.core.load.ReferencedLoader.loadClass(ReferencedLoader.java:348)

at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:302)

at com.sap.engine.services.webservices.jaxrpc.encoding.SimpleValidator.checkMaxLengthString(SimpleValidator.java:77)

at com.hydroquebec.test.bw.proxy.types.Char22.deserialize(Char22.java:36)

at com.sap.engine.services.webservices.jaxrpc.encoding.InstanceBuilder.readElement(InstanceBuilder.java:603)

at com.sap.engine.services.webservices.jaxrpc.encoding.InstanceBuilder.readSequence(InstanceBuilder.java:829)

at com.sap.engine.services.webservices.jaxrpc.encoding.InstanceBuilder.readContent(InstanceBuilder.java:955)

at com.sap.engine.services.webservices.jaxrpc.encoding.GeneratedComplexType.deserialize(GeneratedComplexType.java:1723)

at com.sap.engine.services.webservices.jaxrpc.encoding.DocumentArrayBuilder.readContent(DocumentArrayBuilder.java:82)

at com.sap.engine.services.webservices.jaxrpc.encoding.GeneratedComplexType.deserialize(GeneratedComplexType.java:1656)

at com.sap.engine.services.webservices.jaxrpc.encoding.InstanceBuilder.readElement(InstanceBuilder.java:603)

at com.sap.engine.services.webservices.jaxrpc.encoding.InstanceBuilder.readSequence(InstanceBuilder.java:829)

at com.sap.engine.services.webservices.jaxrpc.encoding.InstanceBuilder.readContent(InstanceBuilder.java:955)

at com.sap.engine.services.webservices.jaxrpc.encoding.GeneratedComplexType.deserialize(GeneratedComplexType.java:1723)

at com.sap.engine.services.webservices.jaxrpc.wsdl2java.soapbinding.MimeHttpBinding.getResponseDocument(MimeHttpBinding.java:1104)

at com.sap.engine.services.webservices.jaxrpc.wsdl2java.soapbinding.MimeHttpBinding.call(MimeHttpBinding.java:1432)

at com.hydroquebec.test.bw.proxy.Z_RRW3_GET_QUERY_VIEW_DATASoapBindingStub.RRW3_GET_QUERY_VIEW_DATA(Z_RRW3_GET_QUERY_VIEW_DATASoapBindingStub.java:86)

... 27 more

</faultstring><detail><ns1:getQueryData3_com.hydroquebec.sap.integration.infra.ExceptionTransactionSAP xmlns:ns1='urn:TestBWWsd/TestBWVi'></ns1:getQueryData3_com.hydroquebec.sap.integration.infra.ExceptionTransactionSAP></detail></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>

Former Member
0 Kudos

I tried a bunch of things to colve this problem but to no avail. It seems to be some kind of Class Loader conflict, although I gave up and used Sun's Webservices proxy. It worked like a charm.

Former Member
0 Kudos

Hi

Include a reference of WebServices and sapxmltoolkit j2ee library of your ear project in application.xml. This will solve the problem

Hope this helps , if yes please do not forget to reward points.

regards

rajeshkr

Message was edited by: Rajesh K. R.

Answers (0)